council
affaan-m/ECC
Соберите совет из четырех голосов консультантов, чтобы выявить структурированные разногласия и компромиссы при неясных решениях, решениях о запуске или отказе от проекта, а также при выборе нескольких вариантов действий.
...Расширить всеСовет
Привлекайте четырех советников для принятия неоднозначных решений:
- голос Claude в контексте
- подагент Скептик
- подагент Прагматик
- подагент Критик
Это нужно для принятия решений в условиях неопределенности, а не для проверки кода, планирования реализации или проектирования архитектуры.
Когда использовать
Используйте совет, когда:
- решение имеет несколько обоснованных вариантов и нет очевидного лидера
- необходимо явно выявить компромиссы
- пользователь запрашивает второе мнение, альтернативные точки зрения или возражения
- существует реальный риск привязки к текущему ходу разговора
- решение «да/нет» выигрывает от состязательной проверки
Примеры:
- монорепо против полирепо
- выпустить сейчас или отложить для доработки
- флаг функции против полного развертывания
- упрощение объема против сохранения стратегической широты
Когда НЕ использовать
| Вместо совета | Используйте |
|---|---|
| Проверка корректности вывода | `santa-method` |
| Разбиение функции на шаги реализации | `planner` |
| Проектирование архитектуры системы | `architect` |
| Проверка кода на ошибки или уязвимости | `code-reviewer` или `santa-method` |
| Прямые фактические вопросы | просто ответьте напрямую |
| Очевидные задачи выполнения | просто выполните задачу |
Роли
| Голос | Фокус |
|---|---|
| Архитектор | корректность, поддерживаемость, долгосрочные последствия |
| Скептик | оспаривание предпосылок, упрощение, разрушение допущений |
| Прагматик | скорость выпуска, влияние на пользователя, операционная реальность |
| Критик | крайние случаи, риски негативных последствий, режимы отказа |
Три внешних голоса должны запускаться как новые подагенты с только вопросом и релевантным контекстом, а не всей текущей историей разговора. Это механизм защиты от привязки.
Рабочий процесс
1. Выделите суть вопроса
Сведите решение к одному четкому запросу:
- что именно мы решаем?
- какие ограничения важны?
- что считается успехом?
Если вопрос размыт, задайте один уточняющий вопрос перед созывом совета.
2. Соберите только необходимый контекст
Если решение специфично для кодовой базы:
- соберите соответствующие файлы, фрагменты кода, текст задач или метрики
- держите его компактным
- включайте только контекст, необходимый для принятия решения
Если решение стратегическое/общее:
- пропускайте фрагменты репозитория, если они существенно не меняют ответ
3. Сначала сформируйте позицию Архитектора
Прежде чем читать другие голоса, запишите:
- вашу начальную позицию
- три сильнейших аргумента в ее пользу
- основной риск в вашем предпочтительном пути
Сделайте это первым, чтобы синтез не просто отражал внешние голоса.
4. Запустите три независимых голоса параллельно
Каждый подагент получает:
- вопрос о решении
- компактный контекст, если нужно
- строгую роль
- без лишней истории разговора
Форма запроса:
Вы — [РОЛЬ] в совете из четырех голосов.
Вопрос:
[вопрос о решении]
Контекст:
[только соответствующие фрагменты или ограничения]
Ответьте с:
1. Позиция — 1-2 предложения
2. Обоснование — 3 кратких пункта
3. Риск — главный риск в вашей рекомендации
4. Сюрприз — одна вещь, которую другие голоса могут упустить
Будьте прямы. Без оговорок. Держитесь в пределах 300 слов.
Акцент на ролях:
- Скептик: оспаривать формулировку, ставить под сомнение допущения, предлагать самое простое обоснованное альтернативное решение
- Прагматик: оптимизировать скорость, простоту и реальное выполнение
- Критик: выявлять риски негативных последствий, крайние случаи и причины, по которым план может потерпеть неудачу
5. Синтезируйте с защитой от предвзятости
Вы одновременно участник и синтезатор, поэтому используйте эти правила:
- не отклоняйте внешний взгляд без объяснения причин
- если внешний голос изменил вашу рекомендацию, скажите об этом явно
- всегда включайте сильнейшее несогласие, даже если вы его отклоняете
- если два голоса согласны против вашей начальной позиции, воспринимайте это как реальный сигнал
- держите исходные позиции видимыми перед вынесением вердикта
6. Представьте компактный вердикт
Используйте эту структуру вывода:
## Совет: [краткое название решения]
**Архитектор:** [позиция в 1-2 предложениях]
[1 строка о причинах]
**Скептик:** [позиция в 1-2 предложениях]
[1 строка о причинах]
**Прагматик:** [позиция в 1-2 предложениях]
[1 строка о причинах]
**Критик:** [позиция в 1-2 предложениях]
[1 строка о причинах]
### Вердикт
- **Консенсус:** [где они согласны]
- **Сильнейшее несогласие:** [самое важное разногласие]
- **Проверка предпосылки:** [оспаривал ли Скептик сам вопрос?]
- **Рекомендация:** [синтезированный путь]
Держите его легко читаемым на экране телефона.
Правило сохранения
Не записывайте спонтанные заметки в ~/.claude/notes или другие скрытые пути из этого навыка.
Если совет существенно меняет рекомендацию:
- используйте
knowledge-opsдля сохранения урока в правильном долговечном месте - или используйте
/save-session, если результат относится к памяти сессии - или обновите соответствующую задачу в GitHub / Linear напрямую, если решение меняет активную исполняемую истину
Сохраняйте решение только тогда, когда оно меняет что-то реальное.
Многоэтапное продолжение
По умолчанию — один раунд.
Если пользователь хочет еще один раунд:
- держите новый вопрос сфокусированным
- включайте предыдущий вердикт только если это необходимо
- держайте Скептика максимально чистым, чтобы сохранить ценность защиты от привязки
Антипаттерны
- использование совета для проверки кода
- использование совета, когда задача — просто работа по реализации
- передача подагентам всей расшифровки разговора
- сокрытие разногласий в финальном вердикте
- сохранение каждого решения как заметки независимо от важности
Связанные навыки
santa-method— состязательная проверкаknowledge-ops— правильное сохранение долговечных изменений решенийsearch-first— сбор внешних справочных материалов перед советом, если нужноarchitecture-decision-records— формализация результата, когда решение становится долгосрочной системной политикой
Пример
Вопрос:
Должны ли мы выпустить ECC 2.0 в виде альфа-версии сейчас или подождать, пока интерфейс управления станет более полным?
Вероятная структура совета:
- Архитектор настаивает на структурной целостности и избежании запутанного интерфейса
- Скептик ставит под сомнение, является ли интерфейс действительно ограничивающим фактором
- Прагматик спрашивает, что можно выпустить сейчас без ущерба для доверия
- Критик фокусируется на нагрузке поддержки, долге ожиданий и путанице при развертывании
Ценность не в единогласии. Ценность в том, чтобы сделать разногласия понятными перед выбором.
---
name: council
description: Convene a four-voice council of advisors to surface structured disagreement and tradeoffs for ambiguous decisions, go/no-go calls, and multi-path choices.
---
# Council
Convene four advisors for ambiguous decisions:
- the in-context Claude voice
- a Skeptic subagent
- a Pragmatist subagent
- a Critic subagent
This is for **decision-making under ambiguity**, not code review, implementation planning, or architecture design.
## When to Use
Use council when:
- a decision has multiple credible paths and no obvious winner
- you need explicit tradeoff surfacing
- the user asks for second opinions, dissent, or multiple perspectives
- conversational anchoring is a real risk
- a go / no-go call would benefit from adversarial challenge
Examples:
- monorepo vs polyrepo
- ship now vs hold for polish
- feature flag vs full rollout
- simplify scope vs keep strategic breadth
## When NOT to Use
| Instead of council | Use |
| --- | --- |
| Verifying whether output is correct | `santa-method` |
| Breaking a feature into implementation steps | `planner` |
| Designing system architecture | `architect` |
| Reviewing code for bugs or security | `code-reviewer` or `santa-method` |
| Straight factual questions | just answer directly |
| Obvious execution tasks | just do the task |
## Roles
| Voice | Lens |
| --- | --- |
| Architect | correctness, maintainability, long-term implications |
| Skeptic | premise challenge, simplification, assumption breaking |
| Pragmatist | shipping speed, user impact, operational reality |
| Critic | edge cases, downside risk, failure modes |
The three external voices should be launched as fresh subagents with **only the question and relevant context**, not the full ongoing conversation. That is the anti-anchoring mechanism.
## Workflow
### 1. Extract the real question
Reduce the decision to one explicit prompt:
- what are we deciding?
- what constraints matter?
- what counts as success?
If the question is vague, ask one clarifying question before convening the council.
### 2. Gather only the necessary context
If the decision is codebase-specific:
- collect the relevant files, snippets, issue text, or metrics
- keep it compact
- include only the context needed to make the decision
If the decision is strategic/general:
- skip repo snippets unless they materially change the answer
### 3. Form the Architect position first
Before reading other voices, write down:
- your initial position
- the three strongest reasons for it
- the main risk in your preferred path
Do this first so the synthesis does not simply mirror the external voices.
### 4. Launch three independent voices in parallel
Each subagent gets:
- the decision question
- compact context if needed
- a strict role
- no unnecessary conversation history
Prompt shape:
```text
You are the [ROLE] on a four-voice decision council.
Question:
[decision question]
Context:
[only the relevant snippets or constraints]
Respond with:
1. Position — 1-2 sentences
2. Reasoning — 3 concise bullets
3. Risk — biggest risk in your recommendation
4. Surprise — one thing the other voices may miss
Be direct. No hedging. Keep it under 300 words.
```
Role emphasis:
- Skeptic: challenge framing, question assumptions, propose the simplest credible alternative
- Pragmatist: optimize for speed, simplicity, and real-world execution
- Critic: surface downside risk, edge cases, and reasons the plan could fail
### 5. Synthesize with bias guardrails
You are both a participant and the synthesizer, so use these rules:
- do not dismiss an external view without explaining why
- if an external voice changed your recommendation, say so explicitly
- always include the strongest dissent, even if you reject it
- if two voices align against your initial position, treat that as a real signal
- keep the raw positions visible before the verdict
### 6. Present a compact verdict
Use this output shape:
```markdown
## Council: [short decision title]
**Architect:** [1-2 sentence position]
[1 line on why]
**Skeptic:** [1-2 sentence position]
[1 line on why]
**Pragmatist:** [1-2 sentence position]
[1 line on why]
**Critic:** [1-2 sentence position]
[1 line on why]
### Verdict
- **Consensus:** [where they align]
- **Strongest dissent:** [most important disagreement]
- **Premise check:** [did the Skeptic challenge the question itself?]
- **Recommendation:** [the synthesized path]
```
Keep it scannable on a phone screen.
## Persistence Rule
Do **not** write ad-hoc notes to `~/.claude/notes` or other shadow paths from this skill.
If the council materially changes the recommendation:
- use `knowledge-ops` to store the lesson in the right durable location
- or use `/save-session` if the outcome belongs in session memory
- or update the relevant GitHub / Linear issue directly if the decision changes active execution truth
Only persist a decision when it changes something real.
## Multi-Round Follow-up
Default is one round.
If the user wants another round:
- keep the new question focused
- include the previous verdict only if it is necessary
- keep the Skeptic as clean as possible to preserve anti-anchoring value
## Anti-Patterns
- using council for code review
- using council when the task is just implementation work
- feeding the subagents the entire conversation transcript
- hiding disagreement in the final verdict
- persisting every decision as a note regardless of importance
## Related Skills
- `santa-method` — adversarial verification
- `knowledge-ops` — persist durable decision deltas correctly
- `search-first` — gather external reference material before the council if needed
- `architecture-decision-records` — formalize the outcome when the decision becomes long-lived system policy
## Example
Question:
```text
Should we ship ECC 2.0 as alpha now, or hold until the control-plane UI is more complete?
```
Likely council shape:
- Architect pushes for structural integrity and avoiding a confused surface
- Skeptic questions whether the UI is actually the gating factor
- Pragmatist asks what can be shipped now without harming trust
- Critic focuses on support burden, expectation debt, and rollout confusion
The value is not unanimity. The value is making the disagreement legible before choosing.
Все файлы
1 файловУстановить council
Скачайте и извлеките файлы навыков в вашу директорию .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/affaan-m/ECC/tree/main/skills/council # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
