# Askacouncil

> Совет по судебной практике (метод LLM Council). Три анонимных рецензента (Sonnet) перекрестно проверяют выжимки отчетов охотников, председатель (Opus) синтезирует вердикт, итог — practice.md с маркером «## СОВЕТ ЗАВЕРШЕН». Вызывается когда на FULL-треке готовы все три hunter_*.md — командой /askacouncil {путь_к_делу} или из флоу doc-drafter при отсутствии маркера в practice.md.

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

---


# Совет по судебной практике

Один охотник может ошибиться — три под перекрестным допросом не могут. Ровно ОДИН раунд анонимного рецензирования, затем синтез председателя; расхождение рецензентов — не сбой и не повод для второго раунда: решает председатель. Итоговый practice.md пишет исполнитель скилла (Фемида) по вердикту.

Состав: рецензенты 1-3 параллельно (`sonnet`) — оценка анонимных выжимок; председатель (`opus`) — деанонимизированный синтез; исполнитель (текущая сессия) — анонимизация, верификация цифр, запись артефактов.

**Экономика (канон из замеров).** Сырье рецензентам — ТЕКСТОМ в промпте, не путями: рецензент, читавший три файла по путям, стоил 125 000 токенов ради ответа в 250 слов. Механика — скриптом, не рассуждением.

## Входной контракт (любой провал → СТОП, совет не начинать)

- Трек FULL (спорный L2 / L3) по `_case.md`; нет → СТОП: «L1 и FAST — синтез practice.md делает Фемида сама (Opus)».
- Три отчета: `ls .agent/context/_practice/hunter_{classic,skeptic,tactical}.md`; нет → СТОП: «Запустите охотника {имя}».
- В каждом ≥3 источника с номерами дел (grep по `№` и датам); нет → перезапуск охотника (до 2 раз), после — СТОП.
- Карта: `grep '## КАРТА ГОТОВА ✓' .agent/context/knowledge-map.md`; нет → СТОП: «Запустите case-mapper».
- Закрытые вопросы (заголовки существующего practice.md) исключить из повестки; все закрыты → СТОП: «совет не нужен».

## Алгоритм

### 1. Контекст и вопрос совета
Прочитать по одному разу: `knowledge-map.md`, `_case.md`, три `hunter_*.md`. Вопрос совета — нейтрально, без пересказа: «Три независимых аналитика исследовали практику по делу {клиент}/{дело}. ПРАВОВЫЕ ВОПРОСЫ: {незакрытые из карты}. КОНТЕКСТ: {2-3 строки из _case.md}. НА КОНУ: {документ/стадия}. Задача: оценить надежность практики, выявить пробелы и противоречия».

### 2. Анонимизация и выжимки (утечка по стилю — инцидент 23.07.2026, knowledge/lessons-log.md)
1. Случайно назначить отчетам буквы А/Б/В. Маппинг записать СРАЗУ, ДО раздачи рецензентам, в шапку `.agent/context/_council/council_reviews.md`; рецензентам не раскрывать.
2. Из каждого hunter-файла — ВЫЖИМКА: только содержательные разделы («Найдено» / риски / козыри-угрозы) и таблица «Источники». «Не найдено», «НЕ ЦИТИРОВАТЬ до проверки», ограничения поиска не включать — для оценки надежности не нужны.
3. Снять заголовки и самоназвания (Спасович, Карабчевский, Плевако, Классик, Скептик, Тактик, «охотник А/Б/В»), шапка → «Отчет {буква}».
4. Контроль утечки: `grep -icE "спасович|карабчевский|плевако|классик|скептик|тактик" {выжимка}` — нашлось → дочистить, только потом раздавать.

### 3. Рецензирование — 3 субагента параллельно, одним сообщением, model: sonnet
Каждому — вопрос совета + три выжимки ТЕКСТОМ в промпте (суммарно ≤15 000 токенов; пути не давать):
```
Ты — старший юрист, рецензируешь работу трех аналитиков судебной практики.
{вопрос совета}
Отчет А: {выжимка} / Отчет Б: {выжимка} / Отчет В: {выжимка}
Правило (дословно, обязательное): стиль отчета не является основанием атрибуции.
Оценивай только содержание. Попытка угадать автора по манере письма — ошибка рецензии.
Три пункта, по буквам, до 250 слов, без дипломатии:
1. СИЛЬНЕЙШИЙ ОТЧЕТ (один): почему. 2. СЛАБОЕ МЕСТО (один отчет): что пропустил или неверно.
3. ОБЩИЙ ПРОБЕЛ: чего не хватает всем трем.
```
Ждать все три. Упал/пустой → перезапустить только его (до 2 раз), после — СТОП с докладом.

