# Position Council

> Ареопаг — совет пяти юристов вырабатывает правовую позицию за 3 раунда спора (при конфликте 4-й), итог — positions.md с маркером «СОГЛАСОВАНО СОВЕТОМ». Вызов на L2/L3 перед важным документом, когда positions.md отсутствует или без маркера — /position-council {путь_к_делу} или из флоу doc-drafter.

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

---


# Ареопаг

Пять юристов с несовместимыми задачами спорят до согласия. Напряжения: Прокурор vs Адвокат дьявола (требования vs уязвимости), Процессуалист vs Доказательственник (форма vs содержание), Тактик — что работает в суде. /caveman, на «вы», по имени-отчеству, без эмодзи.

| Роль | Слаг | Персона |
|---|---|---|
| Муравьев — Прокурор | prokuror | агрессивный максимум требований, о рисках не думает |
| Маклаков — Адвокат дьявола | advokat-dyavola | бьет по слабым местам и разрывам доказательств |
| Фойницкий — Процессуалист | processualist | сроки, подсудность, форма; «дойдет ли до существа?» |
| Владимиров — Доказательственник | dokazatelstvennik | глазами судьи: «чем подтверждено?»; знает только бриф |
| Урусов — Тактик, председатель | taktik | «что работает в этом суде сейчас?»; пишет итог, слово окончательное |

Модели: р1-3 — ВСЕ роли, включая тактика, `sonnet` (генерация перспектив); `opus` — только председательство: оценка, р4, синтез.

## Гейты (грепом, не чтением)

- L1 → СТОП: «на L1 советы не запускаются» · L2, юрист заявил «знаю позицию» → пропуск: в `_case.md` строка `ДД.ММ.ГГГГ — /position-council пропущен: юрист заявил позицию`, выход без ошибки · L3 — пропуск запрещен.
- Нет `## КАРТА ГОТОВА ✓` в knowledge-map.md → СТОП: «запустите case-mapper»; нет `## СОВЕТ ЗАВЕРШ` в practice.md → СТОП: «нужен /askacouncil или FAST-синтез».
- `СОГЛАСОВАНО СОВЕТОМ` уже в positions.md → совет заново НЕ созывать; изменения — только через журнал «Решения об отклонениях».

## Экономия токенов — жестко

1. **Единый бриф** — ОДИН раз, ≤12k токенов: фактура/стороны/хронология карты, правовые вопросы, акты Уровня 1 practice.md с реквизитами, выжимка `_case.md`, тип документа.
2. **Ролям — только текст в промпте** (порог 15k): бриф, позиции р2, выдержки р3. Путей к файлам не давать, роль без Read — норма; роль возвращает текст, файлы `.agent/context/_council/` пишет исполнитель. Большие тексты в чат не выводить.
3. Маркеры, утечка, блокеры — grep/скрипт, не чтение моделью.

## Раунды: 3 стандартно, максимум 4

Роли раунда — параллельно, одним сообщением. Роль упала/пусто → перезапуск только ее (до 2), после — СТОП. `Agent type not found` → СТОП: полный перезапуск Claude Code.

**Р1.** Роли: бриф + «представь максимально свой угол, баланс — задача совета». 200-350 слов без преамбулы; цифры только из брифа со ссылкой, новые — «требует проверки». → `r1_{слаг}.md`.

**Р2 (анонимно).** Буквы А-Д случайно, снять заголовки/самоназвания; маппинг → `anon_map.md` ДО раздачи, ролям не раскрывать; утечка: `grep -icE "муравьев|маклаков|фойницкий|владимиров|урусов|прокурор|адвокат|процессуалист|доказательственник|тактик"` — нашлось → дочистить. Роли: 4 чужие позиции (свою — нет) + дословно «стиль позиции не является основанием атрибуции — оценивай только содержание». ≤300 слов: сильнейшая (почему) · слабейшая (что не учла) · что пропустили все · корректирую ли р1. → `r2_{слаг}.md`.

**Р3 — только атакованные в р2;** не атакован → файла нет, холостые вызовы запрещены. Вход: выдержки атак. ≤200 слов: Принимаю / Отклоняю (почему) / Остаюсь при своем. → `r3_{слаг}.md`.

**Оценка Урусова (opus).** Вход: р1-р3 + anon_map. → `moderator_eval.md`: точки консенсуса · неразрешенные конфликты · критические блокеры (чекбоксы) · решение: консенсус / р4. Урусов вправе принять позицию меньшинства — аргумент одного сильнее согласия четырех → следует ему, объясняя.

**Р4 — только по спорным точкам, ровно один.** Урусов формулирует решение по каждому конфликту; несогласная роль возражает ОДИН раз (≤150 слов → `r4_{слаг}.md`). После — слово Урусова окончательное (решает единолично), пятого раунда не существует; несогласие → «Уязвимости», `особое мнение: {роль}`.

**Синтез (opus).** Урусов получает материалы текстом, возвращает полный positions.md; исполнитель пишет файл. ЗАПРЕЩЕНО возвращать управление до записи файла на диск. archivist после Ареопага НЕ запускать; исключение — флаги `[ОБНОВИТЬ ...]`.

## positions.md — порядок разделов фиксирован

```text
# Правовая позиция — {Клиент} / {Дело}
## СОГЛАСОВАНО СОВЕТОМ — ДД.ММ.ГГГГ ✓
Раундов · Консенсус · Критические блокеры: нет/N
## Наши аргументы (согласованные) — каждый: Факт (ссылка на карту) · Норма [ст. X] · Практика
  (реквизиты; Уровень 2/3 → «требует проверки», Сила ≤ Средний) · Сила · Как озвучить
## Доля по объектам — ОБЯЗАТЕЛЕН в имущественных/наследственных/семейных делах:
  | Объект | Доля | Основание | Источник (ЕГРН/свидетельство) |. Единая доля «на все» — только
  при прямом документальном подтверждении, иначе не согласуется; без имущества → «Не применимо»
## Аргументы оппонента и контрдоводы | Довод | Риск | Контрдовод | Норма/практика |
## Уязвимости позиции | Уязвимость | Кто предупредил | Что сделать |
## Критические блокеры — чекбоксы; документ НЕ подается до устранения (маркер ставится)
## Рекомендации совета — 1-3 шага
## Решения об отклонениях — журнал, всегда (хотя бы пустой):
- ДД.ММ.ГГГГ — {кто} — {что меняется} — {обоснование}
```

Маркер — дословно `СОГЛАСОВАНО СОВЕТОМ`; без него doc-drafter не стартует. Журнал: отклонение от блокеров/сужение требований — СНАЧАЛА запись, ПОТОМ черновик; устное не считается; согласованное задним числом не переписывать.

## Самопроверка (по диску)

positions.md перечитан: маркер дословно, все разделы, «Доля по объектам» (или «Не применимо»), журнал · аргументы: факт+норма+практика или «требует проверки» · блокеры = moderator_eval.md · даты ДД.ММ.ГГГГ, `grep -n $'\u0451\|\u0401'` пуст · в `_council/`: r1/r2 всех, r3 атакованных, r4 при созыве, anon_map.md, moderator_eval.md · `usage` субагентов собран. Не прошло — исправить, сырое не возвращать.

