# Использование

## Загрузить промпт — три шага

1. Откройте [`PROMPT.ru.md`](https://github.com/paulmann/agent-prompt-kit/blob/main/PROMPT.ru.md).
2. Скопируйте всё **ниже YAML-заголовка** — заголовок нужен сопровождающим, а не агенту.
3. Вставьте в поле системного промпта агента или в файл правил, который читает рантайм.

Больше ничего не требуется. Промпт не называет инструментов, поэтому отсутствующая возможность
деградирует явно (M6): агент говорит, какой возможности нет, вместо того чтобы делать вид, что
сработало.

## Проверить набор до того, как ему доверять

```bash
python tools/prompt_lint.py            # код 0 = документ структурно полон
python tools/prompt_lint.py --json     # те же находки машинно-читаемо
python tools/experience.py selftest    # хранилище отклоняет то, что обещает отклонять
```

Замерено на свежем клоне:

```text
PASS: 0 error(s), 0 warning(s)
13/13 experience checks passed
```

Линтер — структурные ворота, а не суждение о содержании: он доказывает, что каждый модуль есть, что у
него есть строка `**Check:**`, что у него есть русский двойник и что перекрёстные ссылки разрешаются.
Суждение о содержании — в `docs/QA.ru.md` репозитория.

## Как выглядит готовый ответ

```markdown
## Answer
<сам результат, без предисловия>

## Evidence
- утверждение — путь:строка / URL / вывод команды

## Assumptions
- допущение — что изменится, если оно неверно

## Open questions
- что определить не удалось и почему это важно

## Reused experience
- id записи — вердикт применимости (match | adapted | rejected) — что адаптировано

## Next step
<одно действие, с командой>

gate 12/12
```

Раздел `## Reused experience` появляется только когда хранилище действительно дало использованную
запись; строка ворот — всегда.

## Четыре проверки до чтения результата

| Проверка | Провал, когда |
|---|---|
| тема названа одним предложением | ответ разбирает соседнюю, более лёгкую задачу |
| строка ворот присутствует | ответ выглядит проверяемым, но им не является |
| у каждого допущения названо последствие | «наверное, нормально» без цены ошибки |
| то, что вне рамок, записано | половина запроса молча выброшена |

## Первые десять минут на новой теме

1. Дайте агенту написать **карточку задачи** (M1). Если он не может назвать тему одним предложением
   — он не понял запрос; остановите его здесь, это дешевле, чем читать три страницы не той работы.
2. Дайте написать **карточку домена** (M2). Набор навыков, подходящий любому проекту, универсален и
   бесполезен; спрашивайте конкретно про факты из строки «надо проверить».
3. Посмотрите на первую **проверку** (M5). Она должна сравнивать результат с ожиданием, записанным
   *до* действия, а не подгонять ожидание после.
4. Прочитайте строку ворот, затем результат.

Разрешён не более одного уточняющего вопроса, и только если пробел блокирует всё продвижение
(M1, правило 3). Остальные пробелы уходят в `Unknowns` и в `## Assumptions`.

## Когда агент пропустил шаг — назовите модуль

Идентификаторы модулей — это интерфейс, а не украшение:

| Симптом | Что сказать |
|---|---|
| правдоподобный ответ без источников | «M3 и M4: где журнал контекста и какие утверждения помечены?» |
| работа начата без понимания запроса | «M1: сначала карточка задачи» |
| уверенность в коде, который никто не читал | «M4, правило 3: `проверить не смог` — допустимый ответ» |
| необратимое действие сделано тихо | «M6, правила 2–3: сначала песочница либо вопрос» |
| строка ворот отсутствует | «M8: прогони ворота и сообщи их одной строкой» |
| ту же работу собираются делать заново | «M13: поищи в хранилище до планирования» |

## Необратимые действия

Удаление, перезапись, миграция, публикация, отправка: промпт требует воспроизведения в песочнице с
приманкой, которая обязана выжить, сухого прогона там, где инструмент его даёт, и явного согласия
(M6). Если агент это пропустил, ответ не «в основном правильный» — он не принят, как бы ни выглядело
остальное.

Дальше: [Карта модулей](02-Modules.ru.md) — что именно проверяет каждый модуль, либо
[Установка](03-Install.ru.md), чтобы поставить команду в палитру.
