# Task Brief

> Шаг 0 протокола — переработка задачи владельца в исполняемый бриф до любого действия. Разбирает запрос на полный перечень задач, ставит уровень и трек, гонит preflight (валидность агентов, каналы, состояние дела), считает прогноз бюджета, фиксирует разрешенные сервисы и запреты. Обязателен для любой работы по делу; справочный вопрос брифа не требует.

- Skill: `zarubinvibe/task-brief-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add zarubinvibe/task-brief-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zarubinvibe/task-brief-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: zarubinvibe (https://skillmd.com/u/zarubinvibe)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zarubinvibe/task-brief-2

---


# Бриф задачи — шаг 0, до любого действия

Владелец ставит задачу словами. Слова теряются: часть требований исполняется, часть забывается, лишнее додумывается. Бриф превращает запрос в проверяемый перечень и служит контрактом на всю сессию.

**Когда обязателен.** Любая работа по делу: картирование, практика, позиция, документ, заседание, разбор правок. Многосоставная задача владельца («сделай X, потом Y, учти Z»).
**Когда не нужен.** Справочный вопрос («когда заседание у X», «где файл Y») — точечный ответ без ритуала.

## Порядок

### 1. Разобрать запрос на перечень (без интерпретации)

Выписать КАЖДОЕ требование владельца отдельной строкой, своими словами не подменять. Требование прозвучало вскользь — все равно в список. Ничего не объединять «для краткости»: объединение прячет пункты.

Отдельно пометить: что владелец запретил, что назвал обязательным, какие цифры и имена назвал точно.

### 2. Классифицировать

| Что | Как определить |
|---|---|
| Дело | `cases/_index.md`; нет — `/new-case` первым шагом |
| Уровень | L1 / L2 / L3 по CLAUDE.md |
| Трек | FAST / FULL по триажу; сомнение — FAST |
| Тип результата | документ, карта, практика, позиция, разбор, правка системы |

### 3. Preflight — три команды, до плана

```bash
python3 scripts/themiz_status.py cases/{клиент}/{дело} --brief   # сводка старта + состояние + валидность frontmatter
python3 scripts/preflight_search.py                       # каналы поиска
ls $HOME/Desktop/inbox/                                       # новые материалы
```

Сломан frontmatter — чинить до работы: агент с невалидным YAML молча не попадет в реестр (прецедент 02.08.2026, конвейер встал на шаге 4). Внешних каналов нет — охота не запускается, работаем по `knowledge/practice_index.md`.

**Работа по подпискам, без долларового предела.** `python3 scripts/budget_preflight.py --track FULL` фиксирует подписочный режим. Отсутствие цены в USD не блокирует FULL. Токены — наблюдение за расходом контекста, не счет к оплате и не измеренный остаток подписки. Плановую норму не превращать в дополнительный жесткий потолок. Если провайдер сообщил об исчерпании квоты или отказе авторизации — остановить его вызовы и назвать причину; неизвестную квоту не объявлять свободной. Решение владельца 08.09.2026.

### 4. Сервисы — только из белого списка

Свериться с `knowledge/allowed-services.md`. В бриф вписать поименно, что будет использовано. Нужного сервиса нет в списке — СТОП, спросить владельца, внести после согласия. Молча подбирать замену запрещено.

### 5. План с прогнозом

Шаги по порядку: агент, модель, вход, прогноз токенов. Прогноз считать **от объема входа**, а не от числа агентов: повторная передача контекста увеличивает учтенные токены. Это не долларовая цена подписочного вызова. Материал до 15 000 токенов подавать агенту текстом в промпте, а не путем.

**Модель шага берется из прибора, а не из головы и не из пина в frontmatter:**

```bash
python3 scripts/model_policy.py --level L1 --step draft     # фактическая модель текущего профиля
python3 scripts/model_policy.py --brief .agent/context/_working/brief.md   # сверка плана
```

Шаги: `draft` `review` `hunt` `council-role` `council-chair` `read-text` `read-scan` `classify`. В Codex брать модель из `model_policy.py` и конфигурации роли; исторические алиасы Claude не передавать как имена моделей Codex. Заполнив таблицу, прогнать `--brief` по записанному файлу: код 1 — план правится до начала работ. Шаг, запрещенный триажем на этом уровне (охота на MICRO, совет на L1), прибор называет запрещенным — в план он не попадает.

Итог сверить прибором: `python3 scripts/token_ledger.py --track FAST|FULL` после шагов 2 и 3. Превышение плановой нормы токенов — информация для сокращения лишних чтений, не доказательство исчерпания подписки и не самостоятельный запрет продолжения. Ошибки счета, явный лимит контекста и отказ провайдера не скрывать. Ручное сложение `usage` субагентов не заменяет прибор.

### 6. Заморозка фактуры — перед шагом 4, обязательно

Самая дорогая статья проекта — не советы, а перегенерация документа: 773 000 токенов за одну сессию (54% ее расхода) и 285 061 на простом L1. Причина одна: материалы приходят волнами, и `doc-drafter` запускается заново на каждой.

До запуска составителя выписать в бриф **перечень открытых вопросов по фактуре**: чего не хватает в материалах, что владелец обещал дослать, какой реквизит не подтвержден, какая сумма не сверена. Пока перечень непуст — составитель НЕ стартует; закрывается он либо документами, либо письменным решением владельца «работаем с тем, что есть».

Перечень пуст → строкой в брифе: `ФАКТУРА ЗАМОРОЖЕНА ДД.ММ.ГГГГ`. После этой строки:

- `doc-drafter` запускается **один раз**;
- новые вводные после заморозки вносятся **Edit-патчем в готовый черновик**, а не перегенерацией;
- полная перегенерация допустима только при смене правовой позиции (меняется `positions.md`) — тогда откат на шаг 3, и это фиксируется в брифе отдельной строкой с причиной.

### 7. Критерии приемки

Что должно лежать на диске, с какими маркерами, чтобы задача считалась выполненной. Формулировать проверяемо: «файл X с маркером Y», а не «качественная карта».

## Формат брифа

Показать владельцу в чате и записать в `cases/{клиент}/{дело}/.agent/context/_working/brief.md` (нет дела — `cases/_logs/brief_ДД-ММ-ГГГГ.md`). Держать в пределах 40 строк: бриф экономит токены, а не тратит.

```
## БРИФ — {задача одной строкой}                Дата: ДД.ММ.ГГГГ

