Шаг −1. Расшифровка речи → исполняемый промпт
Владелец ставит задачи голосом. Расшифровка приходит рваной: мысль скачет, к теме возвращаются через три абзаца, половина требований звучит вскользь между делом, порядок не соблюден, отрицания теряются. task-brief работает уже с осмысленным текстом — до него нужен шаг, который делает текст осмысленным, ничего не потеряв и ничего не додумав.
Требование владельца дословно: «чтобы он шел и не ошибался». Отсюда главное правило скилла: место, где расшифровка допускает два прочтения, называется вслух, а не выбирается молча. Молчаливый выбор — это и есть ошибка, которая всплывет на шаге 4, когда документ уже составлен не по той позиции.
Когда обязателен. Вход — расшифровка голоса, надиктовка, поток мысли, сообщение без знаков препинания, текст с самоперебиванием («нет, подожди», «в смысле», «а, еще»).
Когда не нужен. Владелец написал связный текст руками. Справочный вопрос. Односложная команда («обнови индекс»).
Порядок
1. Принять расшифровку как есть
Записать исходник дословно в .agent/context/_working/raspoznano.md (нет дела — cases/_logs/raspoznano_ДД-ММ-ГГГГ.md). Исходник неприкосновенен: он точка сверки, когда через два дня выяснится, что требование поняли не так. Не чистить, не сокращать, не «причесывать».
2. Развернуть в перечень требований
Каждое требование — отдельной строкой. Правила:
- Ничего не опущено. Сказанное вскользь, в скобках, в конце фразы, после «ну и еще» — такое же требование, как названное первым. Именно вскользь сказанное теряется чаще всего.
- Своими словами не подменять. Формулировка владельца сохраняется; если она неточна — это фиксируется отдельной пометкой, а не исправляется молча.
- Не объединять. «Проверь и почини» — два требования, а не одно: починить можно, не проверив, и наоборот.
- Отрицания и запреты — отдельной строкой и заглавными. «Только не через WebSearch» в потоке речи теряется первым, а цена его потери максимальна.
- Числа, имена, даты, реквизиты — дословно. Расшифровка их искажает («шестнадцатое» / «шестьдесят»), поэтому каждое число помечается как требующее сверки, если названо на слух.
- Название организации, названное голосом, прогоняется через
python3 scripts/verify_inn.py --find "…" ДО передачи в работу. Одна буква меняет адресата: «АТОЛ» — производитель касс, эмитент; «АТОН» — брокер и депозитарий. Запрос ушел бы не туда, а ошибка вскрылась бы уже в готовом документе (прецедент 13.08.2026). Результат сверки — отдельной строкой в блоке СВЕРИТЬ НА СЛУХ, с реквизитами из ЕГРЮЛ. Совпадений несколько или ни одного — это развилка, а не повод выбрать похожее молча.
3. Восстановить пропущенное
Речь опирается на общий контекст, которого в тексте нет. Разобрать три вида пропусков:
| Вид |
Что искать |
Что делать |
| Указатели |
«это», «там», «тот файл», «как обсуждали», «то дело» |
восстановить по контексту сессии и по диску; не восстановилось — в открытые вопросы |
| Противоречия |
два требования, которые нельзя выполнить одновременно |
выписать ОБА и назвать конфликт явно, не выбирать |
| Недосказанное |
требование без критерия готовности, без адресата, без объема |
назвать, чего не хватает, и предложить умолчание |
4. Отделить требование от контекста и эмоции
Три корзины, каждая нужна, но смешивать их нельзя:
- ТРЕБОВАНИЕ — то, что надо сделать. Идет в промпт.
- КОНТЕКСТ — зачем, история, предыстория дела. Идет в промпт справочно, исполнению не подлежит.
- ОЦЕНКА — «достало», «это важно», «хорошо получилось». В промпт НЕ идет, но ее сила читается как приоритет: то, о чем сказано резко, ставится выше в порядке шагов.
Типовая ошибка — превратить оценку в задачу: из «меня бесит, что скрипт врет» сделать «переписать скрипт», когда владелец просил всего лишь починить одну проверку.
5. Назвать двойные прочтения
Отдельный обязательный блок. Каждое место, где текст допускает больше одного понимания:
РАЗВИЛКА N. «{цитата из расшифровки}»
Прочтение А: {…} → тогда делаем {…}
Прочтение Б: {…} → тогда делаем {…}
Предлагаю: {А или Б} — потому что {довод}. Подтвердите либо поправьте.
Развилок нет — так и написать: «двойных прочтений не нашел». Пустой блок — сигнал, что шаг пропущен, а не что текст однозначен.
6. Собрать исполняемый промпт
Итог — промпт, по которому работа идет от начала до конца без переспрашивания. Обязательные части: порядок шагов, критерии приемки, запреты. Промпт пишется так, чтобы его можно было отдать другой сессии, ничего не объясняя устно.
7. Показать владельцу и дождаться ответа
Промпт и блок развилок показываются владельцу ДО начала работы. Дальше:
- владелец подтвердил → исполнять;
- владелец поправил → внести правку в промпт, показать снова только измененное;
- владелец молчит, а работа не ждет → исполнять по предложенному прочтению, пометив в промпте строкой
ПРИНЯТО БЕЗ ПОДТВЕРЖДЕНИЯ: развилка N, прочтение А. Это честная запись риска, а не разрешение решать за владельца.
8. Передать в task-brief
Утвержденный промпт — вход шага Б (task-brief). Дальше протокол идет обычным порядком: 0 → 1 → 2 → 3 → 4 → 5.
Формат
Записать в .agent/context/_working/prompt.md (нет дела — cases/_logs/prompt_ДД-ММ-ГГГГ.md), показать в чате целиком.
## ПРОМПТ ИЗ РАСШИФРОВКИ Дата: ДД.ММ.ГГГГ · Исходник: raspoznano.md
ТРЕБОВАНИЯ (полный перечень, ничего не опущено)
1. …
2. …
ЗАПРЕТЫ (заглавными, дословно от владельца)
- НЕ …
КОНТЕКСТ (справочно, исполнению не подлежит)
- …
ВОССТАНОВЛЕНО «это» = {…} · «как обсуждали» = {…}
НЕ ВОССТАНОВЛЕНО {что осталось непонятным}
РАЗВИЛКИ
РАЗВИЛКА 1. «…» → А: … / Б: … · предлагаю А, потому что …
СВЕРИТЬ НА СЛУХ {числа, имена, даты, названные голосом}
ИСПОЛНЯЕМЫЙ ПРОМПТ
{текст от начала до конца: шаги по порядку, критерии приемки, запреты}
Проверка себя перед сдачей
Сбои
| Ситуация |
Действие |
| Расшифровка обрывается на полуслове |
исполнять полную часть, оборванное — в открытые вопросы; не додумывать концовку |
| Требований больше десяти |
сгруппировать по результату, порядок сохранить, ни одно не выбрасывать |
| Владелец диктовал два разных дела подряд |
разделить на два промпта, спросить, какое первым |
| Расшифровка искажает термин («статья 335» вместо «333») |
обе версии в промпт, пометить к сверке, норму проверить scripts/cite.py |
| Развилок больше пяти |
это не расшифровка, а разговор: собрать вопросы одним списком и спросить владельца до промпта |
1---2name: voice-to-brief3description: Шаг −1 протокола — превращение сырой голосовой расшифровки владельца в исполняемый промпт ДО брифа. Разворачивает рваную речь в полный перечень требований, восстанавливает недосказанное, называет места двойного прочтения вместо молчаливого выбора, отделяет требование от контекста и эмоции, собирает итог как промпт от начала до конца и получает подтверждение владельца. Обязателен, когда вход — расшифровка речи, надиктовка, поток мысли; печатный связный текст этого шага не требует.4---56# Шаг −1. Расшифровка речи → исполняемый промпт78Владелец ставит задачи голосом. Расшифровка приходит рваной: мысль скачет, к теме возвращаются через три абзаца, половина требований звучит вскользь между делом, порядок не соблюден, отрицания теряются. `task-brief` работает уже с осмысленным текстом — до него нужен шаг, который делает текст осмысленным, ничего не потеряв и ничего не додумав.910**Требование владельца дословно: «чтобы он шел и не ошибался».** Отсюда главное правило скилла: **место, где расшифровка допускает два прочтения, называется вслух, а не выбирается молча.** Молчаливый выбор — это и есть ошибка, которая всплывет на шаге 4, когда документ уже составлен не по той позиции.1112**Когда обязателен.** Вход — расшифровка голоса, надиктовка, поток мысли, сообщение без знаков препинания, текст с самоперебиванием («нет, подожди», «в смысле», «а, еще»).13**Когда не нужен.** Владелец написал связный текст руками. Справочный вопрос. Односложная команда («обнови индекс»).1415## Порядок1617### 1. Принять расшифровку как есть1819Записать исходник дословно в `.agent/context/_working/raspoznano.md` (нет дела — `cases/_logs/raspoznano_ДД-ММ-ГГГГ.md`). Исходник неприкосновенен: он точка сверки, когда через два дня выяснится, что требование поняли не так. Не чистить, не сокращать, не «причесывать».2021### 2. Развернуть в перечень требований2223Каждое требование — отдельной строкой. Правила:2425- **Ничего не опущено.** Сказанное вскользь, в скобках, в конце фразы, после «ну и еще» — такое же требование, как названное первым. Именно вскользь сказанное теряется чаще всего.26- **Своими словами не подменять.** Формулировка владельца сохраняется; если она неточна — это фиксируется отдельной пометкой, а не исправляется молча.27- **Не объединять.** «Проверь и почини» — два требования, а не одно: починить можно, не проверив, и наоборот.28- **Отрицания и запреты — отдельной строкой и заглавными.** «Только не через WebSearch» в потоке речи теряется первым, а цена его потери максимальна.29- **Числа, имена, даты, реквизиты — дословно.** Расшифровка их искажает («шестнадцатое» / «шестьдесят»), поэтому каждое число помечается как требующее сверки, если названо на слух.30- **Название организации, названное голосом, прогоняется через `python3 scripts/verify_inn.py --find "…"` ДО передачи в работу.** Одна буква меняет адресата: «АТОЛ» — производитель касс, эмитент; «АТОН» — брокер и депозитарий. Запрос ушел бы не туда, а ошибка вскрылась бы уже в готовом документе (прецедент 13.08.2026). Результат сверки — отдельной строкой в блоке СВЕРИТЬ НА СЛУХ, с реквизитами из ЕГРЮЛ. Совпадений несколько или ни одного — это развилка, а не повод выбрать похожее молча.3132### 3. Восстановить пропущенное3334Речь опирается на общий контекст, которого в тексте нет. Разобрать три вида пропусков:3536| Вид | Что искать | Что делать |37|---|---|---|38| **Указатели** | «это», «там», «тот файл», «как обсуждали», «то дело» | восстановить по контексту сессии и по диску; не восстановилось — в открытые вопросы |39| **Противоречия** | два требования, которые нельзя выполнить одновременно | выписать ОБА и назвать конфликт явно, не выбирать |40| **Недосказанное** | требование без критерия готовности, без адресата, без объема | назвать, чего не хватает, и предложить умолчание |4142### 4. Отделить требование от контекста и эмоции4344Три корзины, каждая нужна, но смешивать их нельзя:4546- **ТРЕБОВАНИЕ** — то, что надо сделать. Идет в промпт.47- **КОНТЕКСТ** — зачем, история, предыстория дела. Идет в промпт справочно, исполнению не подлежит.48- **ОЦЕНКА** — «достало», «это важно», «хорошо получилось». В промпт НЕ идет, но ее сила читается как приоритет: то, о чем сказано резко, ставится выше в порядке шагов.4950Типовая ошибка — превратить оценку в задачу: из «меня бесит, что скрипт врет» сделать «переписать скрипт», когда владелец просил всего лишь починить одну проверку.5152### 5. Назвать двойные прочтения5354Отдельный обязательный блок. Каждое место, где текст допускает больше одного понимания:5556```57РАЗВИЛКА N. «{цитата из расшифровки}»58 Прочтение А: {…} → тогда делаем {…}59 Прочтение Б: {…} → тогда делаем {…}60 Предлагаю: {А или Б} — потому что {довод}. Подтвердите либо поправьте.61```6263Развилок нет — так и написать: «двойных прочтений не нашел». Пустой блок — сигнал, что шаг пропущен, а не что текст однозначен.6465### 6. Собрать исполняемый промпт6667Итог — промпт, по которому работа идет от начала до конца без переспрашивания. Обязательные части: порядок шагов, критерии приемки, запреты. Промпт пишется так, чтобы его можно было отдать другой сессии, ничего не объясняя устно.6869### 7. Показать владельцу и дождаться ответа7071Промпт и блок развилок показываются владельцу ДО начала работы. Дальше:7273- владелец подтвердил → исполнять;74- владелец поправил → внести правку в промпт, показать снова только измененное;75- владелец молчит, а работа не ждет → исполнять по предложенному прочтению, пометив в промпте строкой `ПРИНЯТО БЕЗ ПОДТВЕРЖДЕНИЯ: развилка N, прочтение А`. Это честная запись риска, а не разрешение решать за владельца.7677### 8. Передать в task-brief7879Утвержденный промпт — вход шага Б (`task-brief`). Дальше протокол идет обычным порядком: 0 → 1 → 2 → 3 → 4 → 5.8081## Формат8283Записать в `.agent/context/_working/prompt.md` (нет дела — `cases/_logs/prompt_ДД-ММ-ГГГГ.md`), показать в чате целиком.8485```86## ПРОМПТ ИЗ РАСШИФРОВКИ Дата: ДД.ММ.ГГГГ · Исходник: raspoznano.md8788ТРЕБОВАНИЯ (полный перечень, ничего не опущено)891. …902. …9192ЗАПРЕТЫ (заглавными, дословно от владельца)93- НЕ …9495КОНТЕКСТ (справочно, исполнению не подлежит)96- …9798ВОССТАНОВЛЕНО «это» = {…} · «как обсуждали» = {…}99НЕ ВОССТАНОВЛЕНО {что осталось непонятным}100101РАЗВИЛКИ102РАЗВИЛКА 1. «…» → А: … / Б: … · предлагаю А, потому что …103104СВЕРИТЬ НА СЛУХ {числа, имена, даты, названные голосом}105106ИСПОЛНЯЕМЫЙ ПРОМПТ107{текст от начала до конца: шаги по порядку, критерии приемки, запреты}108```109110## Проверка себя перед сдачей111112- [ ] Каждое требование расшифровки есть в перечне — сверено по исходнику, а не по памяти.113- [ ] Ни одно требование не объединено с другим.114- [ ] Все запреты вынесены отдельно и заглавными.115- [ ] Блок развилок непуст либо содержит явное «двойных прочтений не нашел».116- [ ] Ни одна оценка не превращена в задачу.117- [ ] Числа и имена, названные голосом, помечены к сверке.118- [ ] Промпт исполним без устных пояснений.119120## Сбои121122| Ситуация | Действие |123|---|---|124| Расшифровка обрывается на полуслове | исполнять полную часть, оборванное — в открытые вопросы; не додумывать концовку |125| Требований больше десяти | сгруппировать по результату, порядок сохранить, ни одно не выбрасывать |126| Владелец диктовал два разных дела подряд | разделить на два промпта, спросить, какое первым |127| Расшифровка искажает термин («статья 335» вместо «333») | обе версии в промпт, пометить к сверке, норму проверить `scripts/cite.py` |128| Развилок больше пяти | это не расшифровка, а разговор: собрать вопросы одним списком и спросить владельца до промпта |