add skils
ci / server (push) Failing after 3m43s
ci / client (push) Failing after 14s

This commit is contained in:
Leonid Pershin
2026-08-20 11:33:39 +03:00
parent 1e7014cabd
commit e299995d98
8 changed files with 129 additions and 29 deletions
+3 -3
View File
@@ -4,8 +4,8 @@ description: >-
Принимает баг в уже сделанном, при необходимости обсуждает путь и чинит. Принимает баг в уже сделанном, при необходимости обсуждает путь и чинит.
Файлы в docs/bugs/, индекс отдельно от фаз. Используй при «баг», «почини», Файлы в docs/bugs/, индекс отдельно от фаз. Используй при «баг», «почини»,
«регрессия», «сломалось», «fix the bug», «возьми баг N». Не для новой фичи «регрессия», «сломалось», «fix the bug», «возьми баг N». Не для новой фичи
(/side-work), фазы среза (/phase-work), волны агентов (/phase-orch) и ревью (/side-work), нового среза (/slice-work), фазы среза (/phase-work), волны
(/phase-review). агентов (/phase-orch) и ревью (/phase-review).
--- ---
# Баги # Баги
@@ -23,7 +23,7 @@ description: >-
- Уже стоит ⬜/🔄 в индексе багов — бери его, не заводи второй. - Уже стоит ⬜/🔄 в индексе багов — бери его, не заводи второй.
- Это ещё не сделанная фаза в `docs/phases/` — скажи и отдай `/phase-work`. - Это ещё не сделанная фаза в `docs/phases/` — скажи и отдай `/phase-work`.
- Новая фича, склейка систем, DX — `/side-work`. - Склейка систем, DX — `/side-work`. Новый кусок игры — `/slice-work`.
- Ревью среза — `/phase-review`. - Ревью среза — `/phase-review`.
- Волну фаз — `/phase-orch`. - Волну фаз — `/phase-orch`.
+5 -4
View File
@@ -6,14 +6,14 @@ description: >-
`/phase-orch 3`. Используй при «запусти N разработчиков», «веди срез», `/phase-orch 3`. Используй при «запусти N разработчиков», «веди срез»,
«оркестрация», «раздели срез между агентами и следи», «продолжай волну». «оркестрация», «раздели срез между агентами и следи», «продолжай волну».
Не пишет код фаз сам. Не для одной фазы (/phase-work), одного бага Не пишет код фаз сам. Не для одной фазы (/phase-work), одного бага
(/bug-work), задачи вне среза (/side-work) и одиночного ревью (/bug-work), задачи вне среза (/side-work), нового среза (/slice-work)
(/phase-review). и одиночного ревью (/phase-review).
--- ---
# Оркестрация среза # Оркестрация среза
Ты **координатор**, не разработчик. В этом чате не пишешь код фаз, багов и Ты **координатор**, не разработчик. В этом чате не пишешь код фаз, багов,
side-work. Фазы делают фоновые агенты по [`phase-work`](../phase-work/SKILL.md); side-work и не заводишь новый срез. Фазы делают фоновые агенты по [`phase-work`](../phase-work/SKILL.md);
проверку закрытых срезов — по [`phase-review`](../phase-review/SKILL.md). проверку закрытых срезов — по [`phase-review`](../phase-review/SKILL.md).
Твоя работа: держать волну нужной ширины, не запускать фазы с открытыми Твоя работа: держать волну нужной ширины, не запускать фазы с открытыми
зависимостями и не оставлять слот пустым, если есть чем его занять. зависимостями и не оставлять слот пустым, если есть чем его занять.
@@ -27,6 +27,7 @@ side-work. Фазы делают фоновые агенты по [`phase-work`]
| «проверь срез», одно ревью | `/phase-review` | | «проверь срез», одно ревью | `/phase-review` |
| «баг», «почини» | `/bug-work` | | «баг», «почини» | `/bug-work` |
| «сделай отдельно», «вне среза» | `/side-work` | | «сделай отдельно», «вне среза» | `/side-work` |
| «новый срез», «спланируй срез» | `/slice-work` |
Независимые side-фазы параллельно — тоже этот скилл (так уже сказано в Независимые side-фазы параллельно — тоже этот скилл (так уже сказано в
side-work). Слоты волны багами не заполнять. side-work). Слоты волны багами не заполнять.
+1 -1
View File
@@ -1,6 +1,6 @@
--- ---
name: phase-review name: phase-review
description: Ревью срезов и фаз проекта h-school по их же критериям приёмки — с дописыванием недостающих тестов, исправлением найденного и журналом проверенного в docs/phases/reviewed.md. Обязательно используй этот скилл, когда просят «сделай ревью», «проведи ревью», «проверь срез», «проверь непроверенные срезы», «что ещё не проверено», «review the slice» — и вообще при любой просьбе проверить, действительно ли сделанная фаза сделана. Не для ревью одного диффа или пул-реквеста: там нужен /code-review. Не для волны разработчиков — /phase-orch (он может запустить этот скилл как одного из агентов). description: Ревью срезов и фаз проекта h-school по их же критериям приёмки — с дописыванием недостающих тестов, исправлением найденного и журналом проверенного в docs/phases/reviewed.md. Обязательно используй этот скилл, когда просят «сделай ревью», «проведи ревью», «проверь срез», «проверь непроверенные срезы», «что ещё не проверено», «review the slice» — и вообще при любой просьбе проверить, действительно ли сделанная фаза сделана. Не для ревью одного диффа или пул-реквеста: там нужен /code-review. Не для волны разработчиков — /phase-orch (он может запустить этот скилл как одного из агентов). Не для планирования нового среза — /slice-work.
--- ---
# Ревью срезов # Ревью срезов
+1 -1
View File
@@ -1,6 +1,6 @@
--- ---
name: phase-work name: phase-work
description: Берёт ровно одну фазу из среза в docs/phases/ и доводит её до конца — в своём git worktree и на своей ветке. Используй, когда просят «сделай фазу 25», «возьми фазу», «реализуй фазу», «work on the phase». Не для волны из нескольких агентов — /phase-orch, не для ревью — /phase-review, не для бага — /bug-work, не для задачи вне среза — /side-work. description: Берёт ровно одну фазу из среза в docs/phases/ и доводит её до конца — в своём git worktree и на своей ветке. Используй, когда просят «сделай фазу 25», «возьми фазу», «реализуй фазу», «work on the phase». Не для волны из нескольких агентов — /phase-orch, не для ревью — /phase-review, не для бага — /bug-work, не для задачи вне среза — /side-work, не для нового среза — /slice-work.
--- ---
# Работа над фазой # Работа над фазой
+20 -17
View File
@@ -1,19 +1,22 @@
--- ---
name: side-work name: side-work
description: >- description: >-
Обсуждает задачу вне запланированных срезов, пишет под неё фазы и делает на Обсуждает задачу вне запланированных срезов, пишет под неё фазы в «Вне
отдельной ветке. Используй при «сделай отдельно», «вне среза», «отдельная очереди» и делает на отдельной ветке. Используй при «сделай отдельно»,
задача», «не из фаз», «side-work», «обсуди и сделай». Не для бага «вне среза», «отдельная задача», «не из фаз», «side-work», «обсуди и сделай».
(/bug-work), «сделай фазу N» (/phase-work), волну агентов (/phase-orch) и ревью Не для нового именованного среза (/slice-work), бага (/bug-work), «сделай
(/phase-review). фазу N» (/phase-work), волны агентов (/phase-orch) и ревью (/phase-review).
--- ---
# Отдельная задача вне среза # Отдельная задача вне среза
Задачи нет в индексе — и в уже стоящие срезы она не дописывается. Сначала Склейка уже живых систем и мелкий DX. В уже стоящие срезы не дописывается.
согласовать форму, потом документы в **своём** срезе, потом код как у Сначала согласовать форму, потом фаза в **«Вне очереди»**, потом код как у
`/phase-work`. Код до документов не писать. `/phase-work`. Код до документов не писать.
Новый кусок игры с этапами и остановкой посередине — не этот скилл,
[slice-work](../slice-work/SKILL.md).
«Обсуди и сделай» — идти до конца после короткого согласования. Стоп, только «Обсуди и сделай» — идти до конца после короткого согласования. Стоп, только
если выбор меняет протокол, сейв или инвариант. если выбор меняет протокол, сейв или инвариант.
@@ -21,7 +24,8 @@ description: >-
Прочитай `docs/phases/README.md`, `docs/bugs/README.md`, инварианты в Прочитай `docs/phases/README.md`, `docs/bugs/README.md`, инварианты в
`AGENTS.md` и затронутые дизайн-доки. Это уже чья-то фаза в индексе — скажи `AGENTS.md` и затронутые дизайн-доки. Это уже чья-то фаза в индексе — скажи
и отдай `/phase-work`. Регрессия уже сделанного — `/bug-work`. и отдай `/phase-work`. Регрессия уже сделанного — `/bug-work`. Этапы, новый
кусок игры, остановка посередине целой школой — `/slice-work`.
Два–пять вопросов, два–три варианта, **рекомендация обязательна**. Спросить Два–пять вопросов, два–три варианта, **рекомендация обязательна**. Спросить
только форму: что увидит игрок; протокол / HTTP / сейв; какой инвариант; одна только форму: что увидит игрок; протокол / HTTP / сейв; какой инвариант; одна
@@ -34,12 +38,12 @@ description: >-
**Баг / регрессия** — не этот скилл, [bug-work](../bug-work/SKILL.md). **Баг / регрессия** — не этот скилл, [bug-work](../bug-work/SKILL.md).
**Мелкое** (дырка, одна кнопка, DX) — фаза в секции **«Вне очереди»** в конце **Новый срез** — не этот скилл, [slice-work](../slice-work/SKILL.md).
индекса. Это срез без номера, чтобы не спорить со срезом 10. Дизайн — `##` в
`docs/design/off-queue.md`; файла нет — заведи с заголовком, зачем он.
**Крупное** (этапы, остановка посередине, новый кусок игры) — именованный срез **Мелкое** (дырка, одна кнопка, DX, склейка живых систем) — фаза в секции
со следующим номером и `docs/design/<slug>.md`. «Вне очереди» номер не занимает. **«Вне очереди»** в конце индекса. Это срез без номера, чтобы не спорить со
следующим именованным. Дизайн — `##` в `docs/design/off-queue.md`; файла нет —
заведи с заголовком, зачем он.
Номер фазы: максимум по `docs/phases/*.md` и индексу, плюс один, затем Номер фазы: максимум по `docs/phases/*.md` и индексу, плюс один, затем
`git branch --list "phase/<N>-*"`. Занято — следующий. Гонку ловят ветки, не `git branch --list "phase/<N>-*"`. Занято — следующий. Гонку ловят ветки, не
@@ -52,13 +56,12 @@ description: >-
«Тесты…» — контракт для `/phase-review`: каждый пункт станет отдельным тестом «Тесты…» — контракт для `/phase-review`: каждый пункт станет отдельным тестом
по Testing policy в `AGENTS.md`. Дизайн: зачем; «Было / Стало / Почему», если по Testing policy в `AGENTS.md`. Дизайн: зачем; «Было / Стало / Почему», если
меняется принятое; что не входит. Индекс — новая строка, статус ⬜. Новый срез, меняется принятое; что не входит. Индекс — новая строка, статус ⬜.
куда ходят люди — строка в Orientation `AGENTS.md`.
Протокол, HTTP, сейв — назвать явно. Версию не бампать: это коммит с кодом. Протокол, HTTP, сейв — назвать явно. Версию не бампать: это коммит с кодом.
Покажи срез, фазы и Стоп. Просил только документы — здесь конец. Просил сделать Покажи фазы и Стоп. Просил только документы — здесь конец. Просил сделать
сразу шаг 4. сразу шаг 4.
## 4. Работа ## 4. Работа
+95
View File
@@ -0,0 +1,95 @@
---
name: slice-work
description: >-
Обсуждает и заводит новый именованный срез: дизайн-док, фазы, строка в
индексе. Используй при «новый срез», «заведи срез», «спланируй срез»,
«обсуди срез», «slice-work». Не пишет код. Не для мелкого DX и склейки
(/side-work), бага (/bug-work), одной фазы (/phase-work), волны уже
стоящего среза (/phase-orch) и ревью (/phase-review).
---
# Новый срез
Полноценный кусок игры: свой номер, свой дизайн-док, этапы, после каждого
можно остановить школу целой. Это не дырка и не DX — то `/side-work`. Код
не писать: после документов — `/phase-orch` или `/phase-work`.
«Обсуди и сделай» здесь — согласовать и **записать документы**, не реализовать
срез в этом чате.
## Когда это
Прочитай `docs/phases/README.md`, `docs/bugs/README.md`, инварианты в
`AGENTS.md` и соседние дизайн-доки.
- Уже чья-то фаза в индексе — скажи и отдай `/phase-work`.
- Регрессия уже сделанного — `/bug-work`.
- Склейка живых систем, одна кнопка, DX — `/side-work` в «Вне очереди».
- «Веди срез» про уже стоящие ⬜ — `/phase-orch`, не этот скилл.
- «Проверь срез» — `/phase-review`.
Живой срез с открытыми ⬜ не дописывай, пока не попросили явно. Следующий
номер — после последнего именованного; «Вне очереди» номер среза не занимает.
## 1. Обсуждение
Два–пять вопросов, два–три варианта, **рекомендация обязательна**. Спросить
форму среза:
- что увидит и сделает игрок;
- протокол / HTTP / сейв;
- какой инвариант;
- этапы, и можно ли остановиться посередине целой школой;
- чего в срезе **нет**;
- на каких срезах стоит;
- ваниль или отдельный пак.
«Ок», «делай», «как рекомендуешь» — согласие. Молчание — нет. Соседнее
«заодно» в отчёт, не в объём.
Покажи черновик: номер, этапы, фазы одной строкой, Стоп. Файлы — после
согласия, не до.
## 2. Номера
Срез: максимум именованного в индексе, плюс один.
Фазы: максимум по `docs/phases/*.md` и индексу, плюс один, затем
`git branch --list "phase/<N>-*"`. Занято — следующий. Гонку ловят ветки,
не индекс: у новой фазы на `main` строки ещё нет.
## 3. Документы
Как у соседа (`social.md`, `session.md`, `inventory.md`), не новый жанр.
`docs/design/<slug>.md`:
- шапка: договорённость на срез, не текущий код; ссылки на соседние доки;
- зачем, что увидит игрок, на какие вопросы отвечает, чего **нет**;
- «Что меняется в уже принятом» — Было / Стало / Почему;
- этапы A/B/C…;
- «Где живёт код»;
- «Советы, которые стоит принять сразу»;
- «Заведомо не сейчас»;
- «Зафиксировано этим разговором».
Фазы — как у соседней, не короче бага: Зависимости, Зачем, Задачи, Тесты
без которых фаза не закрыта, Критерий готовности, Стоп. Галочки все `[ ]`.
«Тесты…» — контракт для `/phase-review`: каждый пункт станет отдельным
тестом по Testing policy в `AGENTS.md`.
Индекс — новая секция **перед** «Вне очереди», все ⬜, этапы как у 7–9.
Куда ходят люди — строка в Orientation `AGENTS.md`.
Протокол, HTTP, сейв — назвать явно. Версию не бампать: это коммит с кодом.
🔄 не ставить: фазы ещё никто не взял.
## 4. Код
Не этот скилл. Дальше — `/phase-orch`, одну фазу — `/phase-work`. Три фазы
в этот чат не паковать.
## Отчёт
Номер среза и slug; путь дизайн-дока; фазы списком; что вне среза; какой
командой начинать код.
+2 -1
View File
@@ -26,7 +26,8 @@ way; this file is *how to work in them*.
| talks, opinions, fights, romance pack | [`docs/design/social.md`](docs/design/social.md) — slice 9, phases 4147 | | talks, opinions, fights, romance pack | [`docs/design/social.md`](docs/design/social.md) — slice 9, phases 4147 |
| lesson consequences (teacher present, skill, warmth, textbook, weather commute) | [`docs/design/off-queue.md`](docs/design/off-queue.md) — phases 48, 5053 | | lesson consequences (teacher present, skill, warmth, textbook, weather commute) | [`docs/design/off-queue.md`](docs/design/off-queue.md) — phases 48, 5053 |
| a bug in already-shipped behaviour | `.claude/skills/bug-work` — document in `docs/bugs/`, discuss only if the fix has a fork, then patch | | a bug in already-shipped behaviour | `.claude/skills/bug-work` — document in `docs/bugs/`, discuss only if the fix has a fork, then patch |
| a task that is not in any slice | `.claude/skills/side-work` — discuss, document in «Вне очереди» or a new named slice, then implement | | a task that is not in any slice | `.claude/skills/side-work` — discuss, document in «Вне очереди», then implement |
| a new named slice of the game | `.claude/skills/slice-work` — discuss, write design and phases, then `/phase-orch` |
## Commands ## Commands
+2 -2
View File
@@ -3,8 +3,8 @@
Индекс регрессий в уже сделанном. Статус: ⬜ не начат, 🔄 в работе, ✅ готов. Индекс регрессий в уже сделанном. Статус: ⬜ не начат, 🔄 в работе, ✅ готов.
Это не фазы: номера не спорят со срезами, в `docs/phases/` не дублировать. Это не фазы: номера не спорят со срезами, в `docs/phases/` не дублировать.
Новая фича и склейка систем — [«Вне очереди»](../phases/README.md#вне-очереди) Склейка систем и DX — [«Вне очереди»](../phases/README.md#вне-очереди), скилл
или отдельный срез, скилл `/side-work`. Как работать с багом — `/side-work`. Новый кусок игры — `/slice-work`. Как работать с багом —
[`.claude/skills/bug-work`](../../.claude/skills/bug-work/SKILL.md). [`.claude/skills/bug-work`](../../.claude/skills/bug-work/SKILL.md).
| Баг | Статус | Симптом | | Баг | Статус | Симптом |