### 4. Верификация замечаний (замечания тоже врут) — исполнителем, ДО председателя, скриптом
Каждое критическое замечание о цифрах (госпошлина, сроки, суммы, реквизиты): сначала grep по `knowledge/practice_index.md`; реквизиты актов — `python3 scripts/verify_act.py {номера}`; остальное — `scripts/fetch_url.sh` по vsrf.ru / ksrf.ru / kad.arbitr.ru + grep. Модель читает итог, не рассуждает. Бывают ложные тревоги (пошлина физлица vs организации). Пометка в council_reviews.md: `подтверждено` / `отклонено: {причина}` / `требует проверки`; непроверяемое в вердикт — только как «требует проверки».

### 5. Председатель — 1 субагент, model: opus
Получает текстом: вопрос совета, три отчета С РАСКРЫТЫМИ именами, три рецензии с пометками верификации. Структура вердикта — строго:
```
## Где охотники сходятся — подтверждено 2-3 охотниками, высоконадежное
## Где охотники расходятся — реальные противоречия, не сглаживать, влияние на дело
## Слепые пятна рецензентов — что вскрыл только перекрестный анализ
## Уровни надежности практики — каждый акт: Уровень 1 (2-3 источника) / Уровень 2 (один, не оспорен) / Уровень 3 (спорный)
## Итоговая рекомендация — ссылаться на X, контрдовод на Y, Z не использовать
## Первый шаг — одно действие прямо сейчас
```
Правила: сильный аргумент важнее голосования рецензентов; реквизиты не выдумывать, неподтвержденное — «требует проверки»; цитаты Пленума/КС — дословно из hunter-файлов либо не цитировать.

### 6. Артефакты (исполнитель)
`_council/council_reviews.md` — маппинг + рецензии + пометки верификации; `_council/council_verdict.md` — вердикт полностью; `practice.md` — инкрементально (закрытые разделы не перезаписывать, новые добавить, устаревшие обновить с датой). Рапорт — caveman, 3-5 строк; собрать `usage` субагентов для токен-отчета Фемиды.

## Контракт вывода — `.agent/context/practice.md`

```
# Судебная практика — {Клиент} / {Дело}
Обновлено: ДД.ММ.ГГГГ
## СОВЕТ ЗАВЕРШЕН — ДД.ММ.ГГГГ ✓
Охотники: Классик ✓ | Скептик ✓ | Тактик ✓ · Рецензентов: 3 · Раундов: 1
## Практика в нашу пользу — Уровень 1 (Подтверждено)
## Практика в нашу пользу — Уровень 2 (Один источник — проверить реквизиты перед ссылкой)
## Практика против нас — для контраргументов (довод / практика / наш ответ)
## Процессуальная практика
## Спорные позиции — Уровень 3 (вопрос / позиция А / позиция Б / рекомендация)
## Слепые пятна (нужна дополнительная работа)
## Источники (акт / реквизиты / URL / уровень / охотник)
```
Маркер — дословно `## СОВЕТ ЗАВЕРШЕН` (через Е; строка с датой после допустима). Каждый акт: `{суд} от ДД.ММ.ГГГГ № {номер}` + суть + как использовать. Хорошо: `Определение СКГД ВС РФ от 14.02.2023 № 5-КГ22-144-К2 — давность по разделу течет с момента нарушения права, не с развода.` Плохо: `Суды обычно поддерживают такую позицию` — не включать.

## Сбои

- Grep нашел имя охотника в выжимке → дочистить, до чистки не раздавать.
- Рецензент атрибутировал по стилю → атрибуцию игнорировать, содержание использовать.
- Замечание о цифрах не подтвердилось → «отклонено» в council_reviews.md, председателю с пометкой.
- Источник не верифицируется → «требует проверки»; archivist не индексирует.
- `Agent type ... not found` → СТОП: реестр стар, полный перезапуск Codex (не resume).

## Самопроверка перед возвратом (по диску, не по памяти)

- [ ] practice.md перечитан с диска, маркер `## СОВЕТ ЗАВЕРШЕН` дословно
- [ ] каждый акт: `{суд} от ДД.ММ.ГГГГ № {номер}` либо «требует проверки»; даты ДД.ММ.ГГГГ; `grep -n $'е\|Е' {файл}` — пусто
- [ ] council_reviews.md (маппинг + 3 рецензии + верификация) и council_verdict.md записаны полностью
- [ ] закрытые ранее разделы не затерты; «Источники» покрывает каждый акт
Не прошло — исправить и перепроверить, сырое не возвращать.

