mcpField
S
search-web

search-web

github.com/karthrand開発043 回インストール12 週間前に更新
リポジトリ

search-web について

search-webは、技術情報やウェブ資料、GitHubの内容を探すスキルです。検索対象に応じてContext7、Exa、mcp-deepwikiなどを使い、Exaの検索が失敗した場合などに限りTinyFishへ切り替えます。

主な機能

  1. 01技術文書やAPIリファレンスの検索
  2. 02Exaによるウェブ検索
  3. 03既知URLの本文取得
  4. 04GitHubリポジトリ文書の確認
  5. 05GitHubのファイルやディレクトリの取得

活用シーン

  1. 01ライブラリやフレームワークの公式文書を探す
  2. 02サンプル、チュートリアル、最新情報を探す
  3. 03指定したウェブページを読む
  4. 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.md
examples/
usage.md
references/
setup.md
tinyfish-fallback.md
references/rules/
output-format.md
references/strategies/
config-index-shortcut.md
scripts/
detect.sh
setup-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 / TinyFishExaを優先します。Exaが失敗した場合、利用枠の上限に達した場合、サービスが利用できない場合、または結果が空の場合は、TinyFishを使用します。
GitHubリポジトリのドキュメントmcp-deepwikiリポジトリ全体のドキュメント概要と詳細な読み込み
GitHubのファイル/ディレクトリgithub-fetcher具体的なファイルまたはディレクトリ構成
ウェブページ本文ホストの読み取りツール / TinyFishURLが既知の場合に限り使用します。ホストの読み取りに失敗した場合は、TinyFishで本文を取得できます。

コアフロー

  1. ユーザーのパラメーターがsetupの場合は、references/setup.mdを読み、初期化フローを実行してから、現在の検索を停止します。
  2. 通常の検索ではbash scripts/detect.shを実行せず、検索対象に応じてツールを選択します。
  3. 設定項目に関する質問(しきい値、スイッチ、flag、option、parameter、env)では、最初にreferences/strategies/config-index-shortcut.mdを読みます。
  4. 技術ドキュメントの検索では、まずContext7を使用します(最初にresolve-library-id、次にquery-docsを実行します)。
  5. ウェブ検索では最初にExaを使用します。Exaが失敗した場合、利用枠の上限に達した場合、サービスが利用できない場合、または結果が空の場合は、references/tinyfish-fallback.mdに従い、代替としてTinyFish CLIを使用します。
  6. GitHubリポジトリが検索結果に見つかった場合はmcp-deepwikiを使用します。具体的なファイルやディレクトリを読む必要がある場合はgithub-fetcherを使用します。
  7. ウェブページ本文の読み取りが許可されるのは、ユーザーが明確なURLを提示した場合、ExaでURLを特定した場合、またはTinyFishでURLを特定した場合に限ります。
  8. 最終回答は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を使用する必要があります)
  • Exa MCPが未登録または未ロードのときに、そのまま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の失敗理由を必ず説明します。
  • フォールバック、読み取り失敗、情報不足が発生した場合は、明確に説明します。
  • 読み取っていない内容を捏造しません。

コメント