backlog: интеграция скилла ведения беклога

Беклог теперь ведётся пользовательским скиллом `backlog` (заведение из
диалога, разбор находок ревью, груминг, приоритизация, декомпозиция,
штурм). CLAUDE.md делегирует ему формат и держит только проектные
тонкости; добавлены источники задач (диалог, Tududi, находки ревью) и
кладбище `docs/backlog/CLOSED.md` для выкинутого без реализации.

- task-pipeline: шаги 1 и 9 больше не описывают формат сами, ссылаются на
  скилл; шаг 9 гоняет `backlog.py check` после удаления файла задачи.
- review-pipeline: отложенная реальная находка (не для текущего мерджа)
  заводится задачей через скилл с тегом партии review-ГГГГ-ММ-ДД.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
av
2026-07-23 21:26:11 +03:00
co-authored by Claude Opus 4.8
parent 776a1ca6b6
commit 2ec952c810
4 changed files with 44 additions and 12 deletions
+4
View File
@@ -164,6 +164,10 @@ task review:context > tmp/review-context.md
- Оркестратор чинит помеченное `Действие: инлайн` и **не логирует мелочь**.
- `Действие: развилка` — на человека через `AskUserQuestion`, вопросом с
вариантами.
- Находка не для этого мерджа, но реальная (отложенный `major`, развилка,
решённая «потом») — не теряется: заводится задачей через скилл `backlog`
(интейк из ревью), с оракулом и провенансом в теле. Мелочь класса `nit` — в
пакетный файл, а не файлом на находку.
- `Promote candidates` — по процедуре
[references/promote.md](references/promote.md): находка → конвенция → правило
линтера → **удаление из конвенций и из промптов**. Третий шаг обязателен.
+9 -2
View File
@@ -41,6 +41,10 @@ description: Автономно проводит задачу jellybit чере
- Задача с префиксом `[идея]` (ещё без решения «делаем») — сперва обязательно
через explore (шаг 2), там она либо становится задачей, либо остаётся идеей.
Формат файла задачи и индекса держит скилл `backlog` — здесь мы беклог только
читаем. Если по ходу выбора вскрылось, что задача устарела, дублируется или
разрослась в эпик, это работа для скилла `backlog`, а не для пайплайна.
Оцени тривиальность (влияет на шаг 4):
- **Тривиальная** — локальная правка без изменения поведения/спек/схемы БД,
очевидное решение. Explore и ревью спек пропускаем.
@@ -126,11 +130,14 @@ goose + синк ER-схемы `docs/specs/database.md`, htmx по web-ui-кон
Ревью выполненного — **до** чистки (память `review-before-backlog-cleanup`).
Затем:
- Удали файл задачи `docs/backlog/<slug>.md` и строку в `docs/backlog/README.md`
(реализованное не держим в беклоге — CLAUDE.md).
- Удали файл задачи `docs/backlog/<slug>.md` и строку в `docs/backlog/README.md`.
Реализованное не держим в беклоге и на кладбище `CLOSED.md` не пишем — у него
есть коммит, спека и ADR (формат — скилл `backlog`).
- Суть переехавшего решения — в `docs/specs`/`docs/adr`, если ещё не там.
- Если менялась структура БД — убедись, что ER-схема `docs/specs/database.md`
обновлена в этом же change.
- Прогони `python3 ~/.claude/skills/backlog/scripts/backlog.py check` — индекс не
должен ссылаться на удалённый файл.
### 10. Коммит
+18 -10
View File
@@ -97,18 +97,26 @@ OpenSpec (пилот — `ingest`). До переноса источник ис
## Задачи и беклог
- **Единственный источник беклога — каталог [docs/backlog/](docs/backlog/README.md)**:
одна задача = один markdown-файл (`docs/backlog/<slug>.md`), плюс
индекс [README.md](docs/backlog/README.md) со списком по приоритетам
(высокий/средний/низкий) и хуками. В теле файла — контекст, принятые
решения, шаги и ссылки на спеки/ADR/черновики. Заводи задачу новым файлом
и строкой в индексе; закрытую (реализованную) — удаляй, суть переезжает в
`docs/specs`/`docs/adr`.
- Спекулятивные задачи (ещё без решения «делаем») помечены префиксом
`[идея]` в названии — их сперва прорабатываем.
одна задача = один markdown-файл (`docs/backlog/<slug>.md`) + строка в индексе
[README.md](docs/backlog/README.md). Приоритеты: высокий/средний/низкий.
Работа с беклогом (заведение из диалога, разбор находок ревью/аудита, груминг,
приоритизация, декомпозиция, штурм идеи) — через скилл **`backlog`**; формат
файла, слага, индекса и кладбища он и держит, здесь не дублируем.
- **Источники задач:** диалог, инбокс Tududi и находки ревью. Отложенная находка
`review-pipeline` (реальная, но не для текущего мерджа) заводится задачей через
скилл `backlog` с тегом партии `review-ГГГГ-ММ-ДД` — так уже сделаны задачи
`review-*` в беклоге.
- **Проектные тонкости для скилла `backlog`:**
- каталог беклога — `docs/backlog/`, язык — русский, слаги — латиница;
- реализованная задача удаляется, её суть переезжает в `docs/specs`/`docs/adr`
(это делает пайплайн задачи на шаге 9, не скилл беклога);
- выкинутая без реализации уезжает строкой в `docs/backlog/CLOSED.md` (кладбище);
- спекулятивные задачи помечены `[idea]` в заголовке (тип — английское
ключевое слово idea/epic/task) — сперва штурм.
- **Tududi — только инбокс сырых идей** (проект `jellybit`, project_id 14).
Беклог там больше не ведём; идея из Tududi становится задачей, когда её
оформляют файлом в `docs/backlog/`. Прежняя единая `docs/backlog.md`
доступна в истории git.
оформляют файлом в `docs/backlog/` через скилл `backlog`. Прежняя единая
`docs/backlog.md` доступна в истории git.
## Язык
+13
View File
@@ -0,0 +1,13 @@
# Кладбище беклога
Задачи, покинувшие беклог **без реализации**: выкинутые, отменённые решением,
слитые в другие. Причина отказа переживает саму задачу — иначе та же идея
вернётся через квартал тем же текстом через инбокс Tududi.
Реализованные сюда **не** попадают: у них остаётся коммит, спека, ADR. Ведётся
скиллом `backlog`; формат строки — в его `references/task-format.md`.
Запись здесь не запрещает завести задачу заново: изменился контекст — заводим и
ссылаемся на строку кладбища, объясняя, что изменилось.
<!-- Формат: - ГГГГ-ММ-ДД `slug` — Заголовок. Причина: … Был приоритет: … -->