council
affaan-m/ECC
4人のアドバイザーからなる評議会を招集し、曖昧な意思決定、実施・中止の判断、および複数の選択肢がある場合において、体系的な意見の相違やトレードオフを明らかにする。
...すべて拡張しますCouncil
判断が曖昧な場合は、4人のアドバイザーを招集する:
- 文脈に応じたClaudeの音声
- 懐疑派サブエージェント
- 「実用主義者」サブエージェント
- 「批評家」サブエージェント
これは、曖昧な状況下での意思決定のためのものであり、コードレビュー、実装計画、またはアーキテクチャ設計のためのものではありません。
使用すべき場面
次のような場合に「council」を使用します:
- 意思決定に複数の妥当な選択肢があり、明らかな最善策が存在しない場合
- トレードオフを明示的に明らかにする必要がある場合
- ユーザーがセカンドオピニオン、反対意見、または複数の視点を求めている場合
- 「会話によるアンカリング」が現実的なリスクとなる場合
- 「実施/不実施」の判断において、対立的な意見による検証が有益な場合
例:
- モノレポ対ポリレポ
- 「今すぐリリース」対「仕上げまで保留」
- 機能フラグ vs 全面展開
- スコープを簡素化 vs 戦略的な幅を維持
使用すべきでない場合
| councilの代わりに | 以下の場合 |
|---|---|
| 出力が正しいかを確認する場合 | santa-method |
| 機能を実装手順に分解する | planner |
| システムアーキテクチャの設計 | architect |
| バグやセキュリティ上の問題がないかコードをレビューする | code-reviewer または santa-method |
| 純粋な事実確認の質問 | 直接答えてください |
| 明らかな実行タスク | 単にタスクを実行する |
役割
| ボイス | レンズ |
|---|---|
| アーキテクト | 正確性、保守性、長期的な影響 |
| 懐疑論者 | 前提への異議、単純化、仮定の打破 |
| 実用主義者 | リリース速度、ユーザーへの影響、運用上の現実 |
| 批評家 | エッジケース、ダウンサイドリスク、故障モード |
これら3つの外部の声は、進行中の会話の全容ではなく、質問と関連する文脈のみを備えた新しいサブエージェントとして起動されるべきです。これこそが「アンカリング防止メカニズム」です。
ワークフロー
1. 真の質問を抽出する
意思決定を1つの明確なプロンプトに絞り込む:
- 何を決定するのか?
- どのような制約が重要か?
- 何が成功とみなされるのか?
質問が曖昧な場合は、council を開催する前に、1つだけ明確化のための質問を投げかけてください。
2. 必要な背景情報のみを集める
決定事項がコードベース固有のものである場合:
- 関連するファイル、コードスニペット、イシューの本文、またはメトリクスを収集する
- 簡潔にまとめる
- 決定を下すために必要な背景情報のみを含める
決定が戦略的/一般的なものである場合:
- 回答に実質的な影響を与えない限り、リポジトリのスニペットは省略する
3. まずアーキテクトの立場を明確にする
他の意見を読む前に、以下を書き出してください:
- 自身の初期の立場
- その立場を裏付ける最も説得力のある3つの理由
- 自分が望む道における主なリスク
これを最初に行うことで、統合された見解が単に外部の意見の写しにならないようにします。
4. 3つの独立した視点を並行して展開する
各サブエージェントには以下が与えられます:
- 意思決定の問い
- 必要に応じて簡潔なコンテキスト
- 厳格な役割
- 不要な会話履歴なし
プロンプトの形式:
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.
役割の強調:
- 懐疑論者:枠組みに異議を唱え、前提に疑問を投げかけ、最も単純で信憑性のある代替案を提案する
- 実用主義者:スピード、簡潔さ、現実世界での実行可能性を最適化する
- 批評家:マイナスリスク、エッジケース、計画が失敗する可能性のある理由を明らかにする
5. バイアス防止策を講じながら統合する
あなたは参加者であると同時に統合者でもあるため、以下のルールを適用してください:
- 理由を説明せずに外部の見解を却下してはならない
- 外部の意見によって自身の提言が変わった場合は、そのことを明確に伝える
- たとえ却下する場合でも、最も強い反対意見は常に盛り込むこと
- 2つの意見があなたの当初の立場に反対する方向で一致した場合は、それを確かなシグナルとして扱う
- 結論を出す前に、各立場をありのままに提示しておくこと
6. 簡潔な結論を提示する
以下の形式で出力してください:
## 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]
スマホの画面でも一目で把握できるようにする。
一貫性のルール
このスキルから ~/.claude/notes や、このスキルからのその他のシャドウパスに、その場限りのメモを書き込まないでください。
councilが推奨内容を実質的に変更する場合:
- を使用し
knowledge-opsを使用して、その教訓を適切な永続的な場所に保存する - 、あるいは
/save-session結果がセッションメモリに保存されるべき場合は - あるいは、決定によって実行中の状態が変更される場合は、関連する GitHub / Linear のイシューを直接更新する
決定が実際の何かを変更する場合にのみ、それを永続化してください。
複数ラウンドにわたるフォローアップ
デフォルトは1ラウンドです。
ユーザーがさらに1ラウンドを希望する場合:
- 新しい質問は本題に絞る
- 必要な場合にのみ、前回の判定を含める
- アンカリング効果を低減するため、懐疑派の回答はできるだけ簡潔に保つ
アンチパターン
- コードレビューにcouncilを使用すること
- 単なる実装作業である場合にcouncilを使用すること
- サブエージェントに会話の全記録を転送すること
- 最終的な判断において意見の相違を隠蔽すること
- 重要度にかかわらず、すべての決定事項をメモとして保存する
関連スキル
santa-method— 敵対的検証knowledge-ops— 決定の差分(デルタ)を正しく永続化するsearch-first— 必要に応じて、councilの前に外部参照資料を収集するarchitecture-decision-records— 決定が長期にわたるシステムポリシーとなった際の結果を形式化する
例
質問:
Should we ship ECC 2.0 as alpha now, or hold until the control-plane UI is more complete?
想定されるcouncilの展開:
- アーキテクトは、構造的整合性を重視し、混乱を招くようなユーザーインターフェースを避けるよう主張する
- 懐疑論者は、UIが実際にボトルネックとなっているのか疑問を呈する
- 実用主義者は、信頼を損なうことなく今すぐリリースできるものは何かと問う
- 批判派は、サポート負担、期待債務、および展開時の混乱に焦点を当てる
重要なのは全員の合意ではない。重要なのは、選択を行う前に意見の相違を明確に把握することである。
---
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
コピー





家
