| name | pull-request-review |
| description | プルリクエスト・マージリクエストのレビューを行う場合にこのスキルを使用してください。
ベースブランチとの差分、コミット履歴、関連ドキュメント、依存ライブラリの変更履歴を確認し、
対応漏れ・取り込み漏れ・回帰リスク・検証不足を特定するための手順と観点を提供します。
|
プルリクエストレビュースキル
このスキルは、プルリクエスト・マージリクエストに対して、差分確認と実務的なレビューを行うための手順と観点を提供します。
レビューの前提
- 関連スキルである「code-review」をベースラインとして、コード品質・保守性・安全性・テスト品質を確認する
- 関連スキルである「code-reading」を補助的に用いて、変更の背景と影響範囲を把握する
- diff の確認に留まらず、ベースブランチとの差分、コミット履歴、関連ドキュメント、依存更新履歴を突き合わせてレビューする
- レビューの主目的は、対応漏れ・取り込み漏れ・回帰リスク・検証不足の発見である
有効化するタイミング
- ユーザーがプルリクエスト・マージリクエストのレビューを依頼した場合
- ベースブランチと比較して対応漏れがないか確認したい場合
- あるブランチに特定の修正や依存更新が正しく取り込まれているか確認したい場合
- コミットログも参照して変更の抜け漏れを見たい場合
- 依存ライブラリ更新を含む変更について、実装追従が十分か確認したい場合
進め方
- 現在のブランチとベースブランチを特定する
merge-base を確認し、比較範囲が妥当か把握する
... diff とコミットログの両方を確認し、片側にしかない変更を洗い出す
- 差分ファイルを読み、変更内容と意図を整理する
- 関連する過去コミット、周辺ファイル、テスト、設定を確認して影響範囲を広げる
- 必要に応じて外部ライブラリの changelog、release note、migration guide を確認する
- 実行確認が必要な場合は、コンパイル・テスト・lint などの妥当な検証を行う
- 発見事項を重要度順に整理し、根拠とともに返す
差分確認
git diff --stat と git diff --name-status で変更の全体像を把握する
git diff base...HEAD を基本とし、必要に応じて個別ファイル diff まで掘る
- 変更ファイル数、追加削除行数、設定変更、依存変更、テスト変更の有無を確認する
- 差分が小さく見えても、依存更新や型変更が含まれる場合は影響範囲を広く見る
- リファクタ、挙動変更、設定変更、依存更新を分けて理解する
コミット履歴確認
git log --left-right --cherry-pick base...HEAD で片側にのみあるコミットを確認する
- 関連ファイルに対する過去コミットを確認し、過去に必要だった追従修正が今回も必要かを見る
- コミットメッセージだけで判断せず、必要なら実際の patch を読む
影響範囲の確認
- 変更された型、API、設定値、依存関係の参照先を検索する
- 直接変更されていないが影響を受けるクラス、モジュール、テストを確認する
- 既存の抽象化や DI 設定が変更後の実装に適合しているか確認する
- 実装変更に対してテストが追従しているか確認する
- 運用設定、環境変数、CI 設定への影響も確認する
依存ライブラリ更新の観点
- バージョン更新だけでなく、API の非推奨化、置換手段、デフォルト値の変化を確認する
- 公式 changelog、release note、migration guide、Javadoc など一次情報を優先する
- 非推奨 API を置き換えた場合、その理由がライブラリ独自事情か、基盤側の仕様変更かを確認する
- 変更された設定 API や初期化方法が、ライブラリの推奨する移行先に沿っているか確認する
- 旧実装で明示していた設定が、新実装ではデフォルトに委ねられていないか確認する
- プール設定、タイムアウト、認証、TLS、デフォルト挙動の差異を確認する
- 自動更新を抑止していた依存については、過去に何が壊れたかをコミットログから確認する
設定とデフォルト値
- コンストラクタ引数、builder、設定オブジェクトの変更を確認する
- 設定 API の変更がある場合は、どの値をどこで指定する設計に変わったか確認する
- 旧実装で明示していた値が、新実装で省略されていないか確認する
- 省略されている場合は、本当にデフォルト値が同等か一次情報で確認する
- 明示設定がなくても、旧実装も実質デフォルトだったのかを区別する
- 本番設定だけでなく、ローカル開発環境やテスト用構成も確認する
テストと検証
- 差分に対する直接的なテストがあるか確認する
- 依存更新、設定変更がある場合はコンパイル確認を重視する
指摘の整理
重大
- 動作不良
- データ不整合
- セキュリティ問題
- 明確な回帰
要対応
改善
フィードバックの形式
- 各指摘には、対象ファイル、根拠、何が問題か、なぜそう言えるかを含める
- 未確認事項やレビューの限界を明記する
- 変更要約は補足として短くまとめる
注意点
- コミットメッセージだけで意図を断定しない
- 既存変更やユーザーの未コミット変更を加えない
- レビュー依頼では、修正より先に問題発見を優先する