branch-review-before-pr について
PR 前にブランチとベースの差分を確認するレビュー用スキルです。根拠のある指摘を報告し、修正にはユーザーの明示的な承認を求めます。
主な機能
- 01差分全体とチェックリストの確認
- 02ブランチ差分にレビュー範囲を限定
- 03ブロッカーと非ブロッカーの分類
- 04承認がない場合は読み取り専用
- 05個別に承認された修正のみ適用
活用シーン
- 01PR 作成前のブランチレビュー
- 02プロジェクトのチェックリストに沿った変更確認
- 03ブロッカーの分類と対応判断
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ulpi-io/ skills --skill branch-review-before-prインストール後、Claude Code で/branch-review-before-prを入力して読み込まれたか確認します。
同梱ファイルchecklist.md
詳細
譲れないルール:
- 問題を報告する前に、差分全体を読みます。
checklist.mdを読み込み、抑制項目を尊重します。- レビュー対象は、レビューのベースとの差分に限定します。
- ブロッキングな問題について、ユーザーが明示的に「今すぐ修正」を選ばない限り、読み取り専用を維持します。
- 指摘は簡潔で、根拠を示し、具体的にします。
PR 作成前のブランチレビュー
入力
$request:任意の注目領域、ブランチのリスクに関するヒント、またはレビュー範囲の明確化
目標
現在のブランチをデフォルトのベースと比較してレビューし、次のことを行います。
- コンテキストの確認後も残る構造的な欠陥を見つける
- ブロッキングな問題とブロッキングではない問題を分ける
- 各ブロッキングな問題への対応方法をユーザーに尋ねる
- ユーザーが明示的に承認した修正のみを適用する
ステップ 0:レビューのベースを特定する
次を確認します。
- 現在のブランチ
- デフォルトのレビュー用ベース(通常は
origin/mainまたはorigin/master) - ユーザーがブランチ全体のレビューを希望しているか、より限定された範囲のレビューを希望しているか
現在のブランチがすでにベースブランチである場合、または差分がない場合は、そこで終了し、その旨を明確に伝えます。
成功基準:差分のベースが明示されており、レビュー対象となる実際のブランチ差分があること。
ステップ 1:チェックリストと差分の範囲を確認する
次を読みます。
checklist.md- ベースブランチとの差分全体
- 差分が大きい場合は変更ファイルの一覧
ルール:
--statだけを見てレビューしないでください。- 抑制されているチェックリスト項目は報告しないでください。
- 差分が大きい場合は、主張を確認できるだけの周辺コンテキストを含めて、変更ファイルを個別に読みます。
成功基準:チェックリストを読み込み、重要な変更ファイルをすべて確認していること。
ステップ 2:2 段階でレビューする
第 1 段階では、ブロッキングな問題のみを確認します。
- クエリとデータの安全性
- 競合状態と並行処理
- 認証と信頼境界
第 2 段階では、ブロッキングではない問題を確認します。
- 残りのすべてのチェックリスト項目
問題の候補ごとに、次を確認します。
- 実際にレビュー対象の範囲内か
- 差分内の別の箇所ですでに修正されていないか
- 周辺のコードですでに対策されていないか
成功基準:重要なチェックリスト項目をすべて評価し、誤検出を除外していること。
ステップ 3:すべての指摘を報告する
常に結果をすべて報告します。
- まずブロッキングな問題
- 次にブロッキングではない問題
- 問題が見つからなかった場合は、明確に問題なしと伝える
次の構成を使用します。
Branch Review: N issues (X critical, Y informational)
CRITICAL (blocking):
- [file:line] Problem description
Fix: suggested fix
Issues (non-blocking):
- [file:line] Problem description
Fix: suggested fix
成功基準:ブランチがブロックされているかどうか、その理由がユーザーにすぐわかること。
ステップ 4:ブロッキングな問題を 1 件ずつ処理する
ブロッキングな問題ごとに、次の内容を含む AskUserQuestion を個別に使用します。
- 問題と発生箇所
- 推奨する修正
- 次の選択肢:
Fix it nowAcknowledgeFalse positive
ユーザーが選択した場合:
Fix it now:承認された修正のみを適用します。Acknowledge:コードは変更せず、受け入れたことを記録します。False positive:コードは変更せず、指摘を却下したことを記録します。
複数のブロッキングな問題を 1 つの質問にまとめてはいけません。
成功基準:各ブロッキングな問題について、ユーザーの明示的な判断があること。
ステップ 5:承認された修正のみを適用する
ユーザーが Fix it now を選択した場合:
- 最小限かつ適切なコード変更を行います。
- 変更範囲は、承認された問題に限定します。
- コミット、プッシュ、PR の作成は行いません。
- 修正を適用した後、変更内容を要約します。
ユーザーが問題を了承するか、却下するだけの場合は、編集を行いません。
成功基準:明示的に承認された修正のみが適用されていること。
参照資料を読み込むタイミング
checklist.md詳細なレビューマトリクス、抑制項目、問題の分類に使用します。
ガードレール
disable-model-invocationを追加しないでください。このスキルは PR/リリースのワークフローでも引き続き使用できる必要があります。- コンテキストの確認に必要な場合を除き、変更されていないファイルはレビューしないでください。
- スタイル上の好みを問題として報告しないでください。
- ユーザーがその問題を明示的に承認しない限り、修正しないでください。
- このスキルを使ってコミット、プッシュ、PR の作成を行わないでください。
出力仕様
次の内容を報告します。
- レビュー対象のベースとブランチの範囲
- ブロッキングとなる指摘事項
- ブロッキングではない指摘事項
- 質問があった場合の、ブロッキングとなる指摘事項ごとのユーザーの決定
- 実際に適用した修正