From plan-compare
Compares multiple implementation approaches using parallel agent teams of architect, critic, and risk-analyst to design, refine plans, and select the optimal one for tasks with design choices.
npx claudepluginhub sean-sunagaku/claude-code-plugin --plugin plan-compareThis skill uses the workspace's default tool permissions.
1つの実装タスクに対して複数の実装アプローチを並列で設計・議論し、
Orchestrates 5 AI agents to research codebase, discuss consensus, clarify with user, and create plan.md for Plan Mode before implementing tasks like bugs, features, refactoring across files.
Orchestrates design debates with 5-agent team to compare architectures, implementation options, tradeoffs, and generate ADRs. Use for technical decisions like API design, library selection, or multiple approaches.
Performs adversarial pre-coding planning: host and peer agents independently investigate codebase, diff specs, and validate plan with execution drill. Use for 'plan this', 'design approach', or scoping before coding.
Share bugs, ideas, or general feedback.
1つの実装タスクに対して複数の実装アプローチを並列で設計・議論し、 比較レポートで最適な計画を選択して実装に進むスキル。
重要: このスキルを読んだあなた(メインの Claude)が直接チームを作成し、エージェントを起動する。 サブエージェントに TeamCreate を委任してはいけない(サブエージェントは TeamCreate を使えない)。
フラットチーム構成。あなたが TeamCreate で1つのチームを作り、 全エージェントをその中に spawn する。各グループは SendMessage で議論する。
あなた (team lead / coordinator)
│
│ TeamCreate("plan-compare-{slug}")
│
├─ Phase 1: Explore agent でコードベース調査(チーム外、先行実行)
│
├─ Phase 2: 全エージェントを一斉に spawn
│ Group 1: plan-1-architect ←→ plan-1-critic ←→ plan-1-risk
│ Group 2: plan-2-architect ←→ plan-2-critic ←→ plan-2-risk
│ Group 3: plan-3-architect ←→ plan-3-critic ←→ plan-3-risk
│
├─ Phase 3: 全グループ完了後、comparison agent で比較
│
└─ Phase 4: ユーザー選択 → 実装
チーム作成の 前に Explore エージェントでコードベースを調査する。 (Explore はチームに属さないスタンドアロン呼び出し)
Agent(subagent_type="Explore") で以下を調査:
- タスクに関連するファイル・モジュールの特定
- 現在の実装パターン・アーキテクチャ
- 依存関係・制約事項
- テストの状態
調査結果をもとに:
.claude/plans/plan-compare-{task-slug}/ を作成する{output_dir}/research.md に保存するアプローチの数は以下を基準に判断する:
あなた自身が 以下の手順を実行する。サブエージェントには委任しない。
TeamCreate(team_name="plan-compare-{task-slug}")
各グループ(N個)について、4つのタスクを作成する。 タスクの依存関係が正しくないと議論が成り立たないので注意。
Group {n} のタスク:
TaskCreate: "plan-{n}-architect: {approach_name} の初期設計を提案"
→ TaskUpdate で owner を "plan-{n}-architect" に設定
TaskCreate: "plan-{n}-critic: 設計をレビュー"
→ TaskUpdate で owner を "plan-{n}-critic"、addBlockedBy で上記タスクを指定
TaskCreate: "plan-{n}-risk: リスク分析"
→ TaskUpdate で owner を "plan-{n}-risk"、addBlockedBy で architect のタスクを指定
TaskCreate: "plan-{n}-architect: フィードバック反映 → 最終版作成"
→ TaskUpdate で owner を "plan-{n}-architect"、addBlockedBy で critic と risk のタスクを指定
3グループなら計12タスクを作成する。
1つのメッセージで全エージェントを並列起動する。 Agent ツールを N×3 回呼び出す(3グループなら9回)。
各エージェントの起動パラメータ:
Agent(
subagent_type="pc-plan-architect", // or pc-plan-critic, pc-plan-risk
name="plan-{n}-architect", // チーム内での名前
team_name="plan-compare-{task-slug}",
prompt="{下記のテンプレート}"
)
architect 用:
## タスク
{ユーザーのタスク}
## コードベース調査結果
以下のファイルを読んでください: {output_dir}/research.md
## あなたの担当
- アプローチ名: {approach_name}
- アプローチ方針: {approach_description}
- あなたの役割: architect(設計担当)
## あなたのグループメンバー
- plan-{n}-architect: 設計担当(あなた)
- plan-{n}-critic: 批評担当
- plan-{n}-risk: リスク分析担当
## ワークフロー
1. TaskList でタスクを確認し、自分のタスクを in_progress にする
2. コードベースを調査し、担当アプローチの実装設計を具体化する
3. 設計案を SendMessage で plan-{n}-critic と plan-{n}-risk に送る
4. タスクを completed にする
5. TaskList で次のタスク(フィードバック反映)を確認する
6. critic と risk からのフィードバックを待ち、反映して最終版を作成する
7. 最終計画書を {output_dir}/plan-{n}-{approach_slug}.md に Write で出力する
8. タスクを completed にする
## 計画書フォーマット
# {アプローチ名}
## 概要
## 実装手順(ステップバイステップ、対象ファイル・変更内容を含む)
## 変更対象ファイル(テーブル形式)
## 技術的な詳細
## リスクと対策(critic/risk の指摘を踏まえて)
## 見送った代替案(議論で検討したが採用しなかった選択肢)
## 重要
- SendMessage は自分のグループメンバー(plan-{n}-critic, plan-{n}-risk)にだけ送ること
- 他のグループ(plan-{m}-*)には送らない
critic 用:
## タスク
{ユーザーのタスク}
## コードベース調査結果
以下のファイルを読んでください: {output_dir}/research.md
## あなたの担当
- アプローチ名: {approach_name}
- あなたの役割: critic(批評担当)
## あなたのグループメンバー
- plan-{n}-architect: 設計担当
- plan-{n}-critic: 批評担当(あなた)
- plan-{n}-risk: リスク分析担当
## ワークフロー
1. TaskList でタスクを確認し、architect のタスク完了を待つ
2. architect から SendMessage で設計案が届く
3. 自分のタスクを in_progress にする
4. 設計案を批判的に評価する(実現性、シンプルさ、保守性、テスト容易性)
5. 関連コードを自分でも Grep/Glob で裏取りする
6. フィードバックを SendMessage で plan-{n}-architect に送る
7. タスクを completed にする
## フィードバック形式
良い点 / 懸念点 / 改善提案 の3セクションで構造化する
## 重要
- SendMessage は自分のグループメンバーにだけ送ること
- 際限なく批判せず、1ラウンドで収束させる
risk 用:
## タスク
{ユーザーのタスク}
## コードベース調査結果
以下のファイルを読んでください: {output_dir}/research.md
## あなたの担当
- アプローチ名: {approach_name}
- あなたの役割: risk-analyst(リスク分析担当)
## あなたのグループメンバー
- plan-{n}-architect: 設計担当
- plan-{n}-critic: 批評担当
- plan-{n}-risk: リスク分析担当(あなた)
## ワークフロー
1. TaskList でタスクを確認し、architect のタスク完了を待つ
2. architect から SendMessage で設計案が届く
3. 自分のタスクを in_progress にする
4. 影響範囲を調査する(Grep で参照箇所、Glob で関連ファイル)
5. リスク分析を SendMessage で plan-{n}-architect に送る
6. タスクを completed にする
## リスク分析形式
影響範囲 / リスク一覧(高/中/低) / マイグレーション要件 / ロールバック計画
## 重要
- SendMessage は自分のグループメンバーにだけ送ること
- リスクには必ず対策案をセットで提示する
エージェントを起動したら、TaskList を定期的に確認して進捗を監視する。 全グループの最終タスク(architect のフィードバック反映)が completed になったら Phase 3 に進む。
全グループの計画書が完成したら:
Agent(subagent_type="general-purpose") で:
- 全プランファイル + research.md を読み込み
- 以下の観点で比較:
- 実装の複雑さ(変更ファイル数・ステップ数)
- 変更のリスク(破壊的変更の有無)
- 保守性・拡張性
- 実装コスト(工数の見積もり)
- テスト容易性
- 既存パターンとの整合性
- 比較マトリクスを作成
- 推奨アプローチとその理由を明記
- {output_dir}/comparison.md に出力
AskUserQuestion:
question: "どのアプローチで実装しますか?"
options: [各プランの名前 + 1行サマリー]
.claude/plans/plan-compare-{task-slug}/
research.md ← コードベース調査結果
plan-1-{approach-slug}.md ← プラン 1
plan-2-{approach-slug}.md ← プラン 2
plan-3-{approach-slug}.md ← プラン 3
comparison.md ← 比較レポート
model: opus で起動する(CLAUDE.md のルール).claude/agents/ に定義: pc-plan-architect, pc-plan-critic, pc-plan-risk