UI はローカライズ済みです。スキルの紹介と説明文書は選択した言語へ AI が自動翻訳し、コード・コマンド・パス・専門用語は原文のままです。原作者の文書が優先されます。
スキルを探す
データ・研究 · SKILL.md

tavily-skill

tavily-skill

CLI-based Tavily web search and URL extraction with stable JSON envelope. Writes full payload to disk and returns a ~500-byte status on stdout, so multi-search sessions don't bloat context. Use for deep-research / narrative-research (project-scoped: ax-blog) / long-form writing / any session with 5+ searches where token economy matters. For one-shot quick l…

Independent GitHub snapshot · Automated classification · Original documentation governs

スキルの説明

GitHub

name: tavily-skill description: >- CLI-based Tavily web search and URL extraction with stable JSON envelope. Writes full payload to disk and returns a ~500-byte status on stdout, so multi-search sessions don't bloat context. Use for deep-research / narrative-research (project-scoped: ax-blog) / long-form writing / any session with 5+ searches where token economy matters. For one-shot quick lookups whose result you consume immediately and discard, use the mcp__tavily__* MCP tools instead (lower latency, zero subprocess). disable-model-invocation: true

Tavily Skill (CLI)

Wraps tavily-python SDK as a CLI with two subcommands: search and extract. Default mode writes the full payload to tmp/tavily/<auto-name>.json under the current working directory and prints a compact status JSON on stdout. Pass --stdout for inline payload consumption.

When to use this vs mcp__tavily__* MCP

ScenarioTool
One-off quick search, consume result immediatelyMCP (mcp__tavily__tavily_search) — already loaded, no subprocess
Multi-search research session (≥ 5 calls)this skill — file mode keeps context lean
Want to grep/diff/replay search history laterthis skill — files persist
Running from CI / cron / non-Claude-Code agentthis skill — works anywhere with bash
/deep-research, /narrative-research, /wandian-writer long-form researchthis skill — autofit; 30+ searches a session

Token math: one Tavily search w/ raw_content=markdown is ~25K tokens. MCP keeps that in context every turn. File mode keeps ~125 tokens (status only) — agent reads the file only when the specific result is needed.

Invocation

Canonical command (absolute path, CWD-independent):

~/.claude/skills/tavily-skill/.venv/bin/tavily-skill <subcommand> [args]

The tavily-skill console script is installed in the venv. API key is loaded from ~/.claude/skills/tavily-skill/.env (TAVILY_API_KEY; symlink → ~/creds/claude/tavily.env).

File mode (default — recommended for multi-search sessions)

~/.claude/skills/tavily-skill/.venv/bin/tavily-skill search "your query" --output ./tmp/tavily/search-<slug>.json

Pass --output <path> explicitly so files land under the current project's tmp/tavily/ rather than the skill's own dir. Without --output, the file lands relative to whatever CWD you invoked from.

stdout returns:

{
  "command": "search",
  "status": "ok",
  "output_mode": "file",
  "output_path": "tmp/tavily/...",
  "payload_bytes": 48815,
  "summary": {"result_count": 3, "image_count": 0, "has_answer": false},
  "payload_schema": { ... }
}

To consume a result: Read the output_path.

Stdout mode (one-shot)

~/.claude/skills/tavily-skill/.venv/bin/tavily-skill search "your query" --stdout

Returns full payload on stdout. Use for one-off lookups where you immediately consume the answer.

URL extract

~/.claude/skills/tavily-skill/.venv/bin/tavily-skill extract https://example.com/article --stdout
~/.claude/skills/tavily-skill/.venv/bin/tavily-skill extract https://a.com https://b.com --query "topic" --chunks-per-source 3 --output ./tmp/tavily/extract.json

Parameter reference

search

ParamDescriptionDefault
querySearch query (positional)required
--max-results1–206
--search-depthbasic / advanced / fast / ultra-fastadvanced
--topicgeneral / news / financegeneral
--time-rangeday / week / month / year—
--start-date / --end-dateYYYY-MM-DD—
--include-domain / --exclude-domainRepeat for multiple—
--answeroff / basic / advancedoff
--raw-contentoff / markdown / textmarkdown
--countryBoost by country—
--timeoutseconds60
--images / --no-imagesEnable/disable image resultsoff
--image-descriptions / --no-image-descriptionsLLM descriptions for imagesoff
--stdoutPrint full payload to stdoutoff
--outputWrite payload to specific pathtmp/tavily/<auto>.json

extract

ParamDescriptionDefault
urls...1–20 URLs (positional)required
--extract-depthbasic / advancedadvanced
--formatmarkdown / textmarkdown
--queryKeep only chunks relevant to query—
--chunks-per-sourceChunks retained per URL—
--images / --no-imagesEnable/disable image extractionoff
--faviconReturn favicon URLsoff
--timeoutseconds60
--stdoutPrint full payload to stdoutoff
--outputWrite payload to specific pathtmp/tavily/<auto>.json

Defaults

  • search_depth="advanced", max_results=6, topic="general", answer="off", raw_content="markdown"
  • Images disabled by default — enable explicitly for visual topics or report-writing where you need accompanying images
  • API key resolution order: TAVILY_API_KEY env var → ONEPASSWORD_TAVILY_REFERENCE env var (resolved via op read)

Output envelope

All payloads are normalized to {command, input, data} to insulate against tavily-python SDK changes. data matches Tavily SDK shape (results, images, answer, response_time, request_id, usage).

Image guidance

Off by default — most research workflows don't consume data.images and they inflate payload size. Enable explicitly when:

  • Writing an external report / newsletter that needs images
  • Topic is inherently visual (UI, hardware, satellite, document samples, news event photos)
  • You need image search specifically, not text retrieval
保存したスキル