| name | plan-review |
| description | Plan modeで作成したプランに対して、プロジェクト特性を分析し適切なレビューエージェントを自動選択・並列起動するスキル。引数なしで実行可能。 |
| allowed-tools | Bash(codex exec *), Bash(~/.claude/hooks/lib/codex-stage.sh *) |
Plan Review
Plan modeで作成した最新のプランファイルに対して、プロジェクト特性を自動分析し、適切なレビューエージェントを選択して並列起動する。
前提条件
- Plan modeでプランファイルが作成済み
- レビューに使用するエージェントが
~/.claude/agents/ に定義済み
引数
| 引数 | 必須 | 説明 |
|---|
| agent-name | × | 明示的に指定する場合のみ。省略時は自動選択(推奨) |
実行フロー
Phase 1: 最新Planファイルの検出
ls -t ./plans/*.md 2>/dev/null | head -1
ファイルが見つからない場合はエラー終了。
Readツールで検出したPlanファイルの内容を取得。
Phase 2: レビュワー選択
引数でエージェント名が指定されている場合はそのエージェントのみを使用する(従来互換)。
引数が省略されている場合(推奨)、以下のルールで起動対象を自動決定する。
2a: プロジェクト特性の分析
以下のシグナルを並列で収集する:
| シグナル | 検出方法 |
|---|
| Rust プロジェクト | Cargo.toml の存在、または *.rs ファイルの存在 |
| codex CLI 利用可 | which codex が成功するか |
| リファクタリング系 | Plan内容に以下のキーワードを含むか検査 |
| テスト基盤あり | テストファイル・テスト設定の存在を検査 |
リファクタリング系キーワード(Plan本文を検査):
- refactor / リファクタリング / 重複 / duplication / DRY / 共通化 / 抽出 / extract
テスト基盤の検出方法:
以下の プライマリシグナル のうち少なくとも1つが存在する場合に「テスト基盤あり」と判定する:
- テストファイルの存在:
*.test.ts, *.spec.ts, *.test.tsx, *.spec.tsx, *.test.js, *.spec.js, *.test.jsx, *.spec.jsx, *_test.go, *_test.rs
- テスト設定ファイルの存在:
vitest.config.*, jest.config.*, playwright.config.*, .mocharc.*
- テスト用ディレクトリの存在:
tests/, __tests__/, test/
補助シグナル(単独ではトリガーしない、プライマリシグナルと併用で確度を高める):
- package.json に
test スクリプトが定義されている
2b: レビュワーマッチングルール
収集したシグナルに基づき、以下のルールで起動対象を決定する:
| 条件 | 起動するエージェント |
|---|
| Rustプロジェクトである | rust-reviewer |
| codex CLI が利用可能 | codex-reviewer |
| リファクタリング系キーワードを含む | similarity |
| テスト基盤が存在する | tdd-reviewer |
- 複数条件に該当する場合はすべて起動する(並列)
- codex CLI が利用可能な場合、
codex-reviewer は他の条件に関わらず必ず起動する(クロスモデル視点の確保。Claude系モデル固有の盲点を補う)
- どの条件にも該当しない場合: 利用可能なレビュワーがない旨をユーザーに通知し、手動指定を促す
2c: 選択結果の表示
起動前に選択されたレビュワー一覧をユーザーに表示する:
プロジェクト分析結果:
- Rust プロジェクト: ✓ (Cargo.toml 検出)
- codex CLI: ✓ (利用可能)
- リファクタリング系: ✗
- テスト基盤: ✓ (vitest.config.ts 検出)
起動するレビュワー: rust-reviewer, codex-reviewer, tdd-reviewer
Phase 3: 並列レビュー実行
選択されたすべてのエージェントを並列でAgentツールで起動する。
各エージェントに渡すプロンプト:
以下のPlanファイルをレビューしてください。
あなたの専門知識に基づいて、以下の観点からフィードバックを提供してください:
1. 技術的な正確性
2. 潜在的な問題点やリスク
3. 改善提案
4. 見落とされている考慮事項
---
Plan File: <path>
---
<content>
重要: 各Agentツール呼び出しは独立しているため、必ず単一メッセージ内で複数のAgentツールを同時に呼び出すこと。
Phase 4: 結果集約・報告
すべてのレビュワーの結果を以下の形式で集約して報告する:
=== Plan Review 結果 ===
--- rust-reviewer ---
[rust-reviewerからのフィードバック]
--- codex-reviewer ---
[codex-reviewerからのフィードバック]
=== 総合サマリ ===
全レビュワーの指摘を横断的に要約し、重要度の高い指摘を先頭にまとめる。
レビュワー一覧
| エージェント名 | 自動選択条件 | 専門領域 |
|---|
| rust-reviewer | Cargo.toml / .rs ファイルの存在 | Rustコードのパフォーマンス・保守性 |
| codex-reviewer | codex CLI が利用可能 | 汎用的なアーキテクチャ・設計レビュー |
| similarity | Plan内にリファクタリング系キーワード | コード重複分析・リファクタリング提案 |
| tdd-reviewer | テストファイル・テスト設定・テスト用ディレクトリの存在(プライマリシグナル) | TDD準拠・Testing Trophy・モック最小化・テスト重複検知 |
使用例
自動選択モード(推奨)
> /plan-review
最新Planファイルを検出: ./plans/kind-cuddling-dragon.md
プロジェクト分析結果:
- Rust プロジェクト: ✓ (Cargo.toml 検出)
- codex CLI: ✓ (利用可能)
- リファクタリング系: ✗
- テスト基盤: ✓ (vitest.config.ts 検出)
起動するレビュワー: rust-reviewer, codex-reviewer, tdd-reviewer
レビュー実行中...(3エージェント並列)
=== Plan Review 結果 ===
--- rust-reviewer ---
[フィードバック内容]
--- codex-reviewer ---
[フィードバック内容]
--- tdd-reviewer ---
[フィードバック内容]
=== 総合サマリ ===
[横断的な要約]
手動指定モード(従来互換)
> /plan-review rust-reviewer
最新Planファイルを検出: ./plans/kind-cuddling-dragon.md
エージェント: rust-reviewer(手動指定)
レビュー実行中...
=== Plan Review 結果 ===
--- rust-reviewer ---
[フィードバック内容]
エラーハンドリング
| 状況 | 対応 |
|---|
| Planファイルが見つからない | plansディレクトリにファイルがないことを通知 |
| 自動選択で該当レビュワーなし | 利用可能エージェント一覧を表示し手動指定を促す |
| 手動指定のエージェントが見つからない | 利用可能エージェント一覧を表示してエラー終了 |
| 一部エージェントの実行失敗 | 成功したエージェントの結果は報告し、失敗を明示 |
Notes
- plansディレクトリは
./plans(プロジェクトルート相対)
- 最新ファイルを自動検出(ユーザーによるパス指定は不要)
- 自動選択モードではシグナル収集・レビュー実行ともに並列実行で高速化
- 手動指定モードは従来通り動作(後方互換性を維持)
- 新しいレビュワーを追加する場合は、レビュワー一覧テーブルとPhase 2bのマッチングルールに追記すること