council

작성자: warpdotdev

모델 다양성을 갖춘 하위 에이전트 위원회를 운영하여 동일한 문제를 여러 관점에서 조사하고, 결과를 비교한 후 최종 권장 사항을 도출합니다. 사용자가 위원회, 추가 의견, 하나의 질문을 평가할 여러 에이전트/모델, 병렬 조사, 레드팀/블루팀 비교, 또는 경쟁 기술 접근법 중 결정을 도와달라고 요청할 때 이 스킬을 사용하세요.

npx skills add https://github.com/warpdotdev/common-skills --skill council

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.

warpdotdev의 다른 스킬

spec-driven-implementation
warpdotdev
구현 전에 PRODUCT.md를 작성하고, 필요시 TECH.md를 작성하며, 구현이 진행됨에 따라 두 문서를 최신 상태로 유지함으로써 주요 기능에 대한 명세 우선 워크플로를 추진합니다. 중요한 기능을 시작할 때, 에이전트 기반 구현을 계획할 때, 또는 사용자가 제품 및 기술 명세를 소스 제어에 포함시키려 할 때 사용하세요.
developmentdocumentproject-management
review-pr
warpdotdev
풀 리퀘스트 diff를 검토하고, 워크플로우가 게시할 수 있도록 구조화된 피드백을 review.json에 작성합니다. 로컬 아티팩트(예: pr_diff.txt, pr_description.txt)에서 체크아웃된 PR을 검토하고, GitHub에 직접 게시하는 대신 기계가 읽을 수 있는 리뷰 출력을 생성할 때 사용합니다.
code-reviewdevelopment
create-pr
warpdotdev
현재 브랜치를 warp 저장소에 풀 리퀘스트로 생성합니다. 사용자가 PR 열기, 풀 리퀘스트 생성, 리뷰를 위한 변경 제출, 또는 병합을 위한 코드 준비를 언급할 때 사용하세요.
developmentcode-review
implement-specs
warpdotdev
승인된 PRODUCT.md와 TECH.md의 기능을 구현하며, 구현이 진행됨에 따라 사양과 코드를 동일한 PR에서 일관되게 유지합니다. 제품 및 기술 사양이 승인되고 다음 단계가 기능 구축일 때 사용하세요.
developmentcode-reviewapi
cross-critique
warpdotdev
논쟁이 있는 질문에 대해 두 번째 라운드를 실행하여 각 하위 에이전트의 독립적인 제안을 다른 작성자에게 전달하고 구조화된 장단점을 요청한 후 종합합니다. 이 스킬은 아키텍처 트레이드오프, 코드 리뷰 불일치, 설계 선택, 경쟁하는 근본 원인 이론 등 논쟁이 있는 결정에 대해 여러 독립적인 제안이나 의견이 있을 때 단독으로 종합하는 것보다 더 날카로운 분석을 원할 때 사용하세요. council 및 research 스킬과 자연스럽게 짝을 이룹니다.
resolve-merge-conflicts
warpdotdev
Resolve Git merge conflicts by extracting only unresolved paths, conflict hunks, and compact diffs instead of loading whole files into context. Use when a merge, rebase, cherry-pick, or stash pop stops on conflicts, when `git status` shows unmerged paths, or when files contain conflict markers.
developmentcode-review
brandalf
warpdotdev
Warp 또는 Oz 브랜드 자산의 제작, 수정, 검토를 안내합니다. 런칭 페이지, 문서, HTML/CSS 컴포넌트, UI 목업, 프롬프트, 소셜 자산, 카피, 프레젠테이션 등 Warp 또는 Oz의 정체성이 분명히 드러나야 하는 모든 브랜드 결과물에 사용하세요.
designcreativemarketing
saga
warpdotdev
We need to translate the given English text into Korean. The instruction says: "Translate only the text inside <text>. Do not include the name unless it appears in the source text." The name "saga" appears in the source text, so we should include it as is (preserve name). Also preserve technical terms like "orchestrator agent", "worker subagents", "/saga", etc. No extra commentary, no labels. Just the translation. The text: "Run an autonomous, spec-driven development "saga" for medium-to-large features using an orchestrator agent and a fleet of worker subagents. Use this skill whenever the user invokes /saga, asks to autonomously build a sizable feature end-to-end with minimal human intervention, wants a comprehensive spec broken into milestones and tasks with airtight validation criteria before parallelized implementation, or wants an orchestrator to delegate implementation to worker agents while preserving its..." Note: The text ends with "while preserving its..." which seems incomplete. We'll translate as is. Translation: "중대형 기능을 위해 오
developmentproject-managementtesting