code-review

GitHub PR、diff、ローカルコード変更を並列レビューし、重複排除・検証・見落とし探索を経て、根拠付きのコードレビューを生成する skill。

SKILL.md

GitHub

Code Review

Invocation

この skill は明示的に呼び出された場合のみ使用する。

$code-review
$code-review pr#123
$code-review owner/repo#123
  • 引数なし: 現在の repository のローカル変更をレビューする。
  • pr#<number>: 現在の repository の GitHub PR をレビューする。
  • owner/repo#<number>: 指定 repository の GitHub PR をレビューする。

レビューでは変更された行だけでなく、その変更によって影響を受ける呼び出し元・呼び出し先・テストも確認する。

対象を取得できない場合は、利用可能な別手段を試す。取得できないまま推測でレビューしてはいけない。


Phase 0 — 変更内容を把握する

レビューを始める前に、変更の目的と影響範囲を把握する。

以下を確認する。

  • 変更されたファイルと処理
  • 変更によって変わる振る舞い
  • 影響を受ける呼び出し元・呼び出し先・テスト
  • 削除・変更された validation、authorization、guard、error handling
  • PR description、issue、既存ドキュメントなどから分かる変更意図

diff だけを見てレビューを始めてはいけない。

変更意図が明示されていない場合は、既存コード・テスト・呼び出し側から現在の仕様を読み取ってレビューを続行する。


Phase 1 — reviewer を並列で実行する

references/reviewers.md と references/review-angles.md を読む。

以下の reviewer を並列で実行する。

  1. セキュリティ・認可
  2. 正しさ・状態管理
  3. 並行処理・障害耐性
  4. 性能・リソース
  5. 設計・保守性
  6. テスト・回帰
  7. 運用・可観測性

各 reviewer は独立して変更を確認する。

reviewer 同士で指摘内容を共有してはいけない。 同じ変更を異なる観点から確認し、見落としを減らす。

指摘を出す場合は、以下を説明する。

  • どこで起きるか
  • どの条件で起きるか
  • どの処理経路を通るか
  • 何が誤った挙動になるか
  • どんな影響があるか

発生条件・処理経路・影響を説明できない推測的な指摘は出さない。


Phase 2 — 指摘を整理・重複排除する

各 reviewer の指摘をまとめ、同じ根本原因、同じ変更箇所、または同じ修正で解決できる指摘は1件に統合する。

統合時は、それぞれの reviewer が示した根拠と影響を残す。

別の指摘として分けるのは、修正方法が独立している場合だけとする。


Phase 3 — 指摘を検証する

references/verification.md を読む。

整理した各指摘について、コード・呼び出し元・呼び出し先・テストを確認し、本当に成立するか検証する。

各指摘に次の確度を付ける。

  • 確定: 発生条件、処理経路、誤った挙動をコード上で確認できる
  • 高確度: 問題の仕組みは成立しているが、一部の実行条件を静的に確定できない
  • 未確認: 根拠が不足しており、成立すると判断できない
  • 否定: guard、型、caller、transaction などによって問題が成立しない

最終レポートには 確定 と 高確度 だけを残す。

各指摘について、成立する根拠だけでなく、成立しない可能性を必ず検証する。

以下を確認する。

  • 呼び出し元、validation、型、制約などによって、問題がすでに防がれていないか
  • transaction、lock、unique constraint などによって、実行時に問題が成立しない構造になっていないか
  • 指摘している経路が実際に到達可能で、既存テストや API の仕様と矛盾していないか

これらを確認したうえで反証できない指摘だけを 確定 または 高確度 とする。


Phase 4 — 見落としを確認する

Phase 1〜3 に参加していない reviewer が、既存の指摘を見ずに変更を再確認する。

references/review-angles.md を使い、以下を確認する。

  • 変更された振る舞い
  • 削除・変更された guard、validation、error handling
  • 呼び出し元・呼び出し先との契約
  • test coverage
  • まだ挙がっていない問題となる経路

新しい指摘が見つかった場合は、Phase 3 と同じ基準で検証する。

既存の指摘と同じ根本原因、または同じ修正で解決できる場合は、重複として統合する。


Phase 5 — 最終レポートを作る

references/output.md を読む。

確定 と 高確度 の指摘だけを最終レポートに残す。

指摘は重要度の高い順に並べ、同じ根本原因や同じ修正で解決できるものは1件にまとめる。

各指摘には以下を含める。

  • 重要度
  • 確度
  • 対象箇所
  • 問題
  • 影響
  • 推奨対応

詳細な発生条件・処理経路・根拠は、判断に必要な場合だけ補足する。

最後に、以下を短くまとめる。

  • 今すぐ直すべきもの
  • マージ前に確認すべきもの
  • 問題なしと判断したもの

指摘がない場合は、問題を作らず「指摘なし」とする。