ЗАДАЧИ (полный перечень, ничего не опущено)
1. ...   2. ...   3. ...

КЛАССИФИКАЦИЯ  Дело: {путь} · Уровень: L{N} · Трек: {FAST|FULL} · Результат: {что}

PREFLIGHT  Frontmatter: {чист|сломан X} · Агенты: {N}/13 · Каналы: {список} · Инбокс: {N файлов}

ПЛАН
| Шаг | Исполнитель | Модель | Прогноз |
|---|---|---|---|

СЕРВИСЫ  {поименно из allowed-services.md}
ЗАПРЕТЫ  {что владелец запретил + инварианты CLAUDE.md, относящиеся к задаче}
ПРИЕМКА  {проверяемые критерии}
ФАКТУРА  {открытые вопросы списком | ФАКТУРА ЗАМОРОЖЕНА ДД.ММ.ГГГГ}
ПОДПИСКА   token_ledger.py --track {FAST|FULL} после шагов 2 и 3; без долларового потолка, остаток квоты не выдумывать.
```

## Дальше

Бриф утвержден владельцем либо не вызвал возражений — исполнять строго по нему. Отклонение от брифа по ходу работы фиксировать строкой в том же файле: дата, что меняется, почему. Задним числом бриф не переписывать.

## Сбои

| Ситуация | Действие |
|---|---|
| Задача противоречива | выписать противоречие в бриф и спросить владельца до начала |
| Требование невыполнимо (нет данных, нет доступа) | в бриф отдельным пунктом «не выполнить, потому что»; остальное делать |
| Владелец добавил задачу по ходу | дописать в перечень, пересчитать прогноз, сообщить дельту |
| Задача — правка самой системы | дело не нужно, бриф пишется в `cases/_logs/`, приемка через проверку по диску |

