Files
h-school/.claude/skills/side-work/SKILL.md
T

85 lines
5.5 KiB
Markdown

---
name: side-work
description: >-
Обсуждает задачу вне запланированных срезов, пишет под неё фазы в «Вне
очереди» и делает на отдельной ветке. Используй при «сделай отдельно»,
«вне среза», «отдельная задача», «не из фаз», «side-work», «обсуди и сделай».
Не для нового именованного среза (/slice-work), бага (/bug-work), «сделай
фазу N» (/phase-work), волны агентов (/phase-orch) и ревью (/phase-review).
---
# Отдельная задача вне среза
Склейка уже живых систем и мелкий DX. В уже стоящие срезы не дописывается.
Сначала согласовать форму, потом фаза в **«Вне очереди»**, потом код как у
`/phase-work`. Код до документов не писать.
Новый кусок игры с этапами и остановкой посередине — не этот скилл,
[slice-work](../slice-work/SKILL.md).
«Обсуди и сделай» — идти до конца после короткого согласования. Стоп, только
если выбор меняет протокол, сейв или инвариант.
## 1. Обсуждение
Прочитай оглавление `docs/phases/README.md` (не индексы всех срезов),
`docs/bugs/README.md`, инварианты в `AGENTS.md` и **только** затронутый
дизайн. Это уже чья-то фаза — скажи и отдай `/phase-work`. Регрессия уже
сделанного — `/bug-work`. Этапы, новый кусок игры, остановка посередине
целой школой — `/slice-work`.
Два–пять вопросов, два–три варианта, **рекомендация обязательна**. Спросить
только форму: что увидит игрок; протокол / HTTP / сейв; какой инвариант; одна
фаза или несколько, и можно ли остановиться посередине целой школой.
«Ок», «делай», «как рекомендуешь» — согласие. Молчание — нет. Соседнее «заодно»
в отчёт, не в объём.
## 2. Куда класть
**Баг / регрессия** — не этот скилл, [bug-work](../bug-work/SKILL.md).
**Новый срез** — не этот скилл, [slice-work](../slice-work/SKILL.md).
**Мелкое** (дырка, одна кнопка, DX, склейка живых систем) — фаза в
`docs/phases/off-queue/`. Это срез без номера, чтобы не спорить со следующим
именованным. Дизайн новой темы — **новый файл**
`docs/design/off-queue/<slug>.md`, не дописывать в чужой файл темы. Строка в
`docs/design/off-queue/README.md`.
Номер фазы: максимум по именам `docs/phases/*/<NN>-*.md` (не README, не
reviewed), плюс один, затем `git branch --list "phase/<N>-*"`. Занято —
следующий. Гонку ловят ветки, не индекс: у новой фазы на `main` строки ещё нет.
## 3. Документы
Как у соседней фазы в `off-queue/`, не новый жанр. Каркас тот же: Зависимости,
Зачем, Задачи, Тесты без которых фаза не закрыта, Критерий готовности, Стоп.
Файл — `docs/phases/off-queue/<N>-<slug>.md`.
«Тесты…» — контракт для `/phase-review`: каждый пункт станет отдельным тестом
по Testing policy в `AGENTS.md`. Дизайн: зачем; «Было / Стало / Почему», если
меняется принятое; что не входит. Индекс — новая строка в
`docs/phases/off-queue/README.md`, статус ⬜. Общий каталог срезов не трогать.
Протокол, HTTP, сейв — назвать явно. Версию не бампать: это коммит с кодом.
Покажи фазы и Стоп. Просил только документы — здесь конец. Просил сделать —
сразу шаг 4.
## 4. Работа
Прочитай [phase-work](../phase-work/SKILL.md) и следуй ему.
Отличия: фазу ты завёл сам; заявка `git branch phase/<N>-<slug> main` **до** кода
(от `main`, не от HEAD);
тесты — как Testing policy в `AGENTS.md`, не весь solution;
новые файлы и 🔄 живут на этой ветке. `merge/lock` общий с фазами, багами и
ревью. Один цикл — одна фаза. «Сделай всё» — по порядку, каждая своим циклом `/phase-work`. Независимые фазы
параллельно — `/phase-orch`. Три фазы в одну ветку не паковать.
## Отчёт
Форма и куда легли документы; фаза и ветка; тесты списком; что прогнал; что
осталось ⬜; слита ли ветка в `main`.