chore(skills): сохранено состояние плейбука перед слиянием
- Зачем: - Завершена текущая работа и подготовлено продолжение без старых записок. - Что: - Три прежних handoff заменены актуальной запиской со ссылками на решения и проверки. - Включены пользовательские исключения для установленных сторонних скиллов. - Проверка: - Проверены 53 относительные ссылки, 11 якорей, YAML и обе политики включения. - Подтверждены сохранность 11 игнорируемых каталогов и доступность документов в Git. - Пройден git diff --check.
This commit is contained in:
1 parent
af8632274b
commit
f49b5847f9
5 files changed
+77
-217
No files matched your search
@@ -22,6 +22,17 @@ codebase-design/
|
||||
code-review/
|
||||
ask-matt/
|
||||
find-skills/
|
||||
migrate-to-shoehorn/
|
||||
writing-shape/
|
||||
writing-fragments/
|
||||
writing-beats/
|
||||
setup-ts-deep-modules/
|
||||
setup-pre-commit/
|
||||
scaffold-exercises/
|
||||
claude-handoff/
|
||||
git-guardrails-claude-code/
|
||||
loop-me/
|
||||
implement-spec/
|
||||
|
||||
to-questionnaire/
|
||||
wait-what/
|
||||
|
||||
-110
@@ -1,110 +0,0 @@
|
||||
# Handoff: первая версия Codex Subagent Playbook
|
||||
|
||||
Дата: 2026-07-10. Для следующей сессии, которая добавит настоящие роли
|
||||
Codex и проверит полный конвейер на боевой задаче.
|
||||
|
||||
## Состояние
|
||||
|
||||
Первая версия скилла готова и формально валидна:
|
||||
|
||||
- процесс тонкого мастера — [`../SKILL.md`](../SKILL.md);
|
||||
- выбор ролей и уровней — [`../references/roles.md`](../references/roles.md);
|
||||
- перенесённые уроки и открытые проверки —
|
||||
[`../references/lessons.md`](../references/lessons.md);
|
||||
- точные договоры нативных агентов —
|
||||
[`../references/prompt-templates.md`](../references/prompt-templates.md);
|
||||
- явный вызов скилла — [`../agents/openai.yaml`](../agents/openai.yaml).
|
||||
|
||||
Нативные TOML-роли ещё не созданы. В интерфейсе пробной tool-backed сессии
|
||||
хост скрыл поля `agent_type`, `model`, `reasoning_effort` и `service_tier`,
|
||||
поэтому прогон использовал роли только как мандаты в промпте и честно
|
||||
пометил стоимость как неуправляемую. Это не общее ограничение Codex:
|
||||
нативная схема поддерживает все четыре поля.
|
||||
|
||||
## Принятые решения
|
||||
|
||||
- Главная цель — сохранить контекст мастер-модели для требований, решений и
|
||||
синтеза. Внешняя модель остаётся необязательной дополнительной линией.
|
||||
- Скилл запускается только явно. Текущий валидатор не принимает
|
||||
`disable-model-invocation`; используется
|
||||
`policy.allow_implicit_invocation: false` в `openai.yaml`.
|
||||
- Модели закрепляются в файлах ролей, а не в `SKILL.md`, чтобы процесс не
|
||||
зависел от смены модельной линейки.
|
||||
- Для TOML-роли передаётся `agent_type`; для разового выбора — `model` и
|
||||
`reasoning_effort` без роли с закреплённой моделью. Плейбук использует
|
||||
`fork_turns="none"` ради чистого контекста; полный fork `all` наследует
|
||||
модель мастера.
|
||||
- Один агент владеет рабочим деревом. До записи сохраняется точка отсчёта,
|
||||
включая хэши неотслеживаемых файлов.
|
||||
- Полный отчёт ревьюера сохраняется файлом; сообщение содержит только
|
||||
вердикт, счётчики и путь. `read-only`-ревьюер возвращает короткий индекс
|
||||
один раз сообщением.
|
||||
- На прогон создаётся один обменный временный каталог. Полные отчёты и
|
||||
повторно используемые промпты передаются между агентами путями; мастер не
|
||||
вставляет их повторно в tool-call.
|
||||
- После завершения или сохранения блокирующего handoff обменный каталог
|
||||
этого прогона удаляется.
|
||||
- Нативный конвейер не зависит от вложенного запуска `codex exec`.
|
||||
|
||||
## Что проверено
|
||||
|
||||
- `quick_validate.py` завершился с `Skill is valid!`.
|
||||
- Независимое ревью закрыло договор ревьюера, точку отсчёта, выбор стоимости
|
||||
и устранение лишних повторных прогонов.
|
||||
- Безопасный пробный прогон этапов 1–2 поднял исследователя и ревьюера,
|
||||
сформировал самодостаточную постановку и не вынес сырые журналы в итог
|
||||
мастера. Файлы проекта не менялись.
|
||||
- Прогон выявил лишний полный запуск тестов исследователем; ограничение роли
|
||||
уже внесено в процесс и справочник.
|
||||
|
||||
## Следующая сессия
|
||||
|
||||
1. Решить, входят ли Windows/chezmoi в первую поставку ролей. Пробная
|
||||
постановка ограничила первую поставку Linux/WSL.
|
||||
2. Выбрать модели для быстрого, рабочего и глубокого уровней. Локально
|
||||
подтверждена только `gpt-5.6-sol`; не считать это готовой таблицей ролей.
|
||||
3. Создать шесть ролей: `fast-worker`, `explorer`, `worker`,
|
||||
`deep-reasoner`, `reviewer`, `verifier`.
|
||||
4. Разместить Linux/WSL-источник в `codex/.codex/agents/` и узко открыть
|
||||
нужные TOML в `.gitignore`. Сейчас родительское правило игнорирует весь
|
||||
каталог.
|
||||
5. Расширить `tests/test_install.sh`: разобрать TOML через `tomllib`,
|
||||
проверить смысловые договоры ролей, повторную установку, стороннюю роль и
|
||||
конфликт совпадающего имени.
|
||||
6. Проверить обнаружение ролей установленным Codex CLI в отдельном
|
||||
`CODEX_HOME`. Затем начать новую сессию и проверить, что её схема
|
||||
`spawn_agent` открывает `agent_type`, `model`, `reasoning_effort` и
|
||||
`service_tier`.
|
||||
Синтаксический разбор TOML не доказывает поддержку схемы.
|
||||
7. Прогнать этапы 3–7 на подходящей задаче, обновить полевые заметки только
|
||||
подтверждёнными фактами и убрать поглощённый осадок.
|
||||
8. Измерить, сколько длинных отчётов реально попало в контекст мастера.
|
||||
Цель — каждый полный артефакт читается не более одного раза и больше не
|
||||
пересказывается между агентами.
|
||||
|
||||
## Известные ловушки
|
||||
|
||||
- Простое исключение `!codex/.codex/agents/*.toml` может не сработать, пока
|
||||
не раскрыты игнорируемые родительские каталоги. Нужны положительные и
|
||||
отрицательные проверки `git check-ignore`.
|
||||
- Текущее рабочее дерево dotfiles содержит посторонние изменения. Работать
|
||||
от сохранённой точки отсчёта, не очищать и не включать их в коммиты.
|
||||
- `task_name` нативного `spawn_agent` — имя треда, а не доказанный выбор
|
||||
пользовательской конфигурации агента.
|
||||
- Полный fork `all` несовместим с другой ролью, моделью и глубиной. Плейбук
|
||||
использует `none` для свежего контекста; ограниченный fork числом
|
||||
технически допускает переопределения.
|
||||
- Некоторые tool-backed хосты скрывают поля управления моделью, хотя Codex
|
||||
их поддерживает. Проверять фактическую схему в начале сессии.
|
||||
- Права `workspace-write` не гарантируют сеть. Проверку документации и поиск
|
||||
отмечать как непроверенные, если сеть недоступна.
|
||||
- Длинный текст в `spawn_agent`, `send_message` или `followup_task` остаётся
|
||||
в истории мастера. Передавать путь к файлу и короткий вопрос.
|
||||
|
||||
## Suggested skills
|
||||
|
||||
- `$writing-great-skills` — удерживать плотность и предсказуемость скилла.
|
||||
- `$skill-creator` — валидировать структуру и проводить пробные прогоны.
|
||||
- `$tdd` — сначала закрепить установку и договоры ролей тестами.
|
||||
- `$claude-team-review` — независимое ревью после появления TOML и тестов.
|
||||
- `$conventional-commits` — зафиксировать следующую завершённую поставку.
|
||||
-52
@@ -1,52 +0,0 @@
|
||||
# Handoff: плейбук возвращён к оптике тонкого мастера
|
||||
|
||||
Дата: 2026-07-12. Для следующей сессии, которая проверит обновлённый скилл на
|
||||
нетривиальной задаче с кодом, тестами и шумным выводом.
|
||||
|
||||
## Состояние
|
||||
|
||||
Скилл переработан после самоприменения и сравнения с
|
||||
`claude-subagent-playbook`. Текущий источник поведения —
|
||||
[`../SKILL.md`](../SKILL.md); это набор приёмов, а не обязательный конвейер.
|
||||
Нативная механика раскрывается только по выбранной ветке через
|
||||
[`../references/prompt-templates.md`](../references/prompt-templates.md) и
|
||||
[`../references/roles.md`](../references/roles.md).
|
||||
|
||||
Факты двух прогонов и ещё непроверенные предположения дистиллированы в
|
||||
[`../references/lessons.md`](../references/lessons.md). Не переносить
|
||||
их обратно в основной файл без нового наблюдаемого сбоя.
|
||||
|
||||
Ключевая граница следующей работы: субагент запускается ради конкретной пользы
|
||||
задаче или контексту мастера. Свежий тред не считается второй независимой
|
||||
родословной. Права агента не определяют канал результата. Полная полезная
|
||||
нагрузка не должна проходить через контекст мастера.
|
||||
|
||||
## Что проверено
|
||||
|
||||
- Один свежий обзор проверил переработку через оптику `writing-great-skills` и
|
||||
исходного Claude-плейбука; все принятые находки закрыты, одно предложение
|
||||
вернуть `read-only` обоснованно отклонено по принятой практике пользователя.
|
||||
- `git diff --check` проходит.
|
||||
- Относительные ссылки и сборка промптов проверялись в ходе итераций; найден и
|
||||
исправлен пропущенный путь отчёта триажа.
|
||||
- Посторонние неотслеживаемые скиллы в объём не входят.
|
||||
|
||||
## Следующая сессия
|
||||
|
||||
1. Выбрать одну подходящую задачу с кодом; не создавать искусственный полный
|
||||
прогон ради проверки скилла.
|
||||
2. До каждого запуска агента записывать ожидаемую отдельную пользу, после —
|
||||
сверить её с фактическим вкладом.
|
||||
3. Измерить только мастерский след: какие полные отчёты или diff всё ещё попали
|
||||
в его контекст, сколько агентов можно было не запускать.
|
||||
4. Проверить живые предположения из `references/lessons.md`: управляемость
|
||||
ролей и стоимости, `workspace-write`-ревью, сеть и файловый канал.
|
||||
5. Менять скилл только по фактам прогона; дистиллировать поглощённые уроки.
|
||||
|
||||
## Suggested skills
|
||||
|
||||
- `$codex-subagent-playbook` — провести выбранную задачу с новой оптикой.
|
||||
- `$writing-great-skills` — проверить, что новые уроки не вернули каркас,
|
||||
дублирование или осадок.
|
||||
- `$handoff` — заменить эту записку после следующего содержательного прогона.
|
||||
- `$conventional-commits` — зафиксировать следующую доказанную поставку.
|
||||
-55
@@ -1,55 +0,0 @@
|
||||
# Handoff: оптика ревью и синхронизация
|
||||
|
||||
## Назначение
|
||||
|
||||
Продолжить полевую проверку `codex-subagent-playbook` после согласования
|
||||
тонкого координатора, файлового канала и ревью высокоуровневых документов.
|
||||
Действующий договор находится в [SKILL.md](../SKILL.md), механика ревью — в
|
||||
[review-and-triage.md](../references/review-and-triage.md), текущая
|
||||
маршрутизация — в [roles.md](../references/roles.md).
|
||||
|
||||
## Зафиксированное состояние
|
||||
|
||||
- `6cc1b26` пересобрал скилл вокруг оптики тонкого мастера.
|
||||
- `70b18b9` убрал shell-зависимые и конвейерные допущения из шаблонов.
|
||||
- `02a98df` закрепил ревью на уровне самого документа: открытые детали
|
||||
реализации не мешают `APPROVED`, существенный отложенный риск можно вернуть
|
||||
как неблокирующее соображение.
|
||||
- `quick_validate.py`, `git diff --check` и локальные Markdown-ссылки
|
||||
проходили после изменений.
|
||||
|
||||
## Оптика триажа ревью
|
||||
|
||||
Находки ревьюера — сигналы о возможных слабых местах, а не руководство к
|
||||
действию. Перед правкой проверять, реальна ли проблема в рамках замысла и не
|
||||
превращает ли предложенное решение оптику в обязательный конвейер.
|
||||
|
||||
Типичный уклон ревьюера: лечить неоднозначность новыми манифестами, состояниями,
|
||||
фиксированными именами и преждевременными деталями. Сохранять жёсткими только
|
||||
границы ответственности, независимость, файловый канал, владельца триажа и
|
||||
предохранители несходимости. Выбор приёма и модели оставлять оптикой.
|
||||
|
||||
## Незавершённая синхронизация
|
||||
|
||||
Первый `git pull --no-rebase origin master` вернул `Already up to date`.
|
||||
Следующий `git push origin master` был отклонён: удалённый `master` успел
|
||||
перейти с `a4985b3` на `9c047f9`.
|
||||
|
||||
Следующему агенту:
|
||||
|
||||
1. Закоммитить этот handoff отдельным Conventional Commit.
|
||||
2. Выполнить `git fetch origin` и изучить новые удалённые коммиты.
|
||||
3. Слить `origin/master` обычным merge, сохранив локальный замысел и удалённые
|
||||
изменения. Не выбирать сторону конфликта целиком без чтения.
|
||||
4. Повторить проверки скилла и отправить `master` в origin.
|
||||
|
||||
В рабочем дереве есть посторонние неотслеживаемые каталоги скиллов и
|
||||
`.skill-lock.json`. Они не относятся к этой работе; не добавлять и не удалять
|
||||
их.
|
||||
|
||||
## Suggested skills
|
||||
|
||||
- `$codex-subagent-playbook` — применять и оценивать текущую оптику.
|
||||
- `$writing-great-skills` — проверять ясность и отсутствие скрытого процесса.
|
||||
- `$conventional-commits` — формировать сообщения следующих коммитов.
|
||||
- `$code-review` — только для нового независимого обзора по явной потребности.
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
# Состояние после переработки плейбука
|
||||
|
||||
2026-09-06. Партнер завершил обсуждение и попросил сохранить эту записку,
|
||||
заменить старые handoffs, включить его правку `agents/.agents/skills/.gitignore`
|
||||
и влить ветку `refactor/codex-subagent-playbook` в `master` через `merge --no-ff`.
|
||||
Публикацию на удаленный сервер не запрашивал.
|
||||
|
||||
## С чего продолжать
|
||||
|
||||
Дальше полезна обычная задача с новой редакцией скилла. Проверить, удерживает
|
||||
ли координатор замысел, бюджет внимания и соразмерность после ревью. Партнер
|
||||
хочет остановить накопление правил по предположениям; следующие изменения
|
||||
должны опираться на конкретные случаи работы.
|
||||
|
||||
Действующий договор — [SKILL.md](../SKILL.md) и справочники по его указателям.
|
||||
Роль координатора теперь отделена от модели. Конфигурация Sol-координатор →
|
||||
Terra-исполнитель допустима, но полного прогона с ней в этой сессии не было.
|
||||
Открытые вопросы и порядок архивации находятся в
|
||||
[lessons.md](../references/lessons.md).
|
||||
|
||||
## Где основания решений
|
||||
|
||||
- `65c802f` — принятая спецификация. Доступна через
|
||||
`git show 65c802f:.scratch/codex-subagent-playbook/spec.md`.
|
||||
- `3a72ce9` — основной рефакторинг и отчет проверки:
|
||||
`git show 3a72ce9:.scratch/codex-subagent-playbook/validation.md`.
|
||||
- Последующие уточнения — коммиты от `781a2e2` до `af86322` включительно.
|
||||
Актуальные формулировки уже находятся в скилле; ранняя спецификация
|
||||
описывает состояние до этих уточнений.
|
||||
- Июльская эмпирика дословно сохранена в
|
||||
[архиве](../references/lessons-archive.md). Прежние handoffs доступны в Git
|
||||
по дереву `af86322:agents/.agents/skills/codex-subagent-playbook/handoffs`.
|
||||
|
||||
## Что подтверждено и что осталось проверить
|
||||
|
||||
Основной рефакторинг прошел ревью Claude и узкие перепроверки с `APPROVED`;
|
||||
ограниченный поведенческий пример прошел три теста. Подробности и ограничения
|
||||
этой проверки — в отчете коммита `3a72ce9`. Последующие уточнения прошли
|
||||
вычитку, проверки ссылок, YAML и `git diff --check`; нового независимого
|
||||
обзора всей последней редакции не было. Это не повод автоматически запускать
|
||||
ревью постановки следующей задачи: выбор обзора остается ситуативным.
|
||||
|
||||
Штатный `quick_validate.py` не знает сохраненное поле
|
||||
`disable-model-invocation`. Совместимая копия с удалением только этого поля
|
||||
проходит проверку. Поле и `allow_implicit_invocation: false` сохраняют явное
|
||||
включение скилла; удалять их ради зеленого валидатора не следует.
|
||||
|
||||
Точные затраты токенов не измерялись. Наблюдаемые накладные расходы этой
|
||||
сессии: повторные чтения документов координатором, большой вывод журнала CLI
|
||||
и уточнение поведения Claude `--resume`. Проверенная механика продолжения
|
||||
уже записана в [claude.md](../references/claude.md).
|
||||
|
||||
Временные подробные отчеты остались в `/tmp/codex-playbook-refactor.dW8ZC3`;
|
||||
они могут исчезнуть. Для продолжения достаточно текущих документов и Git.
|
||||
Состояние веток и завершение слияния проверяй по `git status` и `git log`.
|
||||
`.scratch/` удаляется последним коммитом ветки перед слиянием; ее содержимое
|
||||
сохраняется в истории.
|
||||
|
||||
## Рекомендуемые скиллы
|
||||
|
||||
- `codex-subagent-playbook` — по выбору партнера для следующей рабочей задачи.
|
||||
- `writing-for-agents` — при изменении инструкций и указателей.
|
||||
- `conventional-commits` — при анализе diff и фиксации изменений.
|
||||
- `brainstorm-with-docs` — если новый опыт требует пересмотреть решение.
|
||||
- `tdd` — когда для рабочей задачи выбран этот подход; находить по имени.
|
||||
- `handoff` — при следующей передаче состояния.
|
||||
Reference in new issue
Block a user