refactor(skill): плейбук возвращён к оптике тонкого мастера

- Зачем:
  - субагенты должны сохранять внимание мастера и помогать результату, а не обслуживать обязательный конвейер.
- Что:
  - семиступенчатый процесс заменён эвристиками выбора исполнителя, проверяющего и независимого ревьюера.
  - права агентов отделены от канала результата, а полная полезная нагрузка выведена из контекста мастера.
  - добавлены авторитетные договоры промптов, полевые заметки и handoff следующей сессии.
- Проверка:
  - git diff --cached --check.
  - свежий обзор через writing-great-skills, все принятые находки закрыты.
This commit is contained in:
ddadmin committed 2026-07-12 23:50:37 +03:00
1 parent 7110a075ea
commit f9ea5b8c44
10 files changed
+344 -290

No files matched your search

@@ -1,87 +1,88 @@
# Скелеты нативных промптов
# Сборка нативных промптов
Читай только тот раздел, который нужен на текущем этапе. Полный текст
задания и отчёта живёт в обменном временном каталоге; вызов агента содержит
короткую обёртку с абсолютными путями.
Открывай только раздел выбранного приёма. Это справочник готовых договоров,
а не обязательная последовательность. Постоянный текст живёт в
[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) — язык временного обмена.
Полный отчёт, независимо от канала:
Текст договора меняй только в его авторитетном файле. Здесь остаются выбор и
механика сборки.
## Канал результата
Канал выбери по [основной оптике](../SKILL.md). Здесь важна только механика:
для файлового канала задай уникальный `REPORT`, для сообщения не создавай
вторую копию результата.
## Обычный исполнитель или исследователь
Параметрический файл содержит только нужные конкретной задаче поля:
```text
ИТОГ: завершено | есть вопросы | заблокировано
ДОКАЗАТЕЛЬСТВА: изменённые файлы, команды и итоговые счётчики
РЕШЕНИЯ: только вопросы, которые должен решить мастер или пользователь
НАХОДКИ: SEVERITY файл:строка — суть — как проверить
СЛЕДУЮЩИЙ ШАГ: одно конкретное действие или «нет»
GOAL: one verifiable goal
BOUNDARIES: allowed and forbidden work
READ FIRST: paths to contracts and examples
CHECKS: commands this agent should run
REPORT: path, only when the result will be reused
```
Пустые разделы пропускаются. Сырой вывод и ход рассуждений не включаются.
При файловом канале этот договор заполняется в файле, а финальное сообщение
содержит только `ИТОГ`, счётчики и `АРТЕФАКТ: абсолютный путь`. При
`read-only` договор возвращается один раз сообщением без поля `АРТЕФАКТ`.
Добавь общий результат и язык временного обмена:
## Исполнитель
Файл задачи должен содержать:
```text
ЦЕЛЬ: одна проверяемая цель
КРИТЕРИИ: исчерпывающий список
ГРАНИЦЫ: разрешённые и запрещённые изменения
СНАЧАЛА ПРОЧИТАТЬ: пути к контрактам и образцам
ПРОВЕРКИ: узкие команды разработки
ОТЧЁТ: отдельный путь в обменном каталоге
```bash
cat "$D/params.md" "$P/result-contract.md" "$P/runtime-language.md" \
> "$D/prompt.md"
```
Короткий вызов: прочитать файл задачи и выполнить буквально. Агент с записью
в обменный каталог сохраняет полный отчёт по заданному пути и финальным
сообщением возвращает состояние, счётчики и путь. `read-only`-агент
возвращает короткий результат один раз сообщением. Коммит не делать.
Самодостаточный файл задачи, критерии и подробное обязательное чтение добавляй
только когда они действительно нужны выбранной работе.
## Слепое ревью
## Свежий ревьюер
Один канонический файл на всех ревьюеров:
Общая часть содержит задачу, изменённый объём и известные проверки. Фокус
содержит только выбранный для этого ревью класс риска. Для одного ревьюера:
```text
АРТЕФАКТ: задача и изменённый объём
ФОКУС: корректность, контракт, краевые случаи, честность тестов
МАНДАТ: исследовать и проверять гипотезы, исходники не исправлять
ФОРМАТ: severity, файл:строка, сценарий сбоя, доказательство, проверка
ВЕРДИКТ: APPROVED | REVISE
```bash
cat "$D/review-common.md" "$D/review-focus.md" \
"$P/review-boilerplate.md" "$P/runtime-language.md" \
> "$D/review-prompt.md"
```
Вызов каждого ревьюера добавляет только его фокус и канал результата:
- `workspace-write`: уникальный путь файла; финальное сообщение — вердикт,
счётчики по severity и путь; исходники не менять, Git сверить до и после;
- `read-only`: короткий индекс один раз финальным сообщением, без требования
записать файл.
Если осознанно выбраны несколько линий, каждому ревьюеру дай отдельный файл
фокуса и отдельный путь результата. Не создавай вторую линию только ради
симметрии или свежего треда того же семейства.
## Закрытие находок
Исполнителю передаются пути к исходным индексам ревью и такой короткий
мандат:
Передай исполнителю исходные индексы без пересказа. Обязательный
`triage-params.md` задаёт путь полного отчёта и нужные проверки. `notes.md`
добавляй только для новых решений мастера, которых у исполнителя ещё нет:
```text
По каждой находке: исправить, сузить или отклонить через контракт и проверку.
Не менять соседний объём. Полный отчёт решений записать по указанному пути.
Финальным сообщением вернуть счётчики, проверки и путь.
```bash
cat "$P/triage-header.md" "$D/triage-params.md" "$D/review-a.md" \
> "$D/fix-prompt.md"
if [ -f "$D/review-b.md" ]; then
cat "$D/review-b.md" >> "$D/fix-prompt.md"
fi
if [ -f "$D/notes.md" ]; then
cat "$D/notes.md" >> "$D/fix-prompt.md"
fi
cat "$P/runtime-language.md" >> "$D/fix-prompt.md"
```
Не переписывай находки в сообщение или новый файл: исходные индексы уже
являются неизменяемым входом.
## Узкая перепроверка
Прежнему ревьюеру передаются путь к его исходному индексу и путь к отчёту
решений исполнителя:
Используй прежний тред ревьюера. Параметры содержат пути к его исходному
индексу и отчёту решений, а также проверку, если она нужна:
```text
Проверь только прежние находки и новые правки рядом с ними.
По каждой: CLOSED | NOT_CLOSED | REJECTION_VALID | REJECTION_INVALID.
Полный повторный обход не выполнять.
```bash
cat "$P/recheck-header.md" "$D/recheck-params.md" \
"$P/runtime-language.md" > "$D/recheck-prompt.md"
```
Финальное сообщение: `ALL_CLOSED` или `ISSUES_REMAIN`, счётчики и путь к
файлу перепроверки.
Не запускай перепроверку автоматически: она нужна для принятых исправлений,
спорного отклонения или дорогой ошибки, а не для закрытия ритуального этапа.