Skip to content
Back to skills

Chore

ASecurity

Capture a simple task that does not need planning (CHORE + TASK in readyToWork by default, or registration-only with --no-task). Use when PM mentions "simple task", "chore", "small task", "housekeeping", "quick task", "мелкая задача", "чора", or any request to log routine work without PRD/SPEC overhead. Trigger liberally — under-triggering pushes tiny work into freeform chat; over-triggering is recoverable (PM can delete).

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agentspythonbash

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add cryndoc/polisade-orchestrator --skill chore --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Chore?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Chore
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cryndoc-chore/badge)](https://www.skillsdirectory.com/skills/cryndoc-chore)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: chore
description: 'Capture a simple task that does not need planning (CHORE + TASK in readyToWork by default, or registration-only with --no-task). Use when PM mentions "simple task", "chore", "small task", "housekeeping", "quick task", "мелкая задача", "чора", or any request to log routine work without PRD/SPEC overhead. Trigger liberally — under-triggering pushes tiny work into freeform chat; over-triggering is recoverable (PM can delete).'
argument-hint: "[описание] [--no-task]"
---

# /polisade:chore [описание] [--no-task] — Простая задача

Быстрое добавление простой задачи, не требующей планирования. По умолчанию
создаёт пару `CHORE + TASK` (TASK идёт в `readyToWork`). Передай `--no-task`,
чтобы **только зарегистрировать** chore без TASK.

## Использование

```
/polisade:chore Увеличить контекстное окно до 128k
/polisade:chore Обновить README с новыми командами
/polisade:chore Удалить неиспользуемые зависимости
/polisade:chore Поправить форматирование в конфиге --no-task   # только регистрация
```

- Default — как раньше: CHORE + TASK сразу. CHORE по определению «< 1 часа,
  очевидная реализация», поэтому «сделать сейчас» — типичное намерение.
- С `--no-task` — только CHORE со статусом `ready`; для последующей
  декомпозиции используй `/polisade:tasks CHORE-XXX`.

## Категории

| Категория | Примеры |
|-----------|---------|
| `config` | Изменение конфигурации, переменных окружения |
| `cleanup` | Удаление мусора, неиспользуемого кода |
| `upgrade` | Обновление версий, миграции |
| `docs` | Обновление документации (не создание новой) |

## Алгоритм

1. **Распарсь args.** Выдели `--no-task` (если есть), остаток склей в описание.
2. **Прочитай `.state/PROJECT_STATE.json`.** Извлеки
   `settings.chore.autoCreateTask` (default: `true` если ключ отсутствует).
3. **Определи `create_task`:**
   - `create_task = settings.chore.autoCreateTask and (not --no-task)`.
   - Флаг `--no-task` побеждает настройку (и наоборот, если настройка
     `false`, то флаг не нужен — TASK и так не создастся).

<!-- polisade:exec-denied CAPSULE BEGIN -->
> ⛔ **Вызов скрипта отклонён или не запустился** (`Command references protected path` / `Install directory is read-protected` / `Filesystem Guard` / `the tool's default permission is 'deny'`, отказ песочницы, ненулевой exit без вывода) — **STOP**.
> Процитируй отказ дословно. НЕ пересказывай по исходнику, что скрипт «сделал бы»; НЕ собирай dry-run вручную; НЕ переходи к apply/push/pr-create.
> НЕ транскрибируй скрипт (прочитать → записать копию в `/tmp` или в проект → запустить копию): копия не байт-идентична — уезжают классы символов в regex, форма возврата функций, пропадают целые функции — и молча меняется набор применённых изменений.
> Отказ инструмента — это отказ, а не результат. Доложи PM дословный текст отказа и сошлись на #127 (доставка скриптов в проект).
<!-- polisade:exec-denied CAPSULE END -->

4. **Возьми семя для CHORE** — номер при создании не вычисляется:

    ```bash
    ${POLISADE_PYTHON:-python3} {plugin_root}/scripts/polisade_id.py new-seed
    ```

    Имя файла — `CHORE-<семя>-<slug>.md`, фронтматтер — `id: CHORE-<семя>` И
    `seed: <семя>` (оба обязательны). Если `create_task` — также возьми семя для TASK. Счётчик не читается и не пишется, и
    **Counter drift при создании больше не существует**: номера выдаются только
    `/polisade:sync --apply` на транке, поэтому сталкиваться не с чем. Протокол:
    `skills/tasks/references/compute-next-id.md`.

5. **Write-guard.** Перед `Write` проверь, что
   `backlog/chores/CHORE-<семя>-slug.md` не существует. Если `create_task` —
   та же проверка на `tasks/TASK-<семя>-slug.md`. Проверять `artifactIndex`
   нечем: номера ещё нет. При коллизии — новое семя.
6. **Создай файл `backlog/chores/CHORE-XXX-slug.md`.**
7. **Если `create_task` — создай `tasks/TASK-XXX-slug.md`** со ссылкой на CHORE.

   ⛔ **КРИТИЧНО: TASK-файл ДОЛЖЕН быть ровно `tasks/TASK-XXX-*.md` в корневой папке `tasks/`.**
   НЕ в `docs/tasks/`, НЕ в `docs/TASK-*.md`, НЕ в `backlog/tasks/`.
   `/polisade:implement` ищет таски ТОЛЬКО в корневой `tasks/`. Если папки нет — `mkdir -p tasks`.
8. **Счётчик не трогай.** `.state/counters.json` пишет только
    `/polisade:sync --apply` на транке — там же, где выдаётся номер.
    Здесь у артефакта номера ещё нет.
9. **Обнови `.state/PROJECT_STATE.json`:**
   - Добавь CHORE со статусом `ready` (в `artifactIndex`).
   - Если `create_task` — добавь TASK со статусом `ready` в `readyToWork`
     и в `artifactIndex`, пропиши `parent: CHORE-XXX`.
10. **Выведи подтверждение** (два варианта — см. ниже).

## Opt-out TASK: флаг vs настройка

`/polisade:chore` **создаёт TASK по умолчанию** — это не изменилось в v2.21.0.
Отличие от `/polisade:debt`: для chore «сделать сейчас» — типичное намерение,
поэтому default сохранён. Но добавлен симметричный opt-out.

| Источник сигнала | Поведение |
|---|---|
| `/polisade:chore <d>` + `settings.chore.autoCreateTask: true` (default) | CHORE + TASK |
| `/polisade:chore <d> --no-task` | Только CHORE |
| `/polisade:chore <d>` + `settings.chore.autoCreateTask: false` | Только CHORE |

## Шаблон файла CHORE

Используй `docs/templates/chore-template.md`.

## Шаблон TASK при создании

Используется **только** когда TASK создаётся одновременно с CHORE (default
или `settings.chore.autoCreateTask: true`, не заблокировано `--no-task`).

```markdown
---
id: TASK-<семя>
seed: <семя>       # `polisade_id.py new-seed`; НЕ меняется никогда — по нему
                   # читается ссылка, сделанная до нумерации
title: "[Описание из CHORE]"
status: ready
created: YYYY-MM-DD
parent: CHORE-XXX
priority: P3
depends_on: []
---

# Задача: [Описание]

## Контекст

**CHORE:** [[CHORE-XXX]]

## Что нужно сделать

[Копируется из CHORE]

## Критерии приёмки

- [ ] Изменения внесены
- [ ] Ничего не сломано
```

## Формат подтверждения

### С TASK (default)

```
═══════════════════════════════════════════
CHORE ДОБАВЛЕН
═══════════════════════════════════════════

ID: CHORE-001
Описание: Увеличить контекстное окно до 128k
Файл: backlog/chores/CHORE-001-context-window.md
Категория: config
Статус: ready

Создана задача: TASK-001
Файл: tasks/TASK-001-context-window.md

═══════════════════════════════════════════
СЛЕДУЮЩИЙ ШАГ:
   → /polisade:implement TASK-001 — выполнить сразу
   → /polisade:continue — автономная работа
═══════════════════════════════════════════
```

### Без TASK (`--no-task` или `settings.chore.autoCreateTask: false`)

```
═══════════════════════════════════════════
CHORE ЗАРЕГИСТРИРОВАН
═══════════════════════════════════════════

ID: CHORE-001
Описание: Поправить форматирование в конфиге
Файл: backlog/chores/CHORE-001-config-format.md
Категория: config
Статус: ready

TASK не создана — chore зафиксирован для планирования.

═══════════════════════════════════════════
СЛЕДУЮЩИЕ ШАГИ:
   → /polisade:tasks CHORE-001 — декомпозировать в TASK когда готов
   → /polisade:chore <описание> — в следующий раз создать TASK сразу (default)
   → /polisade:state — обзор бэклога
═══════════════════════════════════════════
```

## Отличие от других типов

| Тип | Когда использовать |
|-----|-------------------|
| CHORE | Простая задача, очевидная реализация, < 1 часа |
| FEAT | Новая функциональность, требует планирования |
| DEBT | Технический долг, рефакторинг |
| BUG | Исправление ошибки |

## Важно

- CHORE — для атомарных изменений.
- Не используй для фич или багов.
- Default — с TASK. Используй `--no-task` только для явной регистрации
  «записать, но пока не делать».
- `/polisade:implement` работает только с TASK.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.