Plan review loop
実装計画に対するレビュー→修正の自動ループ。問題0件まで繰り返す。「/plan-review-loop」「計画レビューして」で使用。From its SKILL.md
npx -y skills add hirokimry/vibecorp --skill plan-review-loopAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
12.6 KB, as published. Nobody here has run it
ultrathink
🔁 計画レビューループスキル
[!IMPORTANT] 実装計画(
~/.cache/vibecorp/plans/<repo-id>/配下)に対してレビュー → 修正のループを実行する。 最大 5 回で打ち切る(無限ループ防止)。上限到達時は未解決指摘を報告して CEO に判断を委ねる。 計画ファイルのみを変更対象とする(コードは変更しない)。git add/git commit/git pushは呼び出し元に委ねる。
🛠️ 使用方法
/vibecorp:plan-review-loop # 現在のブランチの計画を自動検出
/vibecorp:plan-review-loop <plan_file> # 計画ファイルを直接指定
/vibecorp:plan-review-loop --worktree <path> # worktree 内の計画を対象
🌲 worktree モード
--worktree <path> が指定された場合、全操作を指定パス内で実行する。
- Bash: 全コマンドを
cd <path> && commandで実行する。 - Read / Write / Edit:
<path>/を基準とした絶対パスを使用する。 - サブスキル呼び出し:
--worktree <path>を引き継ぐ。 - 未指定時は従来通り CWD で実行する(後方互換)。
📂 計画ファイルの検出
引数未指定の場合、ブランチ名から計画ファイルを特定する。
source "$CLAUDE_PROJECT_DIR"/.claude/lib/common.sh
branch=$(git branch --show-current)
plan_file="$(vibecorp_plans_dir)/${branch}.md"
ファイルが存在しなければユーザーに報告して停止する。
後方互換: 旧パスのフォールバック
既存の .claude/plans/<branch>.md に計画が残っているリポジトリでは、新パスが無く旧パスにファイルがある場合のみ旧パスを使う(#334 移行期間の救済)。
if [ ! -f "$plan_file" ] && [ -f ".claude/plans/${branch}.md" ]; then
plan_file=".claude/plans/${branch}.md"
fi
🧑🔬 専門家エージェントモード
設定の読み取り
vibecorp.yml の plan.review_agents を読み取り、有効な専門家エージェントを特定する。
# vibecorp.yml から plan.review_agents を読み取る
awk '
/^plan:/ { in_plan = 1; next }
in_plan && /^[^ #]/ { exit }
in_plan && /review_agents:/ { in_agents = 1; next }
in_agents && /^ - / { gsub(/^ - /, ""); print }
in_agents && !/^ / { exit }
' .claude/vibecorp.yml
エージェント名とファイルの対応
| 設定名 | エージェントファイル | プリセット |
|---|---|---|
architect | .claude/agents/plan-architect.md | 全プリセット |
security | .claude/agents/plan-security.md | standard 以上 |
testing | .claude/agents/plan-testing.md | standard 以上 |
performance | .claude/agents/plan-performance.md | standard 以上(デフォルトは full で有効) |
dx | .claude/agents/plan-dx.md | standard 以上(デフォルトは full で有効) |
cost | .claude/agents/plan-cost.md | full 限定 |
legal | .claude/agents/plan-legal.md | full 限定 |
プリセット別デフォルト
install.sh が生成する vibecorp.yml の plan.review_agents デフォルト:
| プリセット | デフォルト値 |
|---|---|
| minimal | [architect] |
| standard | [architect, security, testing] |
| full | [architect, security, testing, performance, dx, cost, legal] |
ユーザーは vibecorp.yml で個別に追加・削除可能。
フォールバック
以下の場合は従来の単一レビュー(後述の「レビュー観点」による直接レビュー)にフォールバックする。
vibecorp.ymlが存在しないplan.review_agentsが未設定または空- 設定されたエージェントファイルが
.claude/agents/に存在しない
🔁 ループフロー
以下を問題が0件になるまで繰り返す。最大5回でループを打ち切る。上限到達時は未解決の指摘一覧を報告してユーザーに判断を委ねる。
1. レビュー実行
専門家エージェントモード(plan.review_agents が設定されている場合)
- 計画ファイルの内容を読み込む
- Issue の完了条件を取得する
- 各エージェントを SubAgent(Agent tool)として 並列起動 する
- 各 SubAgent に以下を渡す
- 計画ファイルの内容
- Issue の完了条件
- プロジェクトの既存コード構造の概要
SubAgent 起動例:
Agent tool で以下を実行:
「.claude/agents/plan-architect.md の指示に従い、以下の計画をレビューしてください。
計画ファイル: {plan_content}
Issue 完了条件: {completion_criteria}」
- 全エージェントのレビュー結果を収集する
- フィードバックを統合する(後述の「フィードバック統合」参照)
単一レビューモード(フォールバック)
計画ファイルを読み込み、以下のレビュー観点で評価する。
レビュー観点
| 観点 | チェック内容 |
|---|---|
| 網羅性 | Issue の完了条件が全て計画に反映されているか |
| 実現可能性 | 参照しているファイル・関数が実在するか、変更内容が技術的に正しいか |
| 独立性 | タスクが並行実行可能な粒度に分解されているか |
| テスト | 各タスクにテスト項目が含まれているか |
| 影響範囲 | 変更による副作用が考慮されているか |
| 既存パターンとの整合 | プロジェクトの既存コード・規約と矛盾しないか |
検証手順
- Issue 本文を取得し、完了条件を抽出する
- 計画の各タスクが完了条件をカバーしているか照合する
- 計画に記載されたファイルパス・関数名が実在するか確認する
- 既存の実装パターンとの整合性を確認する
フィードバック統合(専門家エージェントモード時)
各エージェントのレビュー結果を以下のルールで統合する(2 段階)。
第 1 段階: 平社員層統合
plan.review_agents に設定された専門家エージェント(plan-architect 等)の結果を統合する。
- 重複排除: 複数エージェントが同じ問題を指摘した場合、1件にまとめる。
- 優先順位付け: セキュリティ指摘 > その他の指摘。
- 矛盾解決: エージェント間の意見が矛盾した場合は Issue の完了条件を優先基準とする(調停の基準)。
- 好みレベル除外: 好みレベルの改善提案は問題として扱わない。
第 2 段階: C*O メタレビュー(full プリセット限定)
後述の「C*O メタレビュー層」セクションで条件起動された C*O エージェントが、平社員層統合結果をメタレビューする。
- C*O が「指摘妥当」と判定 → 平社員指摘を採用する。
- C*O が「指摘不要」と判定 → 該当指摘を除外する(理由を記録)。
- C*O が新規懸念を提起 → 追加問題として扱う。
- C*O 間の矛盾 → Issue 完了条件を優先基準とする(調停の基準)。
🎩 C*O メタレビュー層(full プリセット限定)
full プリセットでは、計画ファイルが管轄領域に触れる場合に該当 C*O を条件起動し、平社員層の指摘をメタレビューする。
起動条件
vibecorp.ymlのpreset: fullであること。- 計画ファイル内で下表のキーワードパターンがヒットすること(複数ヒット時は該当全 C*O を並列起動)。
起動トリガー & キーワード検出表
| 領域 | キーワードパターン(計画ファイル内で検出) | 起動 C*O | 平社員合議 |
|---|---|---|---|
| 課金影響 | API call, model:, claude -p, ANTHROPIC_API_KEY, rate limit, 従量, トークン消費 | CFO | accounting-analyst×3 |
| セキュリティ | auth, token, secret, encrypt, permission, credential, 暗号 | CISO | security-analyst×3 |
| 法務 | dependency, LICENSE, third-party, 規約, プライバシー, 第三者 | CLO | legal-analyst×3 |
| 組織運営 | agents/, hooks/, rules/, skills/ | SM | (単独) |
| 仕様 | MVV.md, specification.md, UX | CPO | (単独) |
| 技術選定 | architecture, 技術選定, 新規依存バージョン | CTO | (単独) |
検出方法
計画ファイルをキーワードパターンで検査する。
grep -iE 'API call|model:|claude -p|ANTHROPIC_API_KEY|rate limit|従量|トークン消費' "$plan_file"
該当領域の C*O と平社員合議(accounting / security / legal analyst ×3)を並列起動する。
フォールバック
preset: full以外(minimal / standard)では C*O メタレビュー層を起動しない。- キーワードが一つもヒットしない場合も C*O メタレビュー層を起動しない(平社員層のみで完了)。
- preset 取得コマンド:
awk '/^preset:/ { sub(/^preset:[[:space:]]*/, ""); print; exit }' .claude/vibecorp.yml
出力形式
## 計画レビュー結果
### 問題あり
1. [エージェント: architect / 観点: 構造設計] 問題の説明
2. [エージェント: security / 観点: 入力検証] 問題の説明
3. ...
### 問題なし
- architect: 責務分離は適切
- testing: テストカバレッジは十分
問題0件ならループ終了。
2. 修正計画
問題リストに対して修正方針を策定する。このステップでは計画ファイルの変更は行わない。
手順:
- 指摘された観点の具体的な問題箇所を特定する
- 必要に応じて追加のコードベース調査を行う
- 修正方針を策定する
出力形式
## 修正方針
### 1. [観点: 網羅性] 完了条件「○○」の対応タスク追加
- **修正内容**: Phase 2 にタスクを追加
- **根拠**: Issue の完了条件に明記されている
### 2. [観点: 実現可能性] 関数参照の修正
- **修正内容**: foo() → bar() に変更(bar() が同等機能を提供)
- **根拠**: grep で確認した実在する関数
3. 修正実行
修正方針に従って計画ファイルを更新する。
- 方針に記載された範囲のみを変更する(方針外の変更は行わない)。
- 修正後、計画ファイル内の整合性(フェーズ番号、タスク番号の連番等)を確認する。
出力形式
## 修正内容
1. Phase 2 にタスク「○○」を追加
2. タスク3 の関数参照を foo() → bar() に修正
4. 結果報告(ループ終了後)
全イテレーションの結果をまとめて報告する。
## plan-review-loop 結果
### レビューモード
- {専門家エージェント / 単一レビュー}
- 起動エージェント: {architect, security, testing}(専門家モード時のみ)
### 修正した問題
- [観点: 網羅性] 完了条件「○○」のタスク追加
- [観点: 実現可能性] 関数参照の修正
### サマリ
- ループ回数: {n}回
- 修正: {n}件
- 最終レビュー: 問題0件
- 計画ファイル: ~/.cache/vibecorp/plans/<repo-id>/{branch_name}.md
🚧 制約
- 計画ファイル(
~/.cache/vibecorp/plans/<repo-id>/*.md)のみを変更対象とする(コードは変更しない)。 git add/git commit/git pushは実行しない(呼び出し元に委ねる)。- 最大 5 回でループを打ち切る(無限ループ防止)。
- レビュー観点に該当しない「好み」レベルの改善提案は問題として扱わない。
- 専門家エージェント未設定時は単一レビューモード(フォールバック)にフォールバックする。
🔗 関連
| 種別 | 参照先 |
|---|---|
| 関連スキル | /vibecorp:plan(計画策定)/ /vibecorp:ship(包括オーケストレーション) |
| 関連エージェント | .claude/agents/plan-architect.md / .claude/agents/plan-security.md / .claude/agents/plan-testing.md 等 |
| CEO 向け文面規約 | .claude/rules/communication.md |
| プロンプト作成基準 | .claude/rules/prompt-writing.md |
| マークダウン規約 | .claude/rules/markdown.md |