Update AGENTS.md and SKILL.md files to clarify task handling and bug reporting. Added documentation for bug-related tasks in AGENTS.md and refined descriptions in phase-work and side-work skills to specify their usage and differentiate from bug work.
ci / server (push) Failing after 3m39s
ci / client (push) Failing after 13s

This commit is contained in:
Leonid Pershin
2026-08-20 09:06:59 +03:00
parent ac17abfd90
commit e18a09ea82
6 changed files with 117 additions and 7 deletions
+91
View File
@@ -0,0 +1,91 @@
---
name: bug-work
description: >-
Принимает баг в уже сделанном, при необходимости обсуждает путь и чинит.
Файлы в docs/bugs/, индекс отдельно от фаз. Используй при «баг», «почини»,
«регрессия», «сломалось», «fix the bug», «возьми баг N». Не для новой фичи
(/side-work), фазы среза (/phase-work) и ревью (/phase-review).
---
# Баги
Это не фаза и не срез. Сломалось то, что уже должно работать: принять, при
нужде согласовать путь, починить. Документы — `docs/bugs/`, индекс —
`docs/bugs/README.md`. В `docs/phases/` и «Вне очереди» не класть.
Один запуск — **один баг**. Код до записи в индекс не писать.
## Когда это, а когда нет
Прочитай `docs/bugs/README.md`, `docs/phases/README.md` и инварианты в
`AGENTS.md`.
- Уже стоит ⬜/🔄 в индексе багов — бери его, не заводи второй.
- Это ещё не сделанная фаза в `docs/phases/` — скажи и отдай `/phase-work`.
- Новая фича, склейка систем, DX — `/side-work`.
- Ревью среза — `/phase-review`.
Номер передали (`/bug-work 3`) — берёшь его. Нет — первая ⬜ в индексе, у
которой нет ветки `bug/<N>-*`. Нет свободных и пользователь только что описал
симптом — заводи новый.
## 1. Принять
Записать симптом так, чтобы следующий агент его узнал без этого чата: что
видит игрок / падающий тест / лог; чего ждали; как воспроизвести, если путь
не в одну строку.
Пользователь предложил фикс — проверь, что это причина, а не симптом. Лучший
путь рядом — назови его, не чини молча худший.
## 2. Обсудить, когда нужно
Путь один и не трогает протокол, сейв и инвариант — чинить, не спрашивать.
Два+ разумных пути **или** правка протокола / сейва / инварианта — два–три
варианта и **рекомендация**. Стоп, пока не сказали «ок», «делай», «как
рекомендуешь». Молчание — нет. Соседнее «заодно» в отчёт, не в объём.
## 3. Документ
`docs/bugs/<NN>-<slug>.md` и строка в индексе. Номер: максимум по папке и
индексу, плюс один, затем `git branch --list "bug/<N>-*"`. Занято — следующий.
Гонку ловят ветки, не индекс: у нового бага на `main` строки ещё нет.
Каркас короче фазы, не копия:
- **Симптом** — что сломано и как увидеть
- **Причина** — когда известна; иначе «ищу» и дописать тем же коммитом, что код
- **Путь** — выбранный фикс; отвергнутые — одной строкой, если обсуждали
- **Задачи** — чеклист
- **Тест, без которого не закрыт** — обычно один, по Testing policy в `AGENTS.md`
- **Стоп** — чего не трогать
Дизайн-док не писать. «Было / Стало» не нужно: это регрессия, не решение.
Индекс — новая строка, статус 🔄, если сразу чинишь; ⬜, если просили только
записать. Просил только документ — здесь конец.
## 4. Работа
Заявка `git branch bug/<N>-<slug>` **до** кода. Новые файлы и 🔄 живут на этой
ветке.
Дальше — как [phase-work](../phase-work/SKILL.md), с отличиями:
- префикс ветки `bug/`, не `phase/`; индекс — `docs/bugs/README.md`;
- worktree обязателен, только если основное дерево грязное или рядом идёт
другая ветка. Чистое `main` — можно в этом дереве;
- шаблон фазы не заполнять. Тест из файла бага — да, «Критерий готовности»
фазы — нет;
- ✅ в индексе — последним коммитом ветки, в нём только строка статуса.
Слияние и замок `merge/lock` — как у `/phase-work`. Не пушь.
Не смог закрыть тест — оставь ⬜ и напиши почему. Полработы с честной пометкой
лучше, чем ✅ с дырой.
## Отчёт
Симптом одной строкой; путь, если выбирали; баг и ветка; какой тест добавлен;
что прогнал; что осталось ⬜; слита ли ветка в `main`.