pr-review-expert について
pr-review-expert は、GitHub PR と GitLab MR 向けの構造化コードレビュー用スキルです。影響範囲やセキュリティ、互換性、テスト、性能を確認し、優先度別に指摘をまとめます。
主な機能
- 01影響範囲の分析
- 02差分のセキュリティ検査
- 03破壊的変更の検出
- 04テストカバレッジ分析
- 05性能リスクの評価
- 06優先度別レビュー報告
活用シーン
- 01共有ライブラリや API の変更レビュー
- 02セキュリティに関わるコード変更の評価
- 03大規模なプルリクエストの体系的な確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ borghei/ claude-skills --skill pr-review-expertインストール後、Claude Code で/pr-review-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/best-practices-and-troubleshooting.mdreview-workflow-commands.mdwriteup-format-and-checklist.mdscripts/blast_radius_calculator.pydiff_analyzer.pyreview_checklist_generator.py詳細
PR レビューエキスパート
GitHub の PR と GitLab の MR を対象に、構造化された体系的なコードレビューを行います。スタイルの細かな指摘にとどまらず、影響範囲の分析、セキュリティ脆弱性のスキャン、破壊的変更の検出、テストカバレッジの差分計算、パフォーマンスへの影響評価を実施します。修正必須、修正推奨、提案に分類した優先順位付きの、レビュアーがすぐに使えるレポートを作成します。
キーワード: PR レビュー、コードレビュー、プルリクエスト、マージリクエスト、影響範囲、セキュリティスキャン、破壊的変更、テストカバレッジ、レビューチェックリスト、コード品質
主な機能
- 影響範囲の分析 — 差分によって影響を受ける可能性のあるファイル、サービス、下流の利用者を追跡し、重大度を CRITICAL/HIGH/MEDIUM/LOW で定量化します。
- セキュリティスキャン — 差分から SQL インジェクション、XSS の原因となるコード、ハードコードされたシークレット、認証のバイパス、安全でない暗号化、パストラバーサル、プロトタイプ汚染を検出します。
- 破壊的変更の検出 — API の削除や名前変更、レスポンススキーマや必須フィールドの変更、DB カラムの削除、環境変数の変更、TS インターフェースの編集を指摘します。
- テストカバレッジの分析 — 新規コードと新規テストの比率、新しい公開関数に対するテストの不足、コードを削除していないのにテストが削除されているケース、カバレッジの差分を確認します。
- パフォーマンス評価 — N+1 クエリのパターン、バンドルサイズの悪化、上限のないクエリ、インデックスの不足を確認します。
- レビュアーがすぐに使える出力 — 修正必須/修正推奨/提案に分類した優先順位付きレポート、35 項目のチェックリスト、一貫したコメントラベルを提供します。
使用する場面
- 共有ライブラリ、API、データベーススキーマに関わる PR をマージする前。
- 大規模(変更行数が 200 行を超える)で、体系的なレビューが必要な PR。
- セキュリティ上重要なコードパス(認証、決済、PII の取り扱い)に関わる PR。
- インシデント発生後に、類似するコード変更を先回りしてレビューする場合。
- PR に対して丁寧なフィードバックが必要な、新規コントリビューターのオンボーディング時。
まず確認すること
レビューの前に、以下の入力を確認してください。不足している、または曖昧な情報によって結果が変わる場合は質問してください。結果が変わらない場合は妥当なデフォルトを使用し、使用した値を明記してください。
- 対象 PR とベースブランチ: 影響範囲とカバレッジの差分はベースブランチに対して計算されます。ベースブランチが古いと、PR に含まれない変更も報告されます。
- 変更の目的:(関連チケットまたは意図を一文で記載) — これがないと、意図された動作変更がバグとして指摘される可能性があります。
- レビューの深さ: 影響範囲とセキュリティを全面的に確認するのか、小さな変更を手早く確認するのかを決めます。実行するワークフローのステップもこれによって決まります。
この依頼で最も重要な 2、3 項目について質問してください。ユーザーが「そのままレビューして」と言った場合は、レビューを進め、レポートの冒頭に前提を記載してください。
ツール
| ツール | 目的 | コマンド |
|---|---|---|
blast_radius_calculator.py | 変更されたファイルのインポートチェーン/依存関係ツリーから PR の影響範囲を計算します | git diff --name-only main...HEAD | python scripts/blast_radius_calculator.py --root src |
diff_analyzer.py | 大きなファイル、注意が必要なパス、設定/破壊的変更/セキュリティのパターンなど、リスクの兆候を差分から分析します | gh pr diff $PR | python scripts/diff_analyzer.py --json |
review_checklist_generator.py | 変更されたファイルの種類やパターンに応じたレビュー用チェックリストを生成します | git diff --name-only main...HEAD | python scripts/review_checklist_generator.py |
避けるべきパターン
実質的な問題ではなく、スタイルだけをレビューする
誤り: コメントのほとんどが命名やフォーマットに関するものです。
原因: スタイルの問題は最初に読んだだけでも目につきますが、ロジックやセキュリティの問題には背景情報が必要です。
代わりに: フォーマットはリンターに任せます。影響範囲、セキュリティ、正確性、エラー処理に重点を置いてレビューし、すべてのコメントに must:、nit:、question: のいずれかのラベルを付けてください。
差分の大きさでリスクを判断する
誤り: 共有ユーティリティへの 5 行の変更が、5 行しかないという理由で承認されます。
原因: 画面上で唯一のリスク指標が差分の大きさだからです。
代わりに: 変更されたファイルに対して blast_radius_calculator.py を実行してください。共有モジュールへの小さな変更でも、それをインポートするすべてのサービスを壊す可能性があります。
テストされていない正常系を承認する
よくある間違い: PR で成功ケースしかテストしていません。 起こる理由: テストが通り、カバレッジの数値も問題なさそうに見えるためです。 代わりに: エラー経路とエッジケースにテストがあることを確認し、新しい公開関数にテストがない場合は指摘してください。
その他の落とし穴とトラブルシューティング表については、references/best-practices-and-troubleshooting.md を参照してください。
参考資料
タスクに合った参考資料を読み込みます。このファイルは簡潔に保ち、必要に応じて詳細を確認してください。
- references/review-workflow-commands.md — コンテキストの収集、影響範囲、セキュリティスキャン、破壊的変更の検出、カバレッジの差分、パフォーマンスへの影響を確認するための、正確な
gh/grepコマンド一覧を含む6ステップのレビュー手順(影響範囲の重大度表とカバレッジのルールも含みます)。実際にレビューを行う際に読みます。 - references/writeup-format-and-checklist.md — 具体例付きのレビュー報告書テンプレート、全35項目のレビュー用チェックリスト、コメントラベルの分類を含みます。指摘事項をまとめる際に読みます。
- references/best-practices-and-troubleshooting.md — レビュアーによくある落とし穴、ベストプラクティスとしての習慣、トラブルシューティング表、成功基準を含みます。品質管理のため、レビューの前後に読みます。
対象範囲と制限事項
このスキルで対応すること:
- 35項目以上のチェックリストを用いた GitHub PR と GitLab MR の体系的なレビュー
- モノレポおよびマルチサービスアーキテクチャの影響範囲分析
- よくある脆弱性パターン(SQLi、XSS、シークレット、認証のバイパス)を対象とする差分の静的セキュリティスキャン
- API、データベーススキーマ、TypeScript インターフェース、環境変数の破壊的変更の検出
このスキルで対応しないこと:
- コードの自動修正やリファクタリング — コード生成には
engineering/saas-scaffolderまたはengineering/migration-architectを使用してください - ランタイムセキュリティ分析、SAST/DAST ツールのオーケストレーション、CVE データベースの検索 — 依存関係レベルの脆弱性スキャンには
engineering/dependency-auditorを使用してください - CI/CD パイプラインの設定やビルド失敗のトリアージ — パイプラインの設計には
engineering/ci-cd-pipeline-builderを使用してください - パフォーマンスのベンチマークや負荷テスト — プロファイリングと最適化のガイダンスには
engineering/performance-profilerを使用してください
統合ポイント
| スキル | 統合 | データフロー |
|---|---|---|
engineering/dependency-auditor | パッケージを追加またはアップグレードする PR をレビューする前に、依存関係の監査を実行します | 監査レポートをレビュー報告書の「セキュリティ」セクションに反映します |
engineering/ci-cd-pipeline-builder | レビューチェックリストのゲートを、自動 PR チェックとして CI パイプラインに組み込みます | チェックリスト項目をパイプラインの合否シグナルにします |
engineering/performance-profiler | N+1 クエリや上限のないクエリに関する指摘を、詳細なプロファイリングのためにエスカレーションします | レビューでフラグが付いたコードパスをプロファイリング対象にします |
engineering/migration-architect | スキーマ変更を含む PR について、データベース移行の安全性を検証します | 移行リスクの評価を「破壊的変更」セクションに補足します |
engineering/release-manager | 破壊的変更の検出結果をリリースノートと変更履歴に反映します | 検出された破壊的変更をリリースドキュメントに自動で反映します |
engineering/api-design-reviewer | API エンドポイントの変更を API 設計基準と照合します | API レビューの指摘を「影響範囲」と「破壊的変更」のセクションに統合します |