この記事は何
Claude Codeには Pluginという形でカスタムコマンド, サブエージェント, Skills, MCP, Hooksなどをひとつのパッケージとして配布できる機能があります。
僕はこのPlugin機能を用いて、自身の環境をPluginとしてGitHubに公開しています。
これから複数回に分け、この自身のClaude Code Pluginの環境を紹介していきます。
今回は実装したSkill skills/web-search について紹介します。
Skillsとは
SkillsはClaude Codeが特定のタスクを実行する際に参照できる、再利用可能な知識・手順をまとめたものです。
各Skillは主にMarkdownファイル(SKILL.md)として定義され、必要に応じて関連するスクリプトやリソースを含むことができます。
Claude Codeは、ユーザーのリクエストに応じて適切なSkillを読み込み、その指示に従って作業を実行します。これにより、複雑なワークフローや定型的な作業を一貫性のある方法で自動化できます。
Claude Code自身が参照する知識ベースとして機能し、直接的にスクリプトの実行やワークフローの管理が可能なため、どのような時にどのようなことをするべきかをルールベースで定義、実行させることが可能です。
詳しくは以下をご覧ください。
skills/web-search について
このSkillは、Claude CodeのデフォルトのWeb検索ツールより「大規模で高品質な検索が必要な場合」に使用するための高度なWeb検索機能を提供するものです。
処理としてはGemini 3.0の登場が話題の、Gemini CLIを用いてWeb検索を実行します。
Gemini CLIはGoogle検索を用いたWeb情報の収集が可能なため、Claude CodeのデフォルトのWeb検索ツールよりも大規模で高品質な検索が可能です。
このSkillを使うと以下のようなことが可能です。
- 最新の技術情報を取得する(Next.js 15の新機能、React QueryのAPIドキュメントなど)
- エラーメッセージから解決方法を探す(Stack OverflowやGitHub Issuesから)
- 業界ニュースや製品アップデート情報を収集する
- ベストプラクティスや実装方法を調査する
- 複数の技術を比較分析する(例: ViteとWebpackの違い)
使い方
Skillsは、Claude Codeが自動的にユーザーのリクエストに応じて呼び出しますが、デフォルトのWeb検索ツールが優先的に呼ばれてしまうことが多いので、CLAUDE.mdなどで明示的にこのSkillを使うよう指示することを薦めします。
僕は↓のようにCLAUDE.mdに記述しています。
→ Skillsのdescriptionに「Web検索時はこのSkillを優先的に利用する」旨を記載したところ、このSkillを優先的に使ってくれるようになりました!
例えば以下のようなリクエストをすると、自動的にこのSkillが呼び出され、Gemini CLIを用いてWeb検索が実行されます。
Next.js 15の新機能について、公式ドキュメントや技術記事から詳しく調べて教えてください
TypeScriptの型エラー「Type 'X' is not assignable to type 'Y'」の解決方法を、Stack OverflowやGitHub Issuesから探してください
Reactのパフォーマンス最適化のベストプラクティスを、公式ドキュメントと技術記事から調査してまとめてください
なお、紹介した通り内部的にはGemini CLIを利用しているため、Gemini CLIのセットアップを事前に済ませておく必要があります。
プロンプト・コード
プロンプトは以下の通りです。
また、プロンプト内で使用しているスクリプトは以下の通りです。
スクリプトの実装はシンプルで、geminiコマンドを呼び出し、検索クエリを渡すだけです。
geminiコマンドは、Gemini AIを利用してWeb検索を実行し、Markdown形式で回答を生成します。
最後に
Skillsを用いるとmcpやサブエージェントでは実現できない、「よしなにスクリプトを実行する」「よしなにワークフローを実行する」ということができます。
ぜひSkillsを使ったことのない方は試しに使ってみてください。
プラグインの他の部分も今後紹介していきます。