feat(skill): claude-subagent-playbook — конвейер одной задачи с Codex

- Зачем:
  - выжимка боевого прогона 2026-07-06 (t2-ml-forecast, витрина) в
    переиспользуемый плейбук: постановка → свежий взгляд → реализация
    Codex → слепое двойное ревью разных родословных → синтез.
- Что:
  - SKILL.md: роли, шаги с критериями закрытия, триаж у исполнителя,
    границы применимости; словарь общий с coordinator-loop;
  - references: механика codex-companion с ловушками и раннер-паттерном,
    накопительная эмпирика прогонов, определения deep-reasoner/fast-worker
    для воссоздания в новом репозитории;
  - handoffs: записка о рождении скилла и списке непроверенного боем.
- Проверка:
  - зеркало ~/.claude/skills синхронно (diff -rq чисто); боевой тест —
    следующий прогон конвейера по тексту скилла.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Dmitry DementievandClaude Fable 5 committed 2026-07-06 18:22:00 +03:00
1 parent ca30ac5272
commit 138315d496
5 files changed
+414

No files matched your search

@@ -0,0 +1,42 @@
# Эмпирика прогонов
Датированные факты: что поймал каждый этап конвейера, казусы, цифры.
Дописывай после каждого прогона — это и есть «выжимка опыта», ради которой
скилл существует.
## 2026-07-06 — t2-ml-forecast, задача 05 «полировка витрины под демо»
Первый прогон конвейера. Задача: ~200 строк правок в ядре отчёта + ноутбук.
**Свежий взгляд на постановку (Клод, adversarial-reviewer) — окупился:**
- блокер: постановка требовала «русские названия из `report.name_ru`», а в
данных `name_ru` — английские имена из Excel-книги; исполнитель молча
сделал бы английские заголовки. Решение внесено в задачу: словарь
«статья → русское имя» как явная поставка;
- две «одностроки», прятавшие проектные решения: поворот отрицательного ряда
(правило, пересчёт коридора, единый хелпер) и согласованность
«график по модулю vs таблица со знаком»;
- процессная дыра: без явных двух шагов регенерации `.ipynb` остался бы без
выводов, и тест ноутбука его бы завернул.
**Казус форвардера:** субагент `codex:codex-rescue`, получив постановку
вместо команды, реализовал задачу сам (+1227 строк). Настоящий Codex стартовал
на уже изменённом дереве — столкновения избежали везением (форвардер успел
закончить). Урок в SKILL.md и codex-companion.md.
**Слепое двойное ревью — родословные поймали разное:**
- Клод (Опус): APPROVE; подтвердил математику поворота/коридора
(алгебраическое тождество), краевые случаи (ряд через ноль, нули),
неизменность метрик и таблиц; посмотрел картинки из `.ipynb`; один nit.
- Codex (свежий тред): needs-attention; две дыры в тестах — раздел ноутбука
не закреплён в required_snippets, нет регрессионного теста «таблица
отрицательного ряда остаётся со знаком». Оба — про то, что зелёный прогон
не докажет готовность; Клод этих дыр не нашёл.
- Пересечения находок — ноль. Слепота и разность родословных работают.
**Точечная починка:** Codex `--fresh` с промптом «добавь только два теста,
продуктовый код не трогай» — чисто, 148 → 150 passed.
**Цифры для калибровки:** ревью Клода на Фабуле (этап постановки) — ~60k
токенов; конвейер целиком — ~3 часа настенного времени, из них реализация
~20 минут; остальное — ревью и оркестрация. На мелочь такое не разворачивать.