code-review-git
PR 作成前のセルフレビューやマージ前の最終確認に最適。
前提条件
- Claude Code 環境
git,ghCLI
引数
- 引数なし: 現在のブランチと
origin/developとの差分を対象 - ブランチ指定: 比較先のリモートブランチを指定(例:
origin/main)
フェーズ1: 差分の取得と把握
git fetch origin- 比較元ブランチを決定(引数あり → 引数使用 / なし →
origin/develop) - マージベースを取得(
git merge-base <比較元> HEAD) - 差分ファイル一覧(
git diff --name-status <merge-base>...HEAD) - 差分統計(
git diff --stat <merge-base>...HEAD) - コミット一覧(
git log --oneline <merge-base>..HEAD) - TaskCreate でチェック対象をタスク化
フェーズ2: コード品質チェック(変更差分のみ)
変更ファイルの差分を取得し、変更箇所を中心にチェック。周辺コンテキスト(関数全体等)も必要に応じて読み取る。
チェック観点は references/check-criteria.md を参照。
手順
- 変更ファイルを分類(ソースコード、テスト、設定、ドキュメント)
- 各ソースコードの差分を取得しチェック
- 周辺コンテキストが必要ならファイル全体を読む
- テストファイルの変更があればテストの妥当性もチェック
フェーズ3: ドキュメント乖離チェック(差分内のドキュメント vs コード)
差分内の変更同士を突き合わせる。 プロジェクト全体のドキュメント走査はしない。
- 差分ファイルを分類(ドキュメント:
.md/.rst/.txt/ コード: ソース・設定) - コード差分からドキュメント反映が必要な変更を特定(API変更、設定変更、構成変更等)
- ドキュメント差分から対応するコード変更があるべきものを特定
- 突き合わせて乖離を検出:
- コード変更あり・ドキュメント更新なし → 更新漏れ
- ドキュメント変更あり・コード変更なし → 先行更新 or 不要変更
- 両方変更あり・矛盾 → 不一致
フェーズ4: テスト実行
テスト実行可能なら実行し、結果をレポートに含める。
フェーズ5: レポート生成
AskUserQuestionで出力先確認:- GitHub Issue(推奨):
review: Git差分レビュー(<ブランチ名> → <比較先>, <YYYY-MM-DD>) - ローカル MD:
code-review-git-report.md - コンソール出力: レポートをそのまま会話に出力
- GitHub Issue(推奨):
- レポート形式は
templates/report.mdを参照 - 要約をユーザーに報告
重大度の基準
| 重大度 | 基準 |
|---|---|
| 🔴 重大 | セキュリティリスク、データ損失、本番障害、仕様と明確に矛盾するドキュメント |
| 🟠 重要 | バグリスク、アーキテクチャ違反、テスト不足、更新漏れのドキュメント |
| 🟡 提案 | 可読性・保守性改善、リファクタリング候補、ドキュメント補足 |
| 🟢 軽微 | 命名改善、コードスタイル、表記ゆれ |
ルール
- 差分に集中。 変更されていないコードは対象外(明らかなセキュリティリスクを除く)
- 推測で指摘しない。実際のコードと差分で裏付ける
- 指摘にはファイルパスと行番号を示す
- 改善案は具体的に示す
- 周辺コンテキスト(関数全体、呼び出し元等)も確認して正確にレビュー
- 🔴🟠 は必ずレポートに含める。🟡🟢 は明確なメリットがある場合のみ
- プロジェクトの既存パターン・規約を尊重する
- ドキュメント乖離は差分内の変更同士の突き合わせのみ
- TaskCreate/TaskUpdate で進捗を管理する