pi-web-search について
pi-web-searchは、ウェブやコードの調査、引用付き検索、コンテンツ取得を行うスキルです。対話型ポップアップを避ける検索設定と、検索サービスのフォールバック順を定めています。
主な機能
- 01引用付きウェブ検索
- 02Exaのコードコンテキスト検索
- 03ウェブ、PDF、GitHub、動画の取得
- 04省略された検索内容の全体取得
活用シーン
- 01複数のウェブソースを使った調査
- 02ライブラリやAPIのコード情報の検索
- 03PDFや動画の字幕テキスト抽出
MCP 対応
ウェブ検索はExa MCPを利用し、Exa、Perplexity、Geminiの順でフォールバックすると説明されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davidondrej/ skills --skill pi-web-searchインストール後、Claude Code で/pi-web-searchを入力して読み込まれたか確認します。
詳細
ウェブ検索
pi-web-access パッケージはグローバルにインストールされています。Exa MCP によるゼロ設定(API キー不要)で、Exa → Perplexity → Gemini の順にフォールバックします。
重大:常に workflow: "none" を渡してください
すべての web_search 呼び出しには、必ず workflow: "none" を含めてください。これにより、インタラクティブなブラウザキュレーターのポップアップをスキップします(ユーザーはポップアップが開くことを望んでいません)。例外はありません。単一クエリでもバッチの queries でも、常に workflow: "none" を設定してください。
web_search({ queries: ["query 1", "query 2"], workflow: "none" })
ツール
web_search— ウェブを検索し、引用付きの統合された回答を返します。1 ターン中に何度でも呼び出せます。常にworkflow: "none"を渡してください。code_search— キー不要の Exa コードコンテキスト検索です。一般的なweb_searchの代わりに、ライブラリ/API/コードの検索に使用してください。fetch_content— URL を Markdown に取得します。PDF、YouTube、GitHub に対応しています。get_search_content— 3 万文字を超える大きなページは応答内で切り詰められますが、全体が保存されます。コンテキストを圧迫しないよう、必要に応じて残りを取得するにはこのツールを呼び出してください。
fetch_content の詳細
- GitHub の URL はスクレイピングではなくクローンされます — 実際のファイルと、
read/bashで調べられるローカルパスが取得できます(プライベートリポジトリにはghCLI が必要です)。開発作業にはこちらを使用してください。 - PDF →
~/Downloads/に自動で Markdown として抽出され、セクションごとに読み取れます(テキストのみ、OCR なし)。 - YouTube/動画 → 生のトランスクリプト全体とフレーム抽出に対応しています。
GEMINI_API_KEYが必要です(ゼロ設定ではありません)。フレーム抽出にはffmpeg/yt-dlpも必要です。
ルーティング — ユーザーの表現に合わせる
常に web_search ツールを使用してください。以下の件数は絶対的な最低数です。回答する前にクエリ数を数え、最低数を下回らないようにしてください。
- 「ウェブ検索」 → キーワードや切り口を変えて、少なくとも 2 件のクエリを実行し、その後で統合してください。
- 「広範なウェブ調査」 → キーワードや切り口を大きく変えて、少なくとも 4 件のクエリを実行してください。
- 「詳細な調査」 → キーワードや切り口を大きく変えて、2~3 回の連続したバッチに分けて少なくとも 8 件のクエリを実行してください(各バッチの後に切り口を調整します)。トピックについて可能な限り多くの情報を集めてください。
バッチ化した web_search 呼び出し 1 回で、queries[] 内の各クエリが件数に加算されます。最初のバッチが最低数に満たない場合は、統合する前に次のバッチを実行してください。
URL 付きのランキング結果 — DeepAPI ウェブ検索
web_search は統合された回答を返します。引用、比較、スクレイピングに使う URL など、ランキングされたソースの一覧自体が必要な場合は、代わりに DeepAPI を使用してください。また、Exa → Perplexity → Gemini のチェーンが失敗した場合も、この方法を使用してください。
[ -n "$DEEPAPI_API_KEY" ] || . ~/.deepapi/env
curl -s --max-time 60 "https://deepapi.co/v1/search/web" \
-H "Authorization: Bearer $DEEPAPI_API_KEY" -H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"query": "your search terms", "maxResults": 5, "maxCostUsd": "0.05"}'
結果は .output にあります(項目ごとにタイトル、URL、スニペット)。クエリは 500 文字未満にしてください。詳細は deepapi スキルを参照してください。