gemini-peer-review について
Claude Code 向けの Gemini によるコードレビュー手順で、コードレビュー、設計相談、デバッグ、セキュリティ確認に対応します。Gemini API から別の見解を得て、自身の分析と合わせて提示します。
主な機能
- 01コード品質とセキュリティのレビュー
- 02設計上のトレードオフ分析
- 03難しい問題のデバッグ支援
- 04タスクに応じた Gemini モデル選択
- 05プロンプトテンプレートによるリクエスト作成
活用シーン
- 01大きな変更のコミット前レビュー
- 02修正に何度も失敗した後のデバッグ相談
- 03設計案の比較とトレードオフ検討
- 04セキュリティに関わるコードの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jezweb/ claude-skills --skill gemini-peer-reviewインストール後、Claude Code で/gemini-peer-reviewを入力して読み込まれたか確認します。
同梱ファイルreferences/prompt-templates.md
詳細
Gemini によるピアレビュー
コード品質、アーキテクチャ上の判断、デバッグ、セキュリティレビューについて、セカンドオピニオンを得るために Gemini をコーディングのピアとして活用します。
セットアップ
API キー:環境変数として GEMINI_API_KEY を設定します。キーをお持ちでない場合は、https://aistudio.google.com/apikey から取得してください。
export GEMINI_API_KEY="your-key-here"
ワークフロー
-
ユーザーのリクエストからモード(review、architect、debug、security、quick)を判断します
-
対象ファイルをコンテキストに読み込みます
-
references/prompt-templates.md の AI 間テンプレートを使ってプロンプトを作成します
-
.claude/artifacts/gemini-prompt.txtにプロンプトを書き込みます(シェルのエスケープ問題を回避できます) -
API を呼び出します。以下の処理を行う Python スクリプトを生成します。
- 環境変数から
GEMINI_API_KEYを読み込む .claude/artifacts/gemini-prompt.txtからプロンプトを読み込むhttps://generativelanguage.googleapis.com/v1beta/models/{model}:generateContentに POST する- ペイロード:
{"contents": [{"parts": [{"text": prompt}]}], "generationConfig": {"temperature": 0.3, "maxOutputTokens": 8192}} candidates[0].content.parts[0].textからテキストを抽出する- 結果を標準出力に出力する
スクリプトを
.claude/scripts/gemini-review.pyに書き込み、実行します。 - 環境変数から
-
統合します。Gemini の指摘を提示し、自分の見解(賛成/反対)を加え、何を実装するかはユーザーに判断してもらいます
モード
コードレビュー
バグ、ロジックエラー、セキュリティ上の脆弱性、パフォーマンスの問題、ベストプラクティスへの違反がないか、指定されたファイルをレビューします。
対象ファイルを読み込み、コードレビューテンプレートを使ってプロンプトを作成し、gemini-2.5-flash で呼び出します。
アーキテクチャのアドバイス
トレードオフの分析を含め、設計上の判断についてフィードバックを得ます。プロジェクトのコンテキスト(CLAUDE.md、関連するソースファイル)を含めます。
プロジェクトのコンテキストを読み込み、アーキテクチャテンプレートを使ってプロンプトを作成し、gemini-2.5-pro で呼び出します。
デバッグの支援
修正を2回以上試しても解決できない場合に、エラーを分析します。Gemini はデバッグ時のコンテキストによる偏りなしに、新たな視点でコードを確認できます。
問題のあるファイルを読み込み、デバッグテンプレートを使ってプロンプトを作成し(エラーメッセージとこれまでの試行内容を含めます)、gemini-2.5-flash で呼び出します。
セキュリティスキャン
コードのセキュリティ上の脆弱性(インジェクション、認証の回避、データ漏えい)をスキャンします。
対象ディレクトリのソースファイルを読み込み、セキュリティテンプレートを使ってプロンプトを作成し、gemini-2.5-pro で呼び出します。
簡単な質問
ファイルのコンテキストを使わず、すばやく質問します。プロンプトをその場で作成してファイルに書き込み、gemini-2.5-flash で呼び出します。
モデルの選択
| モード | モデル | 理由 |
|---|---|---|
| review、debug、quick | gemini-2.5-flash | 高速で、一般的な分析に適しています |
| architect、security-scan | gemini-2.5-pro | 複雑なトレードオフの推論に優れています |
エラーが発生した場合は、現在のモデル ID を確認してください。頻繁に変更されます。
curl -s "https://generativelanguage.googleapis.com/v1beta/models?key=$GEMINI_API_KEY" | python3 -c "import sys,json; [print(m['name']) for m in json.load(sys.stdin)['models'] if 'gemini' in m['name']]"
使用する場面
適した用途:
- 大きな変更をコミットする前(最終レビュー)
- 複数回試してもデバッグで行き詰まったとき
- 複数の妥当な選択肢があるアーキテクチャ上の判断
- セキュリティが重要なコードのレビュー
使用を避ける場面:
- 簡単な構文チェック(Claude のほうがすばやく処理できます)
- 編集のたびに使用すること(遅く、不要です)
- 答えが明らかな質問
プロンプトの作成
重要:必ず AI 間のプロンプト形式を使ってください。プロンプト全文をファイルに書き込みます。コードを bash の引数として直接渡さないでください(シェルのエスケープで壊れます)。
プロンプトを作成する際は、以下の手順に従います。
- references/prompt-templates.md の AI 間ヘッダーから始めます
- モード固有のテンプレートを追加します
--- filename ---で明確に区切って、ファイルの内容を追加します.claude/artifacts/gemini-prompt.txtに書き込みます- API 呼び出しスクリプトを生成して実行します
参照ファイル
| 場面 | 読み込むファイル |
|---|---|
| すべてのモードでプロンプトを作成するとき | references/prompt-templates.md |