gemini-cli について
Claude CodeのワークフローでGoogle公式Gemini CLIを使い、設計やセキュリティ、デバッグ、コードレビューについて別の見解を得るためのスキルです。モデル選択やコマンドの使い方も案内します。
主な機能
- 01Gemini CLIへの相談パターン
- 02FlashとProのモデル選択
- 03セキュリティ・設計レビュー
- 04デバッグとコードレビューの手順
- 05プロンプトとエラー処理の指針
活用シーン
- 01設計判断について別の見解を得る
- 02認証コードのセキュリティ上の問題を確認する
- 03繰り返し失敗するデバッグの原因を探る
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ secondsky/ claude-skills --skill gemini-cliインストール後、Claude Code で/gemini-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/gemini-experiments.mdhelper-functions.mdmodels-guide.mdprompting-strategies.mdscripts/install-gemini-coach.shsetup-slash-command.shtest-connection.sh詳細
Gemini CLI
Claude Code のワークフローで、Gemini の 100 万以上のコンテキストウィンドウを AI ペアプログラマーとして活用できます。
このスキルでは、公式の Google Gemini CLI(gemini コマンド)を使って、別の視点からの意見、アーキテクチャに関するアドバイス、デバッグの支援、包括的なコードレビューを得る方法を Claude Code に教えます。公式 CLI ツールを使った本番環境でのテストに基づいています。
目次
- クイックスタート
- Gemini に相談するタイミング
- インストール
- モデルの選択:Flash と Pro
- 主なユースケース 3 選
- 統合例
- よくあるエラーと解決策 3 選
- リファレンスを読み込むタイミング
- 本番環境でのルール
クイックスタート
前提条件:
- Gemini CLI がインストールされていること(
bun add -g @google/gemini-cli) - Google アカウントで認証済みであること(
geminiを一度実行して認証します)
基本的なコマンドパターン:
# Quick question (non-interactive with -p flag)
gemini -p "Should I use D1 or KV for session storage?"
# Code review with file context
cat src/auth.ts | gemini -p "Review this authentication code for security vulnerabilities"
# Architecture advice using Pro model
gemini -m gemini-2.5-pro -p "Best way to handle WebSockets in Cloudflare Workers?"
# With all files in directory
gemini --all-files -p "Review this auth implementation for security issues"
# Interactive mode for follow-up questions
gemini -i "Help me debug this authentication error"
重要:自動化やスクリプトで非対話型コマンドを実行する場合は、必ず -p フラグを使用してください。
Gemini に相談するタイミング
必ず相談する(重要な状況)
Claude Code は、次の状況で自動的に Gemini を呼び出す必要があります。
-
主要なアーキテクチャ上の意思決定
- 例:「セッションストレージには D1 と KV のどちらを使うべきですか?」
- 例:「長時間実行されるタスクには Durable Objects と Workflows のどちらがよいですか?」
- パターン:
gemini -m gemini-2.5-pro -p "[architectural question]"
-
セキュリティに関わるコード変更
- 認証システム、決済処理、PII の取り扱い
- API キーやシークレットの管理
- パターン:
cat [security-file] | gemini -m gemini-2.5-pro -p "Security audit this code"
-
デバッグで行き詰まったとき(2 回以上失敗)
- デバッグを 2 回試してもエラーが解消されない
- スタックトレースが不明瞭、または断続的にバグが発生する
- パターン:
gemini -p "Help debug: [error message]" < error.log
-
大規模なリファクタリング(5 ファイル以上)
- コアアーキテクチャの変更、データベーススキーマの移行
- パターン:
gemini --all-files -m gemini-2.5-pro -p "Review this refactoring plan"
-
コンテキストウィンドウの逼迫(70%以上)
- トークン上限に近づいており、分析を委ねる必要がある
- パターン:
cat large-file.ts | gemini -p "Analyze this code structure"
必要に応じて相談する
- 不慣れな技術 — ライブラリやフレームワークを初めて使うとき
- コードレビュー — 大規模な変更をコミットする前
インストール
1. Gemini CLI をインストールする
bun add -g @google/gemini-cli
2. 認証する
gemini
認証プロンプトに従って、Google アカウントをリンクしてください。
3. インストールを確認する
gemini --version # Should show 0.13.0+
gemini -p "What is 2+2?" # Test connection
モデルの選択:Flash と Pro
gemini-2.5-flash(デフォルト)
- 速度:約 5~25 秒
- 品質:ほとんどのタスクに適しています
- 用途:コードレビュー、デバッグ、簡単な質問
- コスト:低め
gemini -m gemini-2.5-flash -p "Review this function for performance issues"
gemini-2.5-pro
- 速度:約 15~30 秒
- 品質:優れており、詳細に分析します
- 用途:アーキテクチャ上の意思決定、セキュリティ監査、大規模なリファクタリング
- コスト:高め
gemini -m gemini-2.5-pro -p "Security audit this authentication system"
選択の簡易ガイド
Quick question? → Flash
Security/architecture? → Pro
Debugging? → Flash (try Pro if stuck)
Refactoring 5+ files? → Pro
重要な発見:同じ質問に対して、Flash と Pro が正反対の推奨を示すことがあります(どちらも妥当ですが、優先事項が異なります)。Flash はパフォーマンスを優先し、Pro は一貫性と正確性を優先します。詳細については、references/models-guide.md を読み込んでください。
主なユースケース 3 選
1. セキュリティ監査
# Audit authentication code
cat src/middleware/auth.ts | gemini -m gemini-2.5-pro -p "
Security audit this authentication middleware. Check for:
1. Token validation vulnerabilities
2. Timing attack risks
3. Error handling leaks
4. CSRF protection
5. Rate limiting
"
2. アーキテクチャ上の意思決定
# Compare technologies with context
gemini -m gemini-2.5-pro -p "
Context: Building Cloudflare Worker with user authentication.
Question: Should I use D1 or KV for storing session data?
Considerations:
1. Session reads on every request
2. TTL-based expiration
3. Cost under 10M requests/month
4. Deployment complexity
"
3. デバッグでの根本原因の特定
# Analyze error logs with context
tail -100 error.log | gemini -p "
These errors started after deploying auth changes. What's the likely root cause?
Context:
- Added JWT validation middleware
- Using @cloudflare/workers-jwt
- Errors only on /api/* routes
"
その他のユースケースについて:パフォーマンスの最適化、リファクタリング計画、コードレビューについては、references/models-guide.md を読み込んでください。
統合例
Claude が Gemini に自動で相談する
シナリオ:ユーザーがアーキテクチャについて質問する
User: "Should I use D1 or KV for storing user sessions?"
Claude (internal): This is an architectural decision. Consult Gemini for second opinion.
[Runs: gemini -m gemini-2.5-pro -p "Compare D1 vs KV for user session storage in Cloudflare Workers. Consider: read/write patterns, cost, performance, complexity."]
Claude (to user): "I've consulted Gemini for a second opinion. Here's what we both think:
My perspective: [Claude's analysis]
Gemini's perspective: [Gemini's analysis]
Key differences: [synthesis]
Recommendation: [combined recommendation]"
重要なパターン:Gemini の回答をそのまま伝えるのではなく、両方の視点をまとめてください。
よくあるエラーと解決策 3 選
エラー 1:認証されていない
エラー:Error: Not authenticated
解決策:
gemini # Follow authentication prompts
エラー 2:モデルが見つかりません
エラー:Error: Model not found: gemini-2.5-flash-lite
原因:モデルが廃止または名称変更されています(flash-lite は存在しません)
解決策:安定版モデルのみを使用してください:
gemini -m gemini-2.5-flash -p "Your question"
gemini -m gemini-2.5-pro -p "Your question"
エラー 3:コマンドがハングする
原因:非対話型が想定されている場面で対話モードになっています
解決策:非対話型コマンドでは常に -p フラグを使用してください
# ✅ Correct
gemini -p "Question"
# ❌ Wrong (will hang waiting for input)
gemini "Question"
その他のトラブルシューティング:レート制限、大容量ファイルのコンテキストに関する問題、パフォーマンスのヒントについては、references/models-guide.md を読み込んでください。
参照ファイルを読み込むタイミング
次のような場合に参照ファイルを読み込んでください。
次の場合は references/models-guide.md を読み込んでください:
- Flash と Pro の違いについてユーザーから尋ねられた場合
- モデル間で推奨内容が食い違う場合
- 詳細なパフォーマンス比較が必要な場合
- 特定のタスク種別に適したモデルを選ぶ場合
- モデル間で意見が食い違う理由を理解したい場合
次の場合は references/prompting-strategies.md を読み込んでください:
- Gemini 向けの複雑なプロンプトを作成する場合
- AI 間のプロンプト形式のテンプレートが必要な場合
- プロンプトの品質を向上させたい場合
- 旧方式と新方式のプロンプトを比較する場合
次の場合は references/gemini-experiments.md を読み込んでください:
- テストの歴史的背景が必要な場合
- エッジケースを調査する場合
- 設計上の判断を理解する場合
- 通常とは異なる動作のトラブルシューティングを行う場合
注:helper-functions.md は廃止されています(公式の gemini CLI ではなく、旧 gemini-coach ラッパーを参照しています)。
本番環境でのルール
1. 自動化では常に -p を使用する
# ✅ Good for scripts
gemini -p "Question"
# ❌ Bad (interactive)
gemini
2. 重要度に応じてモデルを選択する
# Architecture/security → Pro
gemini -m gemini-2.5-pro -p "[critical question]"
# Debugging/review → Flash
gemini -m gemini-2.5-flash -p "[general question]"
3. プロンプトにコンテキストを含める
# ✅ Good: Context + Question + Considerations
gemini -p "Context: Building Cloudflare Worker. Question: Best auth pattern? Considerations: 1) Stateless, 2) JWT, 3) <100ms overhead"
# ❌ Bad: Vague
gemini -p "Best auth?"
4. レビューではファイルの内容をパイプで渡す
# ✅ Efficient
cat src/auth.ts | gemini -p "Review for security"
# ❌ Less efficient
gemini -p "Review src/auth.ts"
5. そのまま転送せず、要約して統合する
❌ 悪い例:Gemini の回答をそのまま貼り付ける
Claude: [runs gemini] "Gemini says: [paste]"
✅ 良い例:両方の視点をまとめる
Claude: "I've consulted Gemini for a second opinion:
My analysis: [Claude's perspective]
Gemini's analysis: [Gemini's perspective]
Key differences: [synthesis]
Recommendation: [unified answer]"
6. エラーに適切に対処する
if output=$(gemini -p "Question" 2>&1); then
echo "Gemini says: $output"
else
echo "Gemini consultation failed, proceeding with Claude's recommendation"
fi
バージョン履歴
2.1.0(2025-12-15):
- 500 行未満に最適化(Phase 12.5 → 13 の圧縮)
- 詳細な内容を references/ に抽出
- 「参照ファイルを読み込むタイミング」セクションを追加
- 上位 3 件のエラーと上位 3 件のユースケースに圧縮
2.0.0(2025-11-13):
- 公式 Gemini CLI 向けに全面改稿(gemini-coach ラッパーを削除)
- CLI との直接統合パターン
geminiCLI v0.13.0+ 向けにコマンド例を更新
1.0.0(2025-11-08):
- gemini-coach ラッパーを使用した初回リリース
関連スキル
- google-gemini-api - SDK を介した Gemini API の統合
- google-gemini-embeddings - RAG 向け Gemini エンベディング
- google-gemini-file-search - Gemini を使用したマネージド RAG
ライセンス
MIT - LICENSE を参照してください