search-web について
search-webは、技術情報やウェブ資料、GitHubの内容を探すスキルです。検索対象に応じてContext7、Exa、mcp-deepwikiなどを使い、Exaの検索が失敗した場合などに限りTinyFishへ切り替えます。
主な機能
- 01技術文書やAPIリファレンスの検索
- 02Exaによるウェブ検索
- 03既知URLの本文取得
- 04GitHubリポジトリ文書の確認
- 05GitHubのファイルやディレクトリの取得
活用シーン
- 01ライブラリやフレームワークの公式文書を探す
- 02サンプル、チュートリアル、最新情報を探す
- 03指定したウェブページを読む
- 04GitHubの構成やソースを確認する
MCP 対応
Context7、Exa、mcp-deepwiki、github-fetcherを通じてMCPツールを利用します。MCPツールが利用できない場合はセットアップとcode agentの再起動を案内し、TinyFish CLIはExa検索失敗時などの代替として使います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ karthrand/ karthrand-ai-public --skill search-webインストール後、Claude Code で/search-webを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdexamples/usage.mdreferences/setup.mdtinyfish-fallback.mdreferences/rules/output-format.mdreferences/strategies/config-index-shortcut.mdscripts/detect.shsetup-mcp.sh詳細
Search-Web スキル
概要
Context7、Exa、TinyFish、ウェブページ本文の読み取り、mcp-deepwiki、github-fetcherを最小限の検索フローで統合します。通常の検索では、現在のセッションで利用できるツールをそのまま使用します。環境に不足がある場合は、ユーザーに $search-web setup を手動で実行してから、コーディングエージェントを再起動するよう案内します。
原則:検索対象の種類ごとに固定のツールチェーンを使用します。ウェブ検索ではExaを優先し、Exaが失敗した場合、利用枠の上限に達した場合、サービスが利用できない場合、または結果が空の場合に限り、代替としてTinyFish CLIを使用します。
パラメーターの入口
このスキルでは、呼び出しパラメーターによって2つのモードを区別します(/search-webに続けて指定するパラメーター、またはSkillツールのargs)。
- パラメーターが
setup($search-web setupと記述)の場合:初期化とMCP設定のフローを実行し、完了後に現在の検索を停止します。 - その他のパラメーター、またはパラメーターなしの場合:検索フローに直接進み、
detect.shを実行せず、MCPを自動インストールしません。
使用する場面
- ライブラリ、フレームワーク、SDK、言語の公式ドキュメントを検索する場合(library docs、API reference、framework guides)
- コード例、チュートリアル、ブログ記事、最新のウェブ情報を探す場合(code examples、npm packages)
- 指定されたウェブページの本文を読む場合(URLが既知の場合に限る)
- GitHubリポジトリの構成、ドキュメント、ソースコードのエントリーポイントを確認する場合(README、source code、directory structure)
- GitHubリポジトリ内の具体的なファイルやディレクトリ構成を読む場合
- 最新情報が必要で、
library not found、rate limit、documentation outdatedに遭遇した場合
使用しない場面
- ローカルコードだけを検索する場合や、インターネット接続が不要な一般的な質問
- コードを直接実行したり、テストを実行したり、ビジネスロジックをデバッグしたりする必要がある場合
- ローカルに完全なドキュメントがあり、インターネットでの検証が不要な場合
- コードの変更やリファクタリングが必要な場合(refactoring)
MCP クイックリファレンス
| 検索対象 | ツール | 固定ルール |
|---|---|---|
| 技術ドキュメント | Context7 | 最初にresolve-library-id、次にquery-docsを実行します。1つの質問につき最大3回です。 |
| ウェブ検索 | Exa / TinyFish | Exaを優先します。Exaが失敗した場合、利用枠の上限に達した場合、サービスが利用できない場合、または結果が空の場合は、TinyFishを使用します。 |
| GitHubリポジトリのドキュメント | mcp-deepwiki | リポジトリ全体のドキュメント概要と詳細な読み込み |
| GitHubのファイル/ディレクトリ | github-fetcher | 具体的なファイルまたはディレクトリ構成 |
| ウェブページ本文 | ホストの読み取りツール / TinyFish | URLが既知の場合に限り使用します。ホストの読み取りに失敗した場合は、TinyFishで本文を取得できます。 |
コアフロー
- ユーザーのパラメーターが
setupの場合は、references/setup.mdを読み、初期化フローを実行してから、現在の検索を停止します。 - 通常の検索では
bash scripts/detect.shを実行せず、検索対象に応じてツールを選択します。 - 設定項目に関する質問(しきい値、スイッチ、flag、option、parameter、env)では、最初に
references/strategies/config-index-shortcut.mdを読みます。 - 技術ドキュメントの検索では、まず
Context7を使用します(最初にresolve-library-id、次にquery-docsを実行します)。 - ウェブ検索では最初に
Exaを使用します。Exaが失敗した場合、利用枠の上限に達した場合、サービスが利用できない場合、または結果が空の場合は、references/tinyfish-fallback.mdに従い、代替としてTinyFishCLIを使用します。 - GitHubリポジトリが検索結果に見つかった場合は
mcp-deepwikiを使用します。具体的なファイルやディレクトリを読む必要がある場合はgithub-fetcherを使用します。 - ウェブページ本文の読み取りが許可されるのは、ユーザーが明確なURLを提示した場合、
ExaでURLを特定した場合、またはTinyFishでURLを特定した場合に限ります。 - 最終回答は
references/rules/output-format.mdに従って構成します。
MCP の使用範囲
ツールの対応関係は、上記の「MCP クイックリファレンス」表を参照してください。以下は常に禁止されています。
open-websearchや、指定されていないその他の検索ツールを使ってExa/TinyFishの代わりにすることmcp-deepwikiをgithub-fetcherのファイル読み取りの代わりにすること、またはその逆- 通常の検索で、
Context7、Exa、mcp-deepwiki、github-fetcherが未登録、未ロード、接続失敗、またはserver unavailableを返した場合に、現在の検索を停止せず、ユーザーに$search-web setupを実行してコーディングエージェントを再起動するよう案内しないこと - 通常の検索で
setup-mcp.shを自動実行したり、MCP設定に書き込んだりすること TinyFishはCLIの代替ツールです。Exaを呼び出して失敗した場合、利用枠の上限に達した場合、サービスが利用できない場合、または結果が空の場合に限り、使用を試みます。- ホストの種類を識別できない場合でも、通常の検索はそのまま続行します。ユーザーは必要に応じて
$search-web setupを実行し、汎用のMCP JSONを取得できます。
よくあるエラー
resolve-library-idを省略してlibraryIdを推測する(Context7では2段階の呼び出しが必須です)libraryNameパラメーターなしでresolve-library-idを呼び出すquery-docsにlibraryNameを渡す(libraryIdを使用する必要があります)ExaMCPが未登録または未ロードのときに、そのままTinyFishに切り替える(MCPの不足として扱い、再起動を案内します。TinyFishを使用するのは、Exaの検索呼び出しが失敗、利用枠の上限到達、サービス利用不可、または空の結果を返した場合に限ります)- ウェブページ本文の読み取りを
Exaの代わりの検索手段として扱う - ファイルの読み取りに
mcp-deepwikiを使ってgithub-fetcherの代わりにする、またはその逆 - Context7の呼び出し上限である3回を超えても呼び出しを続ける(
Exaに切り替える必要があります) - MCPがロードされていないときに何度も再試行する(ユーザーに
$search-web setupを実行して再起動するよう案内します)
必要に応じた追加読み込み
次の場面に限り、examples/usage.mdを読みます。
Context7、Exa、TinyFish、ウェブページ本文の読み取り、mcp-deepwiki、github-fetcherのパラメーター例が必要な場合- Context7のエラー例、呼び出し順序の例、複数ソースの統合例が必要な場合
- ウェブページ本文の読み取りのフォールバック例が必要な場合
- よくある失敗ケースやトラブルシューティングの例が必要な場合
サンプルドキュメントと本文のフローが矛盾する場合は、このファイルを優先します。
ユーザーが$search-web setupを呼び出した場合、または検索環境の設定や修復を明示的に求めた場合に限り、references/setup.mdを読みます。
標準の出力テンプレート、出典の表記ルール、またはMarkdown構造の制約が必要な場合は、references/rules/output-format.mdを読みます。
TinyFishのインストール、TINYFISH_API_KEYの書き込み、代替検索、または本文取得のコマンドが必要な場合は、references/tinyfish-fallback.mdを読みます。
正確な設定項目名、しきい値、スイッチ、flag、option、parameter、envに関する質問では、references/strategies/config-index-shortcut.mdを読みます。
出力要件
- 最終回答の前に、必ず
references/rules/output-format.mdの形式に整えます。 - 出典の種類を明確に記載します:
Context7、Exa、TinyFish、ウェブページ本文の読み取り、mcp-deepwiki、github-fetcher - 元のリンク、ドキュメントのエントリーポイント、またはリポジトリ識別子を保持します。
ExaからTinyFishにフォールバックした場合は、Exaの失敗理由を必ず説明します。- フォールバック、読み取り失敗、情報不足が発生した場合は、明確に説明します。
- 読み取っていない内容を捏造しません。