PRレビュー
これらのルールは、人間またはエージェント(Copilotコードレビュー、Claudeなど)を問わず、すべてのレビュアーに適用されます。
姉妹スキルgithubは、作成者側の対応(コメントの修正、返信、次のレビューの依頼)をカバーしています。
リポジトリ独自のレビュールール(AGENTS.md、CONTRIBUTING.md、スタイルガイド)がこのスキルと矛盾する場合、リポジトリのルールが優先されます。
レビューの目標は、正しいPRをマージすることです。何かを指摘することが目的ではありません。「問題なし」は良い結果です。
指摘の基準
指摘を投稿するのは、現実的な障害を挙げられる場合のみです。実際の呼び出し元、入力、設定、そしてそれが生成する誤った結果を特定できなければなりません。そのシナリオを1~2文で記述できない場合は、投稿しないでください。
| 重大度 | 使用条件 |
|---|---|
| ブロッキング | 一般的なパスでの誤った結果、セキュリティホール、データ損失、ビルドまたはテストの破壊、パブリックAPIの破壊的変更、またはリポジトリに文書化されたルールの明らかな違反 |
| 修正推奨 | あまり一般的でないパスでの実際のバグ、新しい動作に対するテストの欠落、または通常のケースで読者を誤った方向に導くドキュメントや指示 |
| 軽微 | 命名、表現、または小さな明確さの修正。オプション。1回のレビューにつき最大3つまで、かつ最初のラウンドのみ |
次のものは投稿しないでください:
- 非現実的な入力、設定ミスの環境、または攻撃によって得られるアクセス権をすでに持っている攻撃者を必要とする仮定の話。
- どの呼び出し元も到達できないケースに対する防御的コード(「nullチェックを追加することを検討してください」など)。
- リポジトリ内のフォーマッター、リンター、または型チェッカーがすでに強制しているもの。
- 妥当な2つのアプローチ間の個人的な好み。
- ホットパスや計測の裏付けがないパフォーマンスに関する懸念。
- PRの範囲を広げる要求:機能追加、リファクタリング、またはクリーンアップ。
- PRが変更していないコードの問題。ただし、PRによって問題が悪化した場合は除く。深刻な問題が存在する場合は、一度だけ**「事前存在、ブロッキングではない」**とマークして言及します。
ドキュメント、スキル、その他の手順については、次の1つの質問を自問してください:このテキストに従った読者は、通常のケースで誤った行動を取るでしょうか?まれな設定のギャップはせいぜい軽微です。すべてのエッジケースを詳細に記述するよう求めないでください。
ラウンドを重ねて収束する
PRはレビューごとに静かになるべきであり、うるさくなるべきではありません。
- ラウンド1(最初のレビュー):差分全体、すべての重大度、軽微なものは上記の上限内。
- ラウンド2以降(前回のレビュー以降の新しいコミット):
- 前回のレビュー以降に変更されたものだけをレビューし、以前の指摘が修正されたか確認します。
- すでにレビュー済みで変更がないコードに対して新しい指摘をしないでください。何か見逃した場合でも、ブロッキングの場合のみ投稿します。
- 軽微な指摘はありません。
- 作成者が理由を説明した指摘を再提起しないでください。その理由が間違っているという新しい証拠がない限り。意見の相違だけでは新しい証拠になりません。
- 基準を満たすものがない場合は、1行でその旨を述べて停止します。レビューを長引かせないでください。
指摘の書き方
- コメントは1つの問題につき1つ、該当する行に紐付けてください。
- 重大度で始めます:
ブロッキング:、修正推奨:、または軽微:。 - 次に、障害シナリオを1~2文で、続けて最小限の修正方法を記述します。
- 1回のレビューにつき最大5つの指摘まで。最も重大なものから順に。それ以上ある場合は、残りをサマリーに簡潔に列挙します。重複は1つのコメントにまとめ、すべての場所をリストします。
- 具体的かつ中立的に。称賛の飾りは不要、「考慮すべきかもしれません」といった曖昧な表現は避けてください。
サマリー
短いサマリーで締めくくります:
- 判定:承認、軽微な指摘ありで承認、または変更要求(ブロッキングの指摘が少なくとも1つある場合のみ)。
- 重大度ごとのカウント。
- ラウンド2以降:以前の指摘のうち、修正されたものとまだ未解決のもの。
ループ内のエージェントとしてレビューする
別のエージェントがあなたの指摘を修正し、次のレビューを依頼している場合:
- 作成者の返信をレビューの一部として扱います。「abc1234で修正済み」はそのコミットを確認することを意味します。「理由により現状維持」は、その理由が間違っていない限り、指摘はクローズされたことを意味します。
- 3ラウンド後は、ブロッキングの指摘のみを投稿し、残りの項目は作成者の判断に委ねると述べます。