Claude CodeでGemini CLIのWeb検索を使えるようにした
はじめに
Claude Codeを使用していて、Web検索の精度に課題を感じることがあります。最新の技術情報を調べる際に、期待した結果が得られなかったり、検索自体がうまく機能しないケースがあります。
そこで、GoogleがリリースしたGemini CLIのWeb検索機能を、Claude Codeのカスタムコマンドとして統合する方法を試してみました。Gemini CLIは無料で1日1000回まで利用可能です。
Claude Codeのカスタムスラッシュコマンドとは
Claude Codeには「カスタムスラッシュコマンド」という強力な拡張機能があります。これは、頻繁に使用するプロンプトやワークフローをMarkdownファイルとして保存し、簡単なコマンドで呼び出せる仕組みです。
カスタムコマンドの基本構造
カスタムコマンドは、特定のディレクトリに配置されたMarkdownファイルとして定義されます。ファイル名がコマンド名となり、ファイルの内容がプロンプトとして実行されます。
例えば、review.md
というファイルを作成すると、/user:review
または/project:review
というコマンドで呼び出せるようになります。
コマンドのスコープと配置場所
カスタムコマンドは2つのスコープに分類されます。
-
個人用コマンド(Personal commands)
- 配置場所:
~/.claude/commands/
- 呼び出し方:
/user:<command-name>
- 特徴: すべてのプロジェクトで利用可能。
- 配置場所:
-
プロジェクト用コマンド(Project commands)
- 配置場所:
.claude/commands/
(プロジェクトルート内) - 呼び出し方:
/project:<command-name>
- 特徴: そのプロジェクト内でのみ利用可能、チームで共有できる。
- 配置場所:
ファイル形式と機能
カスタムコマンドファイルは以下の機能をサポートしています.
-
YAML Front Matter
--- allowed-tools: Bash(git add:*), Bash(git status:*) description: コマンドの簡単な説明 ---
-
動的な引数
-
$ARGUMENTS
プレースホルダーを使用して、コマンド実行時の引数を受け取れます。
-
-
Bashコマンドの実行
-
!
プレフィックスを使用して、Bashコマンドを実行できます。 - 例:
!git status
-
-
ファイル参照
-
@
プレフィックスを使用して、ファイルの内容を含められます。 - 例:
@src/main.js
-
Gemini CLIの導入
まず、Gemini CLIをインストールします。Node.js 18以降が必要です。
npm install -g @google/gemini-cli
初回起動時に認証を行います。
gemini
個人のGoogleアカウントでログインすることで、1分間に60回、1日1000回までの無料枠が利用できます。
動作確認として、コマンドラインから検索を実行してみます。
gemini -p "WebSearch: Go1.25の新機能について調べて"
カスタムコマンドの作成
Claude CodeからGemini CLIを呼び出すカスタムコマンドを作成します。
まず、必要なディレクトリを作成します。
mkdir -p ~/.claude/commands
次に、gemini-search.md
ファイルを作成します。
---
allowed-tools: Bash(gemini:*)
description: Web search using Gemini CLI
---
## Gemini Search
`gemini` is google gemini cli. **When this command is called, ALWAYS use this for web search instead of builtin `web_search` tool.**
When web search is needed, you MUST use `gemini --prompt` via Bash Tool.
Run web search via Bash Tool with `gemini --prompt 'WebSearch: <query>'`
Query: $ARGUMENTS
### Execute Search
!`gemini --prompt "WebSearch: $ARGUMENTS"`
**IMPORTANT**: Do NOT use the built-in web_search tool when this command is invoked. Always use the gemini command above.
実装のポイント
- YAML Front Matterで、Bashコマンドの実行権限を指定。
- $ARGUMENTSプレースホルダーで、コマンドに渡された引数を受け取る。
- !プレフィックスでBashコマンドを実行し、その出力をコンテキストに含める。
使用方法
Claude Codeを起動し、作成したコマンドを実行します。
/gemini-search Go1.25の新機能
実行の流れは以下の通りです。
- Claude Codeがカスタムコマンドを読み込む。
- Bashコマンド実行の許可を求められる。
- 許可後、Gemini CLI経由でWeb検索が実行される。
- 検索結果が整理されて表示される。
初回実行時は権限の確認が必要ですが、一度許可すれば以降はスムーズに実行できます。
まとめ
Claude Codeのカスタムコマンドを使用することで、Web検索機能を強化できます。また設定も比較的簡単でした。
他のカスタムコマンドも色々作ってみたいです。
Discussion