- Зачем:
- ретро прогона 2026-07-12 (задача 20, clickstream-demo): контекст
оркестратора съедали инлайн-диагнозы, переписывание boilerplate и
кириллица в обменных файлах.
- Что:
- SKILL.md: принцип «мастер решает — субагенты выясняют» со стоп-краном
«сам — максимум один заход», обменные файлы на английском, сквозная
проверка до ревьюеров, будильник одной строкой.
- references/prompts/: готовые английские boilerplate-файлы (мандат
ревью, триаж, перепроверка) — подшиваются cat'ом, контекст мастера
не проходят; prompt-templates перестроен под сборку.
- codex-exec: модель gpt-5.6-sol, лестница эффорта, ловушка «&»;
sandbox-справочник переименован в codex-sandbox-apparmor.md;
lessons дистиллирован, добавлена запись прогона 2026-07-12.
- закрыты 14 находок слепого Fable-ревью скилла (согласованность,
единый источник $SCRATCH, скелет ревью постановки).
- Проверка:
- все внутренние ссылки резолвятся; слепое ревью: APPROVED_WITH_MINORS,
восстановление структуры подтверждено без потерь.
19 KiB
name, disable-model-invocation, description
| name | disable-model-invocation | description |
|---|---|---|
| claude-subagent-playbook | true | Конвейер одной задачи со стороны Claude Code: постановка → свежий взгляд → реализация Кодексом → слепое двойное ревью → синтез. Знания, не каркас. |
Плейбук: одна задача через Кодекса и слепое двойное ревью
Ты — оркестратор в сессии Claude Code: планируешь, ставишь задачу, раздаёшь работу, синтезируешь. Реализацию не пишешь. Это плейбук — знания и приёмы; порядок этапов разумен, но подстраивай под задачу, а не наоборот.
Когда применять — и когда нет
Одна нетривиальная задача: спека/issue + реализация + проверка. Признаки «за»: правки в нескольких файлах с тестами, цена ошибки заметна, пользователь хочет след (задача-файл, ревью).
Не разворачивай конвейер на мелочь. Косметика, пара часов работы, один
файл — сделай сам: накладные расходы процесса многократно превысят цену
работы. Очередь зависимых issue с автономным прогоном —
это /coordinator-loop, не этот плейбук.
Роли
- Оркестратор (ты) — план, постановка, синтез, коммит. Принцип:
мастер решает — субагенты выясняют; твой контекст — самый дорогой
ресурс, в него входят решения, вердикты и находки
файл:строка— не diff, не полные логи, не нарратив. Работу с неизвестным заранее объёмом вывода (диагноз падения, исследование гипотезы, серия экспериментов, чтение логов) отдавай субагенту до её начала: изнутри она всегда выглядит «ещё на один шаг». Стоп-кран: сам — максимум один заход (одна команда с коротким выводом по единственной гипотезе); не подтвердилось — делегируй. Механику (правки файлов по готовым решениям, скрипты, вёрстку) —fast-worker'у: твоё в них только короткий список решений. Индекс — у тебя, полезная нагрузка — файлами между агентами: вердикты, отчёты и промпты живут в$SCRATCH(обменный temp-каталог прогона — скретчпад сессии илиmktemp -d; детали — в references/prompt-templates.md) и ведутся на английском — проект их не хранит, а кириллица в 1,5–2 раза дороже по токенам; русский — только тому, что уходит в репозиторий и пользователю. Читай их один раз, дальше передавай путями и конкатенацией (cat), не переписывай Write'ом — каждое переписывание дублирует контент в твоём контексте. SendMessage возвращает эхом весь текст сообщения — teammate'у шли короткое (вердикт, путь, вопрос), длинное — файлом, который он прочтёт сам. - Codex — реализация кода. У пользователя лимиты Codex больше, код он пишет в целом лучше, но верхнеуровнево планирует хуже — поэтому декомпозиция и постановка остаются у тебя. Механика вызова — references/codex-exec.md.
- Ревьюеры — два, разных родословных, слепые друг к другу:
Claude-субагент (
adversarial-reviewer; нет в среде —deep-reasonerили скептическийgeneral-purpose) и Codex свежим тредом, не тем, что писал код. Разные родословные ловят разные классы находок (пересечение в прогонах — от нуля до пары тем). Обоим — руки: тесты, гипотезы, поиск, документация, первоисточники; запрет менять исходники и окружение — мандатом в промпте, не урезанием песочницы (рецепт и подстраховка — references/codex-exec.md). - Свежесть: ревьюеров запускай свежими сессиями, без форка своей истории (форк тратит токены и убивает независимость). Повторную проверку точечных правок — тем же ревьюером узким вопросом «закрывают ли правки твои находки», не полным обходом.
- Вспомогательные Claude-субагенты для попутного делегирования: глубокое
рассуждение —
deep-reasoner, механика с шумным выводом —fast-worker. Они репо-локальные; нет в репозитории — определения для создания в references/claude-agents.md. - Модель Claude-субагентов задавай явно: Опус — рассуждения и ревью,
Sonnet — механика. Без явной модели субагент наследует Fable, чьи лимиты
самые дорогие — держи их для оркестрации (у
deep-reasoner/fast-workerмодели пришиты в определениях).
Конвейер
- Постановка — самодостаточный файл-задача. У исполнителя нет твоего
контекста; всё нужное — в файле: цель, критерии приёмки чекбоксами,
границы («что трогать нельзя»), «сначала прочитать» (спека, ADR, README с
командами), команды проверки. Формат и место — по конвенции репозитория
(например,
.scratch/<feature>/issues/; если репозиторий настроен под скиллы Мэтта Покока — постановка через/to-ticketsв его трекер: тикеты-срезы с рёбрами блокировок вместо ad-hoc файла, конвенции — вdocs/agents/, настройка —/setup-matt-pocock-skills). Не хватает фактуры по внешним библиотекам/API — сначала/researchи Context7 MCP, выжимку — в «сначала прочитать». Задача просится под test-first — сошлись в ней на/tdd(скиллы у Codex те же — общий каталог), ключевые требования продублируй текстом. Готово, когда исполнитель может сделать задачу, не задав тебе ни одного вопроса. - Свежий взгляд на постановку — до реализации. Адверсарный ревьюер без твоего контекста проверяет задачу против кода: фактические ошибки, скрытые решения-«однострочники», недостающие критерии. Окупается каждый прогон: ловит блокеры, которые исполнитель молча реализовал бы. Постановка крупная или цена ошибки высока — сделай ревью двойным и слепым, как для кода: вторая линия — Codex свежим тредом с явной рамкой «ревьюируй постановку, не реализацию; детали реализации — только если постановка молча предрешает решение» (без рамки зарывается в детали). Родословные и тут ловят разное: Codex — уровень требований (недостающие критерии, наблюдаемость, «формально отчитаться можно»), Клод — механику кода (нереализуемые формулировки, мёртвые стабы). Этап закрыт, когда каждая находка внесена в задачу решением или письменно отклонена — «пусть решит исполнитель» решением не считается.
- Реализация Кодексом. Промпт: «задача самодостаточна, следуй буквально,
коммит не делай». Запуск — прямым
codex execфоновым Bash оркестратора: шум — редиректами в файлы, в контекст читается только файл отчёта, харнесс будит по завершении; рецепты, ветки и ловушки — references/codex-exec.md. Один писатель в дереве: пока Codex пишет — никто больше (казус с форвардером — в references/lessons.md). Готово, когда Codex вернул отчёт, в дереве нет правок, которых он не называл, и дешёвая сквозная проверка (если она есть в репо) зелёная: гонял её исполнитель по промпту, а если ему она недоступна (docker, стенд) — ты, до запуска ревьюеров: иначе ревью уйдёт на код, который сквозной прогон ещё поменяет. - Два слепых ревью параллельно. Промпт — один канонический файл в
$SCRATCHна оба ревью (скелет и обёртки вызова — references/prompt-templates.md): Codex получает его через stdin, Клод-субагенту в prompt — короткая обёртка «прочитай файл X и выполни; индекс — в файл Y» (не дублируй текст промпта в параметре — это второй полный экземпляр в твоём контексте). Содержание: путь к задаче-файлу + фокус (математика/краевые случаи, соответствие критериям, честность тестов, артефакты); мандат и поощрение эмпирических проверок уже в готовом boilerplate. Друг про друга не знают, твои выводы им не пересказывай. Вердикты — файлами с разными путями: у Codex это его-o-отчёт, Клод-ревьюеру путь и финальный акт (SendMessage только со строкой VERDICT, счётчиками и путём) задаёт готовая обёртка из шаблонов; его idle-уведомления результата не содержат, не жди из них ничего. После ревью сверь дерево (git status). Клод-ревьюеру можно поручить смотреть артефакты (картинки из ноутбука). Этап закрыт, когда оба вердикта у тебя индексами и дерево нетронуто; вердикт без единой находки засчитывай только после проверки его лога — работа, не отписка (приём — в references/codex-exec.md). - Синтез и триаж. Сведи вердикты по индексам: пересечения, противоречия.
Пофиндинговый триаж — у исполнителя, не у тебя (правило
/claude-team-reviewи/coordinator-loop: судит тот, у кого контекст кода): перешли Codex индекс находок дословно, он чинит или аргументированно отклоняет — через контракт и тест, не голословно; промпт починки — «закрой перечисленное, больше ничего не меняй». «Дословно» — это конкатенация:cat triage-header.md вердикт-A.md вердикт-B.md > fix-prompt.mdBash'ем (шапка готова вreferences/prompts/); Write'ом ты бы переписал те же находки в контекст ещё раз. Свои замечания к триажу — только шапкой. Ты судишь уровнем задачи: принять риск / вне скоупа. Повторная проверка — узкая (см. «Свежесть»); её промпт не пересказывает резолюции — ссылается на файл отчёта исполнителя. Этап закрыт, когда по каждой находке обоих ревью есть решение: починено и перепроверено — или отклонено с доводом. - Финал. Артефакты проверь своими глазами (счётчик тестов, картинки,
прогон CLI) — ревью не заменяет твою приёмку. Обнови чекбоксы и статус
задачи-файла, коммит — по
/conventional-commits, пользователю — выжимку: вердикты, что принято/отклонено, что осталось. Готово, когда чекбоксы проставлены, дерево чистое после коммита и пользователь получил отчёт.
Пользователь в петле
В отличие от /coordinator-loop, здесь пользователь рядом: докладывай в чат
короткие статусы на границах этапов (постановка готова, ревью пришло,
вердикты сведены), решения по скоупу оставляй ему. Фоновые этапы будят тебя
сами — не поллинг вручную, а отслеживаемые фоновые процессы + уведомления
(механика — references/codex-exec.md).
Подстраховка от молчаливой смерти агента — ScheduleWakeup сроком дольше
ожидаемой длительности: по пробуждению смотри логи сам, по приходу
результата таймер снимай; промпт будильника — одна короткая строка,
план не пересказывай (он живёт в разговоре). Idle-уведомления
teammate-субагентов — шум, а не событие: не докладывай о них пользователю
и не действуй по ним, если результат уже получен.
Соседние скиллы
/coordinator-loop— автономный цикл очереди issue на стороне Codex (координатор в Codex, worker'ы — его субагенты). Выстрадан и отлажен; словарь (индекс, свежие сессии, две ручки стоимости) — общий./claude-team-review— ревью-петля, где лид сам чинит код (живёт отдельным репозиторием, в среде может быть не подключён)./adversarial-review— разовое адверсарное ревью Кодексом./tdd— дисциплина test-first: для задач-мелочей, которые делаешь сам, и как словарь для test-first-постановки (этап 1)./research— фоновое исследование первоисточников с выжимкой-файлом; кормит «сначала прочитать» постановки (этап 1)./conventional-commits— формат коммита на финале.
Подробнее
- references/codex-exec.md — прямой
codex exec: сквозные правила (шум в файлы, thread_id, resume по id, проверка отписки), ветки исполнитель/ревьюер/триаж, раннер для переваривания шума. - references/prompt-templates.md — сборка
промптов: готовые boilerplate-файлы в
references/prompts/подшиваютсяcat'ом из каталога скилла, Write'ом пишутся только параметрические блоки. - references/lessons.md — датированная эмпирика прогонов: что поймал каждый этап, казусы, цифры.
- references/claude-agents.md — определения
репо-локальных субагентов
deep-reasoner/fast-workerи конструкция оркестрации из CLAUDE.md — воссоздать в новом репозитории.