PluginBench
Skill
Pass
Audit score 90

council

warpdotdev/common-skills

Run a model-diverse council of subagents to investigate problems from multiple perspectives and synthesize a final recommendation.

What is council?

This skill coordinates multiple subagents with different models and assigned perspectives to investigate the same question in parallel, then synthesizes their findings into a single recommendation. Use it for judgment-heavy decisions like architecture tradeoffs, code review red-teaming, incident analysis, and evaluating competing technical approaches.

  • Launches a multi-model council (e.g., Opus, GPT, open-source) to investigate the same problem independently
  • Assigns each council member a distinct angle: architect, implementation reviewer, red-team, or contrarian perspective
  • Collects structured reports from each member covering evidence, current behavior, alternatives, risks, and confidence
  • Synthesizes findings into a concise decision memo that compares evidence quality and addresses stated concerns
  • Supports both read-only investigations and implementation councils with isolated worktrees for parallel edits

How to install council

npx skills add https://github.com/warpdotdev/common-skills --skill council
Claude Code
Cursor
Windsurf
Cline

How to use council

  1. 1.Frame the council question in one sentence, identifying the competing options, artifact to inspect, and decision criteria
  2. 2.Choose council members prioritizing model diversity (e.g., Opus for correctness, GPT for implementation, open-source for contrarian view)
  3. 3.Brief the user on which council members you plan to launch and their assigned angles, then wait for approval
  4. 4.Launch the council via run_agents, providing each member with the shared brief and a request for a structured report
  5. 5.Collect reports as they arrive; send focused follow-ups to any member missing key evidence rather than launching replacements
  6. 6.Synthesize the recommendation by comparing evidence quality, calling out consensus and disagreements, and providing a concrete next step

Use cases

Good for
  • Deciding between competing architectural approaches for a system redesign
  • Red-teaming a risky bug fix or security patch before rollout
  • Evaluating whether to adopt an alternative library or framework
  • Analyzing an incident from multiple angles to determine root cause and remediation
  • Reviewing a pull request for correctness, testability, and hidden risks
Who it's for
  • Architects and tech leads evaluating design tradeoffs
  • Code reviewers seeking multiple expert perspectives on risky changes
  • Incident commanders analyzing complex failures
  • Teams deciding between competing technical solutions
  • Developers seeking second opinions on implementation approaches

council FAQ

When should I use the council skill instead of asking a single agent?

Use council for judgment-heavy decisions where multiple perspectives add value: architecture tradeoffs, risky changes, red-teaming, incident analysis, and 'is this alternative worth it?' questions. For straightforward tasks, a single agent is faster.

What if I don't have access to multiple models?

Prioritize model diversity first. If only one model is available, fall back to perspective-only diversity by assigning different angles (architect, implementation reviewer, red-team) to multiple instances of the same model.

Can council members edit code or only review?

Both are supported. For read-only investigations, explicitly tell members not to modify files. For implementation councils, give each local member its own git worktree and branch so they can work in parallel without collisions.

How do I handle disagreement between council members?

Compare reports by evidence quality, not by vote count. The recommendation should explain why the chosen option wins against the stated decision criteria, and explicitly address any material disagreements.

Should I share one member's findings with the others?

Encourage independence by default. Only share findings if you are intentionally doing a second-round critique or need clarification from a specific member.

Full instructions (SKILL.md)

Source of truth, from warpdotdev/common-skills.


name: council description: Run a model-diverse subagent council to investigate the same problem from multiple perspectives, compare findings, and produce a final recommendation. Use this skill whenever the user asks for a council, second opinions, multiple agents/models to evaluate one question, parallel investigation, red-team/blue-team comparison, or help deciding between competing technical approaches.

Council

Use this skill to coordinate multiple subagents investigating the same question, with different models first and different assigned perspectives second, then synthesize their reports into one recommendation.

This skill is best for judgment-heavy tasks: architecture tradeoffs, risky bug fixes, code review red-teaming, rollout decisions, incident analysis, and “is this alternative worth pursuing?” questions.

Workflow

1. Frame the council question

State the decision the council should answer in one sentence. Identify:

  • the competing options or hypothesis under review;
  • the codebase, branch, PR, issue, design, or artifact to inspect;
  • whether agents should be read-only or may make code changes;
  • the final decision criteria, such as correctness, risk, implementation cost, testability, rollout safety, or product behavior.

If the user’s request is ambiguous, ask only the minimum clarification needed. Otherwise choose sensible defaults and proceed.

2. Choose council members

Prioritize model diversity. A council should not default to three agents on the same model with different angles; use that only when the available launch configuration cannot provide multiple useful models, or when the user explicitly asks for one model. If model diversity is unavailable, say so briefly before falling back to perspective-only diversity.

Preferred default roster for a three-member council:

  • Opus 4.7 or the strongest available Claude/Opus reasoning model: architecture, correctness, and edge-case analysis.
  • GPT 5.5 or the strongest available GPT/Codex model: implementation-grounded review, feasibility, and test strategy.
  • An open-source model such as Kimi 2.6, GLM 5.1, or the strongest available OSS/local model: contrarian critique, hidden assumptions, and alternative framing.

If one of these exact models is unavailable in the active harness, use the closest available model from that family and note the substitution. If no open-source model is available, use a third distinct frontier model if possible; otherwise use the strongest remaining model with a deliberately adversarial or specialist angle.

Assign both a model and an angle to each member. Avoid making the angles redundant with the models; for example, do not ask all members to do general architecture review. Useful angle combinations include:

  • architect/correctness reviewer;
  • implementation/testability reviewer;
  • red-team, security, performance, or product-risk reviewer;
  • contrarian “argue against the obvious solution” reviewer.

When different children need different models, launch them in separate run_agents calls because model selection is run-wide. If the requested model resolves differently than expected, treat the resolved launch settings as authoritative and continue unless they make the task infeasible.

When using non-default harnesses, choose valid model IDs for that harness. For example, Claude Code may expose claude-opus-4-7, Codex may expose gpt-5.5, and open-source models depend on the currently configured local or remote provider. Do not invent unsupported model IDs; if a desired model is not available, select the closest supported substitute and preserve the intended angle diversity.

For read-only investigations, keep all children in the same checkout and explicitly tell them not to edit files. For implementation or prototyping councils, give each local child its own git worktree and branch so they cannot collide.

3. Brief before launching

For explicit orchestration requests, briefly tell the user which council members you plan to launch and what each will investigate, then wait for approval before calling run_agents.

The shared brief should include:

  • repository path or artifact location;
  • current branch or base context;
  • the exact question to answer;
  • relevant background and known concerns;
  • required files/symbols to inspect, if known;
  • constraints, especially read-only/no commits/no PRs;
  • expected report format.

Keep launch prompts short enough that task titles stay compact. If a long brief causes launch validation issues, launch with a minimal prompt and send the full brief to the child agents immediately afterward.

4. Ask for structured reports

Ask every council member to return:

  1. exact file paths, symbols, docs, or evidence inspected;
  2. the current behavior or current implementation;
  3. the alternative being evaluated;
  4. correctness risks and edge cases;
  5. implementation and testing cost;
  6. recommendation: keep current approach, pursue alternative, or use a hybrid;
  7. confidence level and unknowns.

Encourage independence. Do not share one child’s findings with the others unless you are intentionally doing a second-round critique.

5. Collect reports

Read completion messages as they arrive. Do not rely on lifecycle success alone; the useful output is in the child’s report.

If a report is missing key evidence or makes an unsupported claim, send a focused follow-up question to that same child rather than launching a replacement. Reuse existing children for follow-ups because they retain context.

6. Synthesize the recommendation

Compare the reports by evidence quality, not by vote count. In the final answer:

  • lead with the recommendation;
  • call out consensus and disagreements;
  • explain why the recommended option wins against the decision criteria;
  • explicitly address the user’s stated concern;
  • include relevant file paths/symbols without overloading the answer;
  • distinguish “do now” from optional future hardening;
  • mention confidence and material unknowns.

Prefer a concise decision memo over a transcript summary. The user needs the distilled recommendation, not every intermediate detail.

Final answer template

Use this shape unless the task calls for something different:

## Recommendation

[One or two sentences with the decision.]

## Why

- [Key reason 1]
- [Key reason 2]
- [Key reason 3]

## Tradeoffs and risks

- [Risk or caveat]
- [Testing/rollout implication]

## Final call

[Concrete next step: merge current change, pursue alternative, hybrid, run tests, etc.]

Practical notes

  • If the council is read-only, tell children not to modify files, commit, create branches, or open PRs.
  • If the council involves PR or branch work, follow the repository’s normal version-control rules and use isolated worktrees for parallel local edits.
  • If the council is about code review feedback, mark review comments resolved only after the underlying issue is actually addressed.
  • Do not expose internal child agent IDs in user-facing summaries unless the user explicitly asks for them.