tavily-web について
tavily-web は、ウェブ検索、ページ抽出、クロール、サイトマップ作成、構造化リサーチ向けに Tavily のエンドポイントを選ぶスキルです。ユーザーの依頼から API ペイロードを組み立て、サブスキルに HTTP 呼び出しを任せるエージェントを対象とします。
主な機能
- 01意図に応じたエンドポイント選択
- 02ウェブ検索と情報源の発見
- 03ページ抽出とサイトのクロール
- 04サイトページ構成のマッピング
- 05スキーマ指定のリサーチ依頼
- 06独立したサブスキルで API 実行
活用シーン
- 01最新情報と情報源の検索
- 02指定 URL の内容の要約
- 03ウェブサイト内の関連ページの発見
- 04指定スキーマに沿った調査結果の作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ benedictking/ tavily-web --skill tavily-webインストール後、Claude Code で/tavily-webを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.env.example.gitignoretavily-api.cjstavily-fetcher.md詳細
Tavily Web スキル
トリガー条件とエンドポイントの選択
ユーザーの意図に基づいて Tavily のエンドポイントを選択します。
- search:「ウェブを検索する/最新情報を調べる/情報源を探す/リンクを見つける」必要がある場合
- extract:URL が指定され、コンテンツを抽出/要約する必要がある場合
- crawl:指示に従ってサイト内をたどり、ページのコンテンツをスクレイピングする必要がある場合
- map:ページのコンテンツ全体やメタデータではなく、サイトのページ一覧/構造を調べる必要がある場合
- research:指定された
output_schemaに従って構造化された調査結果を作成する必要がある場合
推奨アーキテクチャ(メインスキル+サブスキル)
このスキルは、2 段階のアーキテクチャを使用します。
- メインスキル(現在のコンテキスト):ユーザーの質問を理解 → エンドポイントを選択 → JSON ペイロードを組み立てる
- サブスキル(フォークされたコンテキスト):会話履歴によるトークンの浪費を避け、HTTP 呼び出しの実行のみを担当する
実行方法
Task ツールを使って tavily-fetcher サブスキルを呼び出し、コマンドと JSON(stdin)を渡します。
Task parameters:
- subagent_type: Bash
- description: "Call Tavily API"
- prompt: cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs <search|extract|crawl|map|research>
{ ...payload... }
JSON
ペイロードの例(指定された curl に基づく)
1) ウェブを検索する
cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs search
{
"query": "who is Leo Messi?",
"auto_parameters": false,
"topic": "general",
"search_depth": "basic",
"chunks_per_source": 3,
"max_results": 1,
"time_range": null,
"start_date": "2025-02-09",
"end_date": "2025-12-29",
"include_answer": false,
"include_raw_content": false,
"include_images": false,
"include_image_descriptions": false,
"include_favicon": false,
"include_domains": [],
"exclude_domains": [],
"country": null,
"include_usage": false
}
JSON
2) ウェブページのコンテンツを抽出する
cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs extract
{
"urls": "https://en.wikipedia.org/wiki/Artificial_intelligence",
"query": "<string>",
"chunks_per_source": 3,
"extract_depth": "basic",
"include_images": false,
"include_favicon": false,
"format": "markdown",
"timeout": "None",
"include_usage": false
}
JSON
3) ウェブページをクロールする
cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs crawl
{
"url": "docs.tavily.com",
"instructions": "Find all pages about the Python SDK",
"chunks_per_source": 3,
"max_depth": 1,
"max_breadth": 20,
"limit": 50,
"select_paths": null,
"select_domains": null,
"exclude_paths": null,
"exclude_domains": null,
"allow_external": true,
"include_images": false,
"extract_depth": "basic",
"format": "markdown",
"include_favicon": false,
"timeout": 150,
"include_usage": false
}
JSON
4) ウェブページをマップする
cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs map
{
"url": "docs.tavily.com",
"instructions": "Find all pages about the Python SDK",
"max_depth": 1,
"max_breadth": 20,
"limit": 50,
"select_paths": null,
"select_domains": null,
"exclude_paths": null,
"exclude_domains": null,
"allow_external": true,
"timeout": 150,
"include_usage": false
}
JSON
5) 調査タスクを作成する
cat <<'JSON' | node .claude/skills/tavily-web/tavily-api.cjs research
{
"input": "What are the latest developments in AI?",
"model": "auto",
"stream": false,
"output_schema": {
"properties": {
"company": {
"type": "string",
"description": "The name of the company"
},
"key_metrics": {
"type": "array",
"description": "List of key performance metrics",
"items": {
"type": "string"
}
},
"financial_details": {
"type": "object",
"description": "Detailed financial breakdown",
"properties": {
"operating_income": {
"type": "number",
"description": "Operating income for the period"
}
}
}
},
"required": [
"company"
]
},
"citation_format": "numbered"
}
JSON
環境変数と API キー
API キーを設定する方法は 2 つあります(優先順位:環境変数 > .env)。
- 環境変数:
TAVILY_API_KEY .envファイル:.claude/skills/tavily-web/.envに配置します。.env.exampleからコピーできます。
コメント
Markdown 対応