docs(skill): claude-subagent-playbook — прямой codex exec, уроки прогона 2026-07-09

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Dmitriy DementievandClaude Fable 5 committed 2026-07-09 20:05:37 +03:00
1 parent 35d4114ba3
commit 4e496a1548
6 files changed
+221 -103

No files matched your search

@@ -22,7 +22,7 @@
**Казус форвардера:** субагент `codex:codex-rescue`, получив постановку
вместо команды, реализовал задачу сам (+1227 строк). Настоящий Codex стартовал
на уже изменённом дереве — столкновения избежали везением (форвардер успел
закончить). Урок в SKILL.md и codex-companion.md.
закончить). Урок в SKILL.md и codex-exec.md (раздел про раннера).
**Слепое двойное ревью — родословные поймали разное:**
- Клод (Опус): APPROVE; подтвердил математику поворота/коридора
@@ -88,3 +88,54 @@
**Цифры:** реализация 18 мин; триаж-починка ~8 мин; финальная правка ~3 мин
работы + ~20 мин зомби-ожидания. Тесты 147 → 154. Панель конвенций дала демо
аргумент: 10 из 13 против 6 из 13 в зависимости от прочтения порога.
## Прогон 2026-07-09: local-transcriber, SendTo-меню (первый по тексту скилла; первый под Windows)
Задача: контекстное меню проводника через SendTo + флаги
`--install-menu`/`--uninstall-menu`; 5 файлов, +345 строк, тесты в финале
191 passed / 1 skipped. Конвейер целиком, вместе с фичей — один вечер.
**Первый прогон под Windows:** Git Bash-стек работает целиком — `codex exec`,
`jq`, редиректы, heredoc, фоновый Bash с побудкой, SendMessage-rerun.
Скретчпад сессии вместо `/tmp`.
**Классификатор авторежима — новый класс препятствия:** companion с
`--write` заблокирован и через раннера-субагента, и напрямую из Bash
(«Create Unsafe Agents»); повторная попытка с другим флагом расценена как
обход. Прямой `codex exec` фоновым Bash оркестратора прошёл гейт и отработал
все три ветки (write-исполнитель, read-only ревьюер, resume-триаж). Правила —
в codex-exec.md; companion-обёртка поглощена им же.
**Свежий взгляд на постановку — снова окупился:** 2 major, которые
исполнитель молча реализовал бы: `.cmd` с путём, писанный «как ASCII», ломался
бы на кириллическом профиле (cmd.exe читает батники в OEM-кодировке) — при
том что фича делалась именно «для коллег»; плюс протухание зашитого пути к
venv. Третья находка — load-bearing порядок проверок (exit 2 требует
валидации до `expand_globs`, иначе чужой except даст exit 1). Одна находка
отклонена письменно (проброс `%errorlevel%` — нет потребителя).
**Слепое двойное ревью:** Codex — APPROVED, 0 находок; Опус — APPROVED,
3 minor (0-байтный leftover при `UnicodeEncodeError` — воспроизвёл на
машине; OEM-запись ни разу не исполняется в тестах; LF vs CRLF). Пересечение
снова ~ноль, но с нюансом: Codex в промежуточных сообщениях *колебался*
ровно над местом находки №2 Опуса и не оформил её — колебания в логе стоят
чтения при синтезе.
**Отписка:** вердикт Codex пришёл одной строкой без находок. Проверка по
JSONL (19 command_execution: полный pytest, узкий прогон, usage) подтвердила
работу. Приём «вердикт без находок — проверь лог» вписан в SKILL.md
(этап 4) и codex-exec.md.
**Закрыты пункты «не проверено боем» из handoff 06:** фолбэк-ревьюер
general-purpose на Опусе — обкатан дважды (постановка и код), работает;
триаж исполнителем — `codex exec resume` по явному id закрыл 3/3 находки,
лишнего не тронул; узкий rerun ревьюера — SendMessage поднял того же
Опус-агента из транскрипта, RECHECK OK за ~38 сек.
**Эмпирический ревьюер:** Опус сам воспроизводил краевые случаи вне репо
(UnicodeEncodeError с обрезкой файла, LF-`.cmd` через `cmd /c`) — вердикт
заметно твёрже. Приём поощрять в промпте ревьюера («безопасные
эмпирические проверки вне репо разрешены»).
**Цифры:** ревью постановки ~57k токенов, ревью кода ~48k, перепроверка
~45k (тот же агент из транскрипта); триаж-раунд Codex — одна resume-команда.