选项

召集一个由四名顾问组成的委员会,以厘清在模糊决策、是否推进的决定以及多路径选择中存在的结构性分歧和权衡取舍。

...展开全部
0
更新时间 2026-09-30

Council

在面临难以抉择的情况时,召集四位顾问:

  • 情境化的克劳德语音
  • 一个“怀疑论者”子代理
  • 一个“务实派”子代理
  • 一位“批评家”子代理

此功能适用于不确定情况下的决策,不适用于代码审查、实施规划或架构设计。

何时使用

在以下情况下使用council:

  • 决策存在多种可信路径且无明显优选方案时
  • 需要明确呈现权衡取舍
  • 用户要求听取第二意见、异议或多种视角
  • 存在对话锚定(conversational anchoring)的实际风险
  • “执行/不执行”的决策将受益于对抗性挑战

示例:

  • 单仓库 vs 多仓库
  • 立即发布 vs 暂缓发布以完善
  • 功能开关 vs 全面上线
  • 简化范围 vs 保持战略广度

何时不应使用

替代方案:council 请使用
验证输出是否正确 santa-method
将功能分解为实现步骤 planner
设计系统架构 architect
审查代码中的错误或安全问题 code-reviewer 或 santa-method
直接的事实性问题 请直接回答
显而易见的执行任务 直接完成任务即可

角色

语音 镜头
架构师 正确性、可维护性、长期影响
怀疑论者 对前提的质疑、简化、打破假设
务实派 交付速度、用户影响、运营现实
批评家 边界情况、下行风险、故障模式

这三种外部声音应作为全新的子代理启动,仅携带问题及相关背景信息,而非完整的进行中对话。这就是反锚定机制。

工作流

1. 提取真实问题

将决策简化为一个明确的提示:

  • 我们正在决定什么?
  • 哪些约束条件重要?
  • 什么才算成功?

如果问题表述模糊,请在召集council之前先提出一个澄清问题。

2. 仅收集必要的背景信息

如果决策与特定代码库相关:

  • 收集相关的文件、代码片段、问题描述或指标
  • 保持内容精简
  • 仅包含做出决策所需的背景信息

如果决策属于战略性或通用性:

  • 除非代码片段会实质性地改变结论,否则请省略代码片段

3. 首先形成架构师的立场

在阅读其他观点之前,请先写下:

  • 你的初步立场
  • 支持该立场的三个最有力理由
  • 你所倾向路径中的主要风险

请先完成这一步,以免最终的综合结论仅仅是外部观点的复刻。

4. 并行启动三种独立观点

每个子代理将获得:

  • 决策问题
  • 如有需要,提供简明背景信息
  • 一个严格的角色
  • 无多余的对话历史

提示词结构:

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. 在设置偏见防护栏的前提下进行综合分析

你既是参与者,也是综合者,因此请遵循以下规则:

  • 在未说明理由的情况下,不要轻易驳斥外部观点
  • 如果外部意见改变了你的建议,请明确说明
  • 始终纳入最强有力的反对意见,即使你最终予以驳回
  • 如果两种观点一致地反对你的初始立场,请将其视为一个真实的信号
  • 在做出裁决前,应确保原始立场保持可见

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 问题

仅当决策改变了实际状态时才将其持久化。

多轮跟进

默认仅进行一轮。

如果用户希望进行下一轮:

  • 确保新问题保持重点
  • 仅在必要时包含之前的裁决
  • 尽可能简化“怀疑者”的表述,以保持其抵御锚定效应的价值

反模式

  • 将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可能的形态:

  • 架构师主张结构完整性,并避免界面混乱
  • 怀疑论者质疑用户界面是否真的是瓶颈
  • 务实派询问在不损害信任的前提下,现阶段能交付什么
  • 批评者关注支持负担、期望债务以及发布过程中的混乱

价值不在于达成一致,而在于在做出选择之前,让分歧变得清晰可见。

在 GitHub 上查看
---
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

复制 复制
快速设置: 将技能文件夹复制到 .claude/skills/ Claude 会自动检测并使用该技能
仓库 affaan-m/ECC

相关技能

airtable-automation
更新时间 2026-06-29
notion-automation
更新时间 2026-06-29
seo-programmatic
更新时间 2026-06-29
fairdb-backup-manager
更新时间 2026-06-29
OR