diff --git a/agents/.agents/skills/coordinator-loop/SKILL.md b/agents/.agents/skills/coordinator-loop/SKILL.md index b2e049e..7ee503e 100644 --- a/agents/.agents/skills/coordinator-loop/SKILL.md +++ b/agents/.agents/skills/coordinator-loop/SKILL.md @@ -4,7 +4,8 @@ disable-model-invocation: true description: >- Координаторский цикл по цепочке готовых issue: на каждый — worker-субагент по TDD с независимым ревью, коммит делает координатор. Контекст координатора - держится чистым — в него входит только индекс находок, не diff. Узкий навык, только + держится чистым — в него входит только индекс находок, не diff. Рассчитан на + автономный прогон очереди issue без присмотра пользователя. Узкий навык, только по явному вызову /coordinator-loop. --- @@ -38,6 +39,31 @@ description: >- (параллель), однофайловые правки, задачи без тестовой базы. Если цепочка не подходит — скажи об этом пользователю, а не тяни цикл силой. +## Контракт автономного прогона + +Основной сценарий скилла: пользователь передаёт очередь подготовленных issue и уходит — +координатор ведёт конвейер сам, а не ждёт инструкций на каждом шаге. + +**Вход** — что пользователь даёт при вызове: +- список issue и порядок (или правило зависимостей); +- где лежит «зачем» (PRD/спека), если это не очевидно из самих issue; +- ожидаемый финал, если он отличается от стандартного (см. «Финал цепочки»). + +**Мандат**: весь цикл — worker, ревью, коммит-гейт, статусы, журнал, handoff — +координатор ведёт без уточняющих вопросов. Локальные коммиты рабочих срезов входят в +мандат по умолчанию; push, теги и всё, что уходит за пределы локального репозитория +или разрушает данные вне рабочего дерева, — только по явному поручению. + +**Стоп-условия** — сводка, сами правила в своих разделах: чужие правки в дереве +(шаг 1); мутный или неготовый issue («Когда применять», шаг 2); спор, переживший +узкий усиленный гейт, и потолок кругов ревью (шаг 5); действие за пределами мандата. +Проверка, которую может сделать только человек (ручная приёмка, живой стенд), цепочку +не останавливает: worker сдаёт её как `DONE_WITH_CONCERNS` с готовой командой +(статус-контракт), а остаток уходит в handoff открытым риском. + +**Выход** — по «Финалу цепочки»: чистое дерево, список коммитов, статусы issue, +handoff с открытыми рисками. + ## Роли - **Координатор** — ты. Порядок issue, богатый контракт, запуск ревьюеров, политика @@ -107,7 +133,8 @@ worker-у их индексы **дословно**, без своих интер вопросу на усиленном уровне мышления; - спор пережил и узкий усиленный гейт → стоп, решение человека; - **третий круг на issue** — предупреди пользователя, не дожидаясь потолка: расход - растёт, причина (что именно не сходится), продолжаешь или нужен стоп; + растёт, причина (что именно не сходится). Это предупреждение, не вопрос: ответа + не жди, работу продолжай — жёсткая граница ниже; - независимо от споров больше **четырёх** кругов ревью на issue → стоп, вынеси человеку вопрос «дробить issue или принимать риск». 6. **Классифицируй по индексу — только chain-level** (см. «Классификация»).