Соглашение об именах: длинное имя плагина с префиксом av-dev- (уникально в маркетплейсе), короткие имена скилов внутри. Вызов — /av-dev-backlog:backlog, единообразно для будущих плагинов. Путь к backlog.py в SKILL.md обновлён под новую раскладку ($CLAUDE_PLUGIN_ROOT/skills/backlog/scripts/backlog.py). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7.3 KiB
Формат беклога
Заголовок, мета-строку и строку индекса ставит backlog.py add — руками их не
пишут. Этот файл описывает, что именно скрипт создаёт и что проверяет check;
тело задачи (контекст, шаги, ссылки) дописывает агент.
Файл задачи
<slug>.md в каталоге беклога:
# Раздачи с докачиванием (merge при повторном добавлении)
**Приоритет:** высокий — блокирует типовой сценарий свежих сериалов · **Теги:** layout, ingest
Свежий сериал раздают по мере выхода: торрент с 5 из 10 эпизодов позже
перезаливают целиком, пользователь добавляет раздачу повторно. …
Шаги:
- в плане раскладки отличать «путь занят живой ссылкой того же матча» от коллизии
- merge-раскладка: существующее пропустить, недостающее доложить
Зависит от правила сходимости. Связано: drafts/logical-title-model.md §6.2.
- Заголовок H1 — он же заголовок строки в индексе, дословно. Тип кодируется
префиксом
[idea]/[epic]; обычная задача без префикса. Отдельного поля типа нет: два места для одного факта разъезжаются, а префикс виден прямо в индексе, где и принимается решение «брать или не брать». - Мета-строка — первая непустая строка после заголовка. Обязателен приоритет,
причина после тире желательна, теги опциональны. Поля разделяются
·, их порядок свободный.·— служебный разделитель: в тексте причины его быть не должно, иначе причина обрежется по нему. - Тело — контекст (почему это вообще задача), принятые решения, шаги, ссылки на спеки, ADR, черновики, прошлые ревью. Пишется на языке документации проекта.
Тело — не план реализации и не спецификация: принятое и реализованное переезжает в документацию проекта, а файл задачи удаляется.
Слаг
Латиница и цифры, kebab-case, без ведущих, хвостовых и двойных дефисов
(foo-bar, не -foo, a--b). Именуется по сути задачи, а не по текущей
формулировке: заголовок будет переписан на груминге, а слаг стоит в ссылках из
других задач, коммитов и черновиков. Транслит русского названия допустим, если
суть иначе не выражается коротко.
Индекс
README.md в том же каталоге: преамбула, затем секции по приоритетам, в каждой —
строки вида
- [Заголовок задачи дословно](slug.md) — хук
Хук отвечает на «почему это лежит в беклоге» одним предложением: состояние, остаток, боль. Пересказ первого абзаца бесполезен — он уже есть по ссылке.
Порядок секций задаёт порядок приоритетов, их названия — единственный словарь
уровней. Внутри секции порядок значения не имеет. Секции приоритетов — единственные
заголовки ## в индексе: любой другой ## в преамбуле проверка сочтёт уровнем
приоритета.
Индекс производен: расходится с файлом — правим индекс. Строку индекса руками
не пишут — её ставит backlog.py add в секцию приоритета и двигает move.
Кладбище — CLOSED.md
Туда уходит задача, покинувшая беклог без реализации. Строку пишет
backlog.py close --reason, а check следит за её форматом:
- 2026-07-23 `versii-kachestvo-repaki` — Версии/качество одного тайтла (репаки,
апгрейд 1080p → 2160p). Причина: калибровка болей — не боль, ни разу не
возникло за полгода. Был приоритет: низкий.
Реализованные сюда не попадают: у них остаётся коммит, спека, ADR. У выкинутой не остаётся ничего — и через квартал она возвращается тем же текстом через инбокс. Кладбище — первое место, куда смотрит дедупликация при заведении.
Запись на кладбище не запрещает завести задачу заново: изменился контекст — заводим и ссылаемся на строку кладбища, объясняя, что изменилось.
Тест «готова к взятию»
Задача готова, если из файла отвечаются три вопроса:
- Что станет наблюдаемо иначе, когда она сделана — снаружи: пользователю, владельцу сервиса или разработчику. «Отрефакторить X» — не ответ; «перестанет ломаться Y при Z» — ответ.
- По чему видно, что закончено. Признак завершённости, а не список работ.
- Почему приоритет такой — одна строка.
Не отвечается первый или второй вопрос → это идея, её место в штурме, а не в приоритизации. Приоритизировать идеи бессмысленно: сравнивается неизвестно что.
Отвечается всё, но задача не делается одним заходом и не мерджится целиком → эпик, сперва декомпозиция.
Тест применяется при заведении и на груминге. К старым задачам, которых операция не касается, задним числом не применяется — беклог не переоформляют «заодно».