refactor(skills): переработан плейбук координации Codex

- Зачем:
  - Актуализирована координация под Astra с сохранением замысла и бюджета контекста.
- Что:
  - Разделены роли Astra, Sol и Luna; выбор приемов оставлен координатору.
  - Сохранены независимое ревью, триаж и проверка соразмерности исправлений.
  - Обновлены нативные механики и необязательная линия Claude CLI.
- Проверка:
  - Проверены Markdown-ссылки, YAML и git diff --check; описано ограничение валидатора.
  - Пройден поведенческий сценарий с тремя тестами и независимое ревью Claude.
  - Перепроверены находки и фактическое продолжение фоновой сессии Claude.
This commit is contained in:
ddadmin committed 2026-09-06 09:38:57 -04:00
1 parent 65c802f8fc
commit 3a72ce906f
11 files changed
+538 -686

No files matched your search

@@ -1,160 +1,109 @@
# Сборка нативных промптов
# Мандаты и файловый обмен
Это механика после выбора приёма в [основной оптике](../SKILL.md). Смысл
ревью и триажа задаёт [единый договор](review-and-triage.md); здесь только
параметры, файловые пути и сборка.
Читай этот файл, когда готовишь поручение агенту или передаешь большой материал
между участниками. Смысл ревью и триажа задает
[единый договор](review-and-triage.md); здесь находятся короткие заготовки.
Постоянный текст живёт в [prompts/](prompts/):
## Выбор канала
- [result-contract.md](prompts/result-contract.md) — обычный результат;
- [review-boilerplate.md](prompts/review-boilerplate.md) — независимое ревью;
- [triage-header.md](prompts/triage-header.md) — закрытие находок;
- [recheck-header.md](prompts/recheck-header.md) — узкая перепроверка;
- [runtime-language.md](prompts/runtime-language.md) — язык временного обмена.
Ясное поручение, уточнение или вердикт передавай коротким сообщением. Файл
нужен, когда материал велик, используется повторно или должен попасть от одного
агента к другому, не проходя целиком через контекст координатора.
Меняй договор только в его авторитетном файле. В параметрических файлах держи
только факты конкретной задачи.
Для файлового обмена выбери общий временный каталог задачи. Дай каждому
результату уникальный абсолютный путь с версией артефакта и линией обзора в
имени. Получатель читает исходный файл напрямую; координатор передает путь и
короткую цель, не копирует полный материал в новый промпт.
## Каталог прогона
Постоянные английские блоки находятся в [prompts/](prompts/):
`$SCRATCH` определён в основном файле как общий временный каталог. Для задачи
создай в нём уникальную подпапку, далее `D`. `P` обозначает каталог
`references/prompts` этого скилла. Каждый агент получает отдельный `REPORT`.
- [result-contract.md](prompts/result-contract.md) - ограниченный результат
исполнителя, исследователя или проверяющего;
- [review-boilerplate.md](prompts/review-boilerplate.md) - мандат и формат
независимого обзора;
- [triage-header.md](prompts/triage-header.md) - разбор находок реализации;
- [recheck-header.md](prompts/recheck-header.md) - узкая перепроверка;
- [runtime-language.md](prompts/runtime-language.md) - язык временного обмена.
Собирай файлы механически, не читая полезную нагрузку в контекст координатора.
В схемах ниже `A + B -> C` означает текстовое объединение файлов в заданном
порядке нативным средством текущей ОС; `[A]` означает необязательный файл.
Схема не предписывает оболочку, синтаксис пути или отдельный этап процесса.
## Короткое поручение
## Исполнитель или исследователь
`params.md`:
Если задача ясна из текущего контекста, достаточно такого сообщения:
```text
GOAL: one verifiable goal
BOUNDARIES: allowed and forbidden work
READ FIRST: paths to contracts and examples
CHECKS: commands this agent should run
REPORT: absolute unique path
Goal: <one verifiable outcome>.
Scope: <allowed files, state, or question>.
Read: <only required paths>.
Check: <relevant command or evidence>.
Return: <concise result, or unique report path when the payload is large>.
Escalate design or scope changes with options, costs, and your recommendation.
```
Убирай ненужные строки. Не создавай обменный файл ради нескольких предложений.
## Большое поручение
В параметрическом файле оставь только факты конкретной задачи:
```text
D/params.md
+ P/result-contract.md
+ P/runtime-language.md
-> D/prompt.md
GOAL: one verifiable outcome
WORKING DIRECTORY: absolute path
BOUNDARIES: allowed work and protected state
READ FIRST: exact paths
CHECKS: commands or hypotheses
REPORT: unique absolute path
```
Самодостаточную постановку и подробное обязательное чтение добавляй только
когда они нужны выбранной работе.
Если агенту нужен полный отчет, передай ему пути к
[договору результата](prompts/result-contract.md) и
[правилу языка](prompts/runtime-language.md) либо механически собери эти файлы
с параметрами. Координатор не перепечатывает постоянные блоки. Передай агенту
короткое сообщение с путем к поручению. Сборка файлов служит оптимизацией для
длинного материала.
## Ревью постановки или реализации
## Независимое ревью
`review-common.md` одинаков для одного обзора:
Параметры обзора должны назвать:
```text
TITLE: short review title
WORKING DIRECTORY: absolute repo path
STATEMENT: task and parent spec paths
REVIEW INPUT: task sections, exact paths, a prepared diff path, or a diff command
OUT OF SCOPE: what is explicitly outside this review
CHECKS: commands and expected counters
WORKING DIRECTORY: absolute path
STATEMENT: task and governing contract paths
REVIEWED VERSION: commit, prepared diff, exact paths, or other stable boundary
FOCUS: one explicit lens
OUT OF SCOPE: unrelated work
CHECKS: useful commands and expected observations
FINDING PREFIX: unique stable prefix
REPORT: unique absolute path
```
`REVIEW INPUT` должен позволять отличить проверяемую работу от посторонних
изменений. Выбери достаточную форму для текущего дерева; диапазон коммитов не
обязателен, если точные пути, разделы или подготовленный diff уже задают границу.
Передай пути к этим параметрам, [мандату ревьюера](prompts/review-boilerplate.md)
и [правилу языка](prompts/runtime-language.md) либо механически собери из них
полное поручение.
Каждая линия получает свой фокус, префикс и путь. Отчеты параллельных линий не
передаются друг другу до завершения исходных обзоров.
`review-output.md` задаёт поля конкретной линии:
Для проверки формы можно добавить такой фокус:
```text
TYPE: spec | task | code
FINDING PREFIX: SPEC-A | SPEC-B | TASK | CODE
REPORT: absolute unique path
Before reading the changes, sketch one plausible solution shape from the
statement: responsibilities, boundaries, data movement, and necessary
artifacts. This is a hypothesis, not a prescribed design. Compare the actual
shape with it, identify decisions left open by the statement, and judge each
decision against repository values, risk, and task proportion.
```
`review-focus.md` задаёт один выбранный фокус. Для постановки:
## Разбор и перепроверка
```text
Review the statement or plan at its own level of abstraction, not as an
implementation. Check facts against code, hidden one-line decisions,
boundaries, checkable acceptance criteria, and ways to satisfy the wording
without the intended result.
Исполнитель разбирает реализацию по
[triage-header.md](prompts/triage-header.md). Передай ему пути к подробным
отчетам без изменений, решения координатора и уникальный путь резолюций.
Короткая сводка ревьюера не заменяет исходные доказательства.
A high-level document is not incomplete merely because implementation choices
remain open. Request changes only for a defect the document itself must
resolve: one that changes its goal, boundaries, architectural direction,
acceptance criteria, dependencies, or the ability to decompose work safely.
Исходному ревьюеру для узкой перепроверки передай
[recheck-header.md](prompts/recheck-header.md), путь к его исходному отчету,
путь к резолюциям, границу новой версии, нужные проверки и новый уникальный
путь отчета. Продолжи тот же тред или сессию: здесь его прежний контекст
полезен.
When a detail can be decided locally by a downstream owner without changing
those properties, do not make it a finding or prescribe the implementation.
If deferring it carries a relevant risk, record that risk as a non-gating
consideration.
APPROVED means that no defect at the document's own level requires revision.
It does not mean that all downstream questions have been answered.
```
Для реализации выбери task lens или code lens из договора ревью:
```text
TASK LENS: compare the implementation with the statement, acceptance criteria,
boundaries, and intended observable result.
CODE LENS: seek correctness bugs, broken invariants, regressions, security
issues, and tests that can pass without proving the behavior.
```
```text
D/review-common.md
+ D/review-focus.md
+ D/review-output.md
+ P/review-boilerplate.md
+ P/runtime-language.md
-> D/review-prompt.md
```
Для двух слепых линий создай `review-focus-a.md` и `review-focus-b.md`,
`review-output-a.md` и `review-output-b.md` со своими `TYPE`, уникальными
`FINDING PREFIX` и разными путями `REPORT`. `review-common.md` используй один;
отчёты и финальные сообщения линий не объединяй до их завершения.
## Триаж постановки
Координатор читает краткие строки и нужные подробности, принимает решение по
каждому `SPEC-*` и обновляет постановку. Резолюции сохраняет в
`spec-resolutions.md`; этот файл и новая постановка идут исходному ревьюеру
на узкую перепроверку.
## Триаж реализации
Передай исполнителю актуальные подробные отчёты без пересказа: исходные обзоры
в первом круге, отчёты перепроверки для оставшихся и новых находок в следующих.
`triage-params.md` содержит путь итогового отчёта и проверки.
`coordinator-notes.md` добавляй только для совпадений, противоречий и новых
решений уровня задачи.
```text
P/triage-header.md
+ D/triage-params.md
+ <current detailed report 1>
+ [<current detailed report 2>]
+ [D/coordinator-notes.md]
+ P/runtime-language.md
-> D/fix-prompt.md
```
## Узкая перепроверка
Продолжай исходный тред ревьюера. `recheck-params.md` задаёт пути к его
исходному отчёту и файлу резолюций, нужную проверку и новый уникальный
`REPORT`.
```text
P/recheck-header.md
+ D/recheck-params.md
+ P/runtime-language.md
-> D/recheck-prompt.md
```
Перепроверка следует решению координатора по договору ревью, а не номеру этапа.
В каждом файловом варианте агент возвращает короткий индекс и путь. Полный
отчет остается доступен следующему владельцу работы без пересказа координатором.