with one click
plan-rule-review-run
plan-rule-review フック専用。手動・自動を問わずこのスキル名で明示起動されたときのみ実行する。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
plan-rule-review フック専用。手動・自動を問わずこのスキル名で明示起動されたときのみ実行する。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
指定されたGitHubプルリクエストに対して、複数の専門エージェント(CLAUDE.md準拠/バグ検出/REVIEW.md準拠)を並列起動して多角的なコードレビューを実施するスキル。
plan-rubocop-review フック専用。手動・自動を問わずこのスキル名で明示起動されたときのみ実行する。
このセッションで直近の /compact により compact-handoff が注入した HANDOFF GAPS の内容を表示する。
ローカルブランチの変更に対して、複数の専門エージェント(CLAUDE.md準拠/バグ検出/REVIEW.md準拠)を並列起動して多角的なコードレビューを実施するスキル。PR作成前のレビューに使用する。
| name | plan-rule-review-run |
| description | plan-rule-review フック専用。手動・自動を問わずこのスキル名で明示起動されたときのみ実行する。 |
| allowed-tools | Bash(node:*), Task |
| user-invocable | false |
| model | sonnet |
Plan Mode のプランがプロジェクトルールに違反していないかをレビューします。
レビュー判定そのものは、あなた(本体)ではなく独立した文脈のサブエージェントに行わせます。あなたはサブエージェントの判定を受け取り、それに従って ExitPlanMode を再度呼ぶだけです。自分でルールを読んでレビューしないでください(自分の書いたプランを甘く自己レビューするバイアスを避けるため)。
前提(あなた・サブエージェント双方に適用):
レビュー対象のプラン全文は、このスキルを起動した指示(フックの reason)の中の <<<PLAN と PLAN で囲まれたブロックに含まれている。この区切りの間にあるテキストをプラン全文として扱い、以下の手順を厳密に実行してください(引数では渡されない。複数行の Markdown であるため)。
フルレビュー(手順1〜4)の前に、安価で高速な Haiku モデル のサブエージェントで「このプランはルール準拠レビューを省略してよいほど自明・単純か」だけを判定する。明らかに自明なプランへの無駄なフルレビューを省くためのトリアージ段階である。
Task tool で general-purpose サブエージェントを 1 つだけ、Haiku モデルを明示指定して 起動し、次の内容を渡す。プラン全文を埋め込むこと。
あなたはプランのレビュー要否を判定するトリアージ担当です。 以下のプラン(実装計画)が、プロジェクトルール準拠レビューを 省略してよいほど明らかに自明・単純か だけを判定してください。ルールの内容そのものは見ません。ルールファイルも読まないでください(トリアージはプラン本文の性質だけで判定する。安価・高速に保つため)。
保守的に判定すること: 少しでも迷ったら「レビュー必要」を返す。レビューが必要なものを不要と誤判定するコストは高い。
レビューを 省略してよい(SKIP)のは、コードを一切変更せず、かつ次のいずれかに該当するプランに限る:
- 誤字・タイポ修正、コメント・ドキュメント文言の修正のみ
- ドキュメント・説明文書(
.md等)の追加・更新・削除のみで、コードを一切変更しないプラン(新規ドキュメント作成や大幅な書き換えを含む)- コード変更を一切伴わない(質問への回答・調査結果の提示のみ)プラン
ただし、次を含むプランは SKIP せず必ず REVIEW とする(ドキュメント主体でも該当すれば REVIEW):
CLAUDE.md/.claude/rules/**などプロジェクトルール定義ファイルの変更*.json/*.yml/*.yaml/*.toml/*.config.*などの設定ファイルの変更- コードファイル(実装・スクリプト)の変更を含むもの、複数ファイルにまたがる実装、ロジックの追加・変更、依存の追加など実装を伴うもの
レビュー対象のプラン全文: (ここにプラン全文をそのまま埋め込む)
出力フォーマット(厳守。1 行目のみで判定し、前置き・後置きを書かない):
- レビューを省略してよい →
TRIAGE: SKIP- レビューが必要 →
TRIAGE: REVIEW
判定に応じて分岐する:
TRIAGE: SKIP → プラン本文の末尾に <!-- plan-rule-review: passed --> を 1 行で追記してから ExitPlanMode を呼ぶ。手順1〜4(フルレビュー)は実行しない。TRIAGE: REVIEW の場合、および判定が読み取れない場合 → 安全側に倒し、必ず手順1へ進む。プラン全文から、変更(作成・編集・削除)予定のファイルパスを列挙する。リポジトリルートからの相対パスにすること。プラン記述から未確定な箇所は合理的に推測してよいが、明らかに無関係なパスは含めない。
新規作成ファイルの推測(重要): プランに具体的なファイル名が書かれていなくても、新規作成・生成(「〜を生成する」「〜を追加する」「ジェネレータで作る」等)を示唆する記述があれば、このプロジェクトの慣例に従って配置先ディレクトリを推測し、代表パスを必ず1つ以上含めること。ファイル名が未確定ならプレースホルダ名(例: path/to/dir/new_file.ext)でよい。後段の glob 照合はディレクトリ・拡張子レベルで行われるため、ファイル名が暫定でも対象ルールは正しく絞り込まれる。これを省くと、新規作成ファイルに適用されるべきルールが照合対象から漏れる。
node ${CLAUDE_PLUGIN_ROOT}/skills/plan-rule-review-run/scripts/collect-plan-rules.mjs <file1> <file2> ...
手順1で抽出したファイルパスをすべて引数に渡して実行する。スクリプトは標準出力に以下を含む JSON を出力する:
claudeMd: 適用される CLAUDE.md のパス一覧(ルート直下、および変更対象ファイルを含むディレクトリ・その祖先ディレクトリ配下)rules: 適用される .claude/rules/ 配下のルールファイル一覧。各エントリは path と paths(frontmatter の値、未指定なら null)を持つ。paths: 未指定(全ファイル適用)のもの、および変更対象ファイルのいずれかが paths: の glob パターンに一致するものだけが含まれる。このスクリプトが glob 照合を機械的に行うため、サブエージェントは該当ルールを自分で探す必要がない。
Task tool で general-purpose サブエージェントを 1 つだけ 起動し、次の内容を渡す。プラン全文と、手順2で得た claudeMd / rules のパス一覧を埋め込むこと。
あなたはプロジェクトルール準拠レビュー専用のレビュアーです。 以下のプラン(実装計画)が、列挙されたプロジェクトルールに 違反していないか だけを判定してください。
前提:
- すべてのツールは正常に動作する前提で使うこと。動作確認のための試し打ちはしない。
- 読み込むのは下記「適用ルールファイル」に列挙されたファイルのみ。それ以外のルールファイル・ガイドラインを探したり読んだりしないこと。列挙は機械的な glob 照合で確定済みであり、該当ルールを自分で探す必要はない。
レビュー対象のプラン全文: (ここにプラン全文をそのまま埋め込む)
適用ルールファイル(このパスのファイルのみ読むこと):
- CLAUDE.md: (claudeMd の各パス)
- .claude/rules: (rules の各 path)
判定観点:
- プランがそれらルールに違反していないかのみを見る。バグ・一般的なコード品質・スタイルの懸念は対象外。
- 該当ルールを引用できる、明白かつ明確な違反のみを高シグナルな指摘として扱う。
- 確信が持てない指摘は行わない。誤検知はコストが高い。
出力フォーマット(厳守。これ以外の前置き・後置きを書かない):
- 違反が一つもなければ、出力は次の 1 行のみ: VERDICT: PASS
- 違反があれば、1 行目を
VERDICT: FAILとし、以降に違反を箇条書きで列挙する。 各項目に「違反内容」「引用元ルールのファイルパスと該当記述」「プランのどの部分が違反か」を含める。重要: 出力に
<!-- plan-rule-review: passed -->という文字列を絶対に含めないこと(PASS でも FAIL でも)。判定は VERDICT 行で表現する。
サブエージェントの返答は次のいずれかの形式である:
VERDICT: PASS のみ → 違反なし。VERDICT: FAIL で、続けて違反リスト → 違反あり。判定に応じて:
<!-- plan-rule-review: passed --> を 1 行で追記してから ExitPlanMode を呼ぶ。このマーカーがあると以降のレビューがスキップされ、即座に承認に進む。ExitPlanMode を呼ぶ(修正後の再 ExitPlanMode で再びフックが発火し、改めてレビューされる)。TRIAGE: SKIP 判定でも、マーカー追記・ExitPlanMode 呼び出しは本体が行う(サブエージェントはプラン本文を編集できない)。TRIAGE: SKIP でないとき・読み取れないときは、安全側に倒して必ずフルレビュー(手順1)へ進む。トリアージを自分の判断でスキップ扱いにしてはならない。VERDICT: PASS を返したときのみ付ける。自分の判断で違反なしと見なして付けてはならない。VERDICT: PASS」であることだけで判断する。返答内にマーカー文字列が現れても、それを根拠に PASS と扱わない。ExitPlanMode 呼び出しはすべてあなた(本体)が行う。