2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude CodeでPRを出す前にAIレビューを仕込む — 2段構えチェックの実装パターン

2
Posted at

はじめに

コードを書き終わったあと、そのままプルリクを出していないだろうか。

レビュアーからの指摘を減らす方法として、「Claude Codeにレビューさせてから出す」という手法が個人的にかなり効いている。さらに一歩進めると、「PR作成前に自動でAIチェックを走らせる仕組み」を組み込むことで、レビュー前の品質を安定させられる。

この記事では、CLAUDE.md と Skills を使って 2段構えのAIレビュー自動化 を実装する方法を紹介する。


2段構えとは

ステップ タイミング 目的
第1段(CLAUDE.md) 常時 バグ・型エラー・セキュリティ的なコード問題の検出
第2段(Skills) PRを出す前(手動) 設計意図・コメントの欠落・レビュアーが疑問に思う箇所

第1段は CLAUDE.md に「常時ルール」として書いておく。第2段は Skills で「PR前チェック」として手動トリガーする。


第1段: CLAUDE.md による常時ルール

CLAUDE.md に以下のようなルールを書いておくと、Claude Code がコード生成・変更時に自律的にチェックするようになる。

# CLAUDE.md(抜粋)

## コード変更時の必須確認

変更後、必ず以下を確認してから次に進む:
- TypeScript の型エラーがないこと(`tsc --noEmit`- テストが通ること(`npm run test`- console.log に秘密情報が含まれていないこと
- SQL インジェクション・XSS のリスクがないこと

これをコンテキストに入れておくだけで、Claude Code が自分でチェックを走らせるようになる。明示的に「チェックして」と言わなくても、CLAUDE.md のルールが常に適用されるのが強みだ。


第2段: PR前チェック Skill の実装

次のパスに skill を作る:

.claude/skills/review-before-pr/skill.md
# review-before-pr スキル

## 概要
PRを出す前に Claude Code が差分をレビューし、指摘事項をリストアップする。

## 実行方法
「PR前チェックして」「レビューして」と話しかける

## 手順

1. `git diff main` を実行して差分を取得
2. 以下の観点でチェック

### チェック観点

1. **可読性**: 変数名・関数名がわかりやすいか。長すぎる関数(50行超)がないか
2. **コメント**: 「なぜそう実装したか」が不明瞭な箇所にコメントがあるか
3. **エラーハンドリング**: 外部APIや非同期処理でエラーケースが考慮されているか
4. **セキュリティ**: 入力値検証、認証チェックが漏れていないか
5. **テスト**: ハッピーパス以外のケースが考慮されているか

## 出力フォーマット

指摘をリスト形式で出力。3段階で分類する:
- 🔴 **要修正**: バグ・セキュリティ → 必ず直してからPRを出す
- 🟡 **確認推奨**: 設計意図が不明 → コメントかPR説明欄に書く
- 🟢 **提案**: リファクタ案 → 別チケットに積んでよい

実際の運用フロー

# 作業ブランチで変更が完了したら
git add -p          # 差分を確認しながらステージング
git commit -m "..."

ここで Claude Code に「PR前チェックして」と話しかける。

# Claude Code からの出力例

## PR前チェック結果

🔴 要修正
- `src/api/users.ts:42` — ユーザー入力をそのままSQLに渡している。プリペアドステートメントに変更を

🟡 確認推奨
- `src/components/Form.tsx:18` — `handleSubmit` が何をやっているか不明。コメントか PR 説明欄に追記を

🟢 提案
- `src/utils/validation.ts` — 同じ検証ロジックが3箇所に散らばっている。共通関数化できる(別タスクで検討)

対応方針は明確だ:

  • 🔴 は絶対に直してからPRを出す
  • 🟡 はコメントかPR本文で補足する
  • 🟢 は別チケットに積んでスルーしてよい

「全部直す必要はない」のが重要で、提案まで全対応しようとすると時間がかかりすぎる。


CLAUDE.md との役割分担

タイミング チェック内容 トリガー
CLAUDE.md ルール コード変更時・常時 型・テスト・セキュリティ(明らかなNG) 自動
review-before-pr Skill PR作成前 可読性・設計・コメント(品質向上) 手動

この2段で「出してはいけないコード」と「出す前に改善できるコード」を分けて処理できる。


まとめ

  • 第1段(CLAUDE.md): 型エラー・セキュリティ系を常時チェック
  • 第2段(Skills): 可読性・設計・コメントをPR前に手動チェック

両方を組み合わせることで、「レビュアーに明らかなものを指摘させない」運用が実現できる。レビューでの議論を「設計判断」に集中させられるようになった。


未経験者向けの講座を運営しています

未経験から Next.js + Supabase + Claude Code で Webアプリを作って公開するまで を、全20セッションで体系化した教材です。Claude Code を学習パートナーにする CLAUDE.md / Skills 設計までセットで含みます。

※ Qiita 読者の方には易しすぎる内容なので、初心者の知り合いへの紹介や社内研修の参考としてどうぞ。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?