- Зачем: - нужно сохранить контекст координатора и устранить расхождения с зеркальным playbook. - Что: - закреплены делегирование, маршрутизация моделей и ограничение кругов ревью. - добавлены файловый договор ревью и согласованная эмпирика прогонов. - исправлены сборка слепых линий и компактные статусы находок. - Проверка: - quick_validate.py, git diff --check и проверка локальных Markdown-ссылок.
135 lines
5.8 KiB
Markdown
135 lines
5.8 KiB
Markdown
# Сборка нативных промптов
|
|
|
|
Это механика после выбора приёма в [основной оптике](../SKILL.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) — язык временного обмена.
|
|
|
|
Меняй договор только в его авторитетном файле. В параметрических файлах держи
|
|
только факты конкретной задачи.
|
|
|
|
## Каталог прогона
|
|
|
|
`$SCRATCH` определён в основном файле как общий временный каталог. Для задачи
|
|
создай уникальную подпапку: `D="$SCRATCH/<NN-slug>"`. `P` указывает на
|
|
`references/prompts` этого скилла. Каждый агент получает отдельный `REPORT`.
|
|
|
|
Собирай файлы механически, не читая полезную нагрузку в контекст координатора.
|
|
Примеры ниже используют POSIX `cat`; в PowerShell применяй
|
|
`Get-Content <paths> | Set-Content -Encoding utf8 <target>`.
|
|
|
|
## Исполнитель или исследователь
|
|
|
|
`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
|
|
```
|
|
|
|
```bash
|
|
cat "$D/params.md" "$P/result-contract.md" "$P/runtime-language.md" \
|
|
> "$D/prompt.md"
|
|
```
|
|
|
|
Самодостаточную постановку и подробное обязательное чтение добавляй только
|
|
когда они нужны выбранной работе.
|
|
|
|
## Ревью постановки или реализации
|
|
|
|
`review-common.md` одинаков для одного обзора:
|
|
|
|
```text
|
|
TITLE: short review title
|
|
WORKING DIRECTORY: absolute repo path
|
|
STATEMENT: task and parent spec paths
|
|
SCOPE: changed files or task sections under review
|
|
BASELINE: what is explicitly outside this review
|
|
CHECKS: commands and expected counters
|
|
```
|
|
|
|
`review-output.md` задаёт поля конкретной линии:
|
|
|
|
```text
|
|
TYPE: spec | task | code
|
|
FINDING PREFIX: SPEC-A | SPEC-B | TASK | CODE
|
|
REPORT: absolute unique path
|
|
```
|
|
|
|
`review-focus.md` задаёт один выбранный фокус. Для постановки:
|
|
|
|
```text
|
|
Review the task statement, not an implementation. Check facts against code,
|
|
hidden one-line decisions, boundaries, checkable acceptance criteria, and
|
|
ways to satisfy the wording without the intended result.
|
|
```
|
|
|
|
Для реализации выбери 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.
|
|
```
|
|
|
|
```bash
|
|
cat "$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` добавляй
|
|
только для совпадений, противоречий и новых решений уровня задачи.
|
|
|
|
```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/coordinator-notes.md" ]; then
|
|
cat "$D/coordinator-notes.md" >> "$D/fix-prompt.md"
|
|
fi
|
|
cat "$P/runtime-language.md" >> "$D/fix-prompt.md"
|
|
```
|
|
|
|
## Узкая перепроверка
|
|
|
|
Продолжай исходный тред ревьюера. `recheck-params.md` задаёт пути к его
|
|
исходному отчёту и файлу резолюций, нужную проверку и новый уникальный
|
|
`REPORT`.
|
|
|
|
```bash
|
|
cat "$P/recheck-header.md" "$D/recheck-params.md" \
|
|
"$P/runtime-language.md" > "$D/recheck-prompt.md"
|
|
```
|
|
|
|
Перепроверка следует решению координатора по договору ревью, а не номеру этапа.
|