Core
Skill 1 of 6
Use this skill whenever a task needs the web: searching for information, checking current facts or news, finding sources, reading a URL, finding a page on a site, or collecting…
3 minutes · 757 words · 4 sections
Install
npx skills add tavily-ai/skills --skill tavily-searchnpx skills add tavily-ai/skills/plugin marketplace add tavily-ai/skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Use the tavily_search, tavily_extract, tavily_map and tavily_crawl tools if your tool list has them
(some clients add a prefix such as mcp__tavily__). Otherwise run tvly <command> --json directly; there’s no
need to check for it first. If neither works, follow setup (opens in a new tab).
Parameters are named as in the API (max_results). The CLI spells them as flags (--max-results) with
comma-separated lists (--include-domains sec.gov,reuters.com). For exact parameters, read the tool schema,
run tvly <command> --help, or see the API reference (opens in a new tab).
| You have | You need | Use |
|---|---|---|
| A question or topic | Sources, facts or news | Search |
| URLs | Their content | Extract |
| A site, not the exact page | The right page’s URL | Map (opens in a new tab) |
| A site section | Many of its pages | Crawl (opens in a new tab) |
Use advanced search. Set search_depth to advanced (--depth advanced in the CLI) for every search
unless the user needs a fast answer to a simple lookup. It reaches more sources and ranks the passages that match your query.
Write queries for a search engine. Use the names and terms you expect on the page, not the user’s whole request. Split a question with several parts into one focused search per part. For a long written report, search each part separately and extract the main sources for each before you write.
Follow your leads. When a result names a likely answer, test it right away: search that name with the other details you know, or extract its page. Keep a lead that fits most details until a source contradicts it; a detail you can’t confirm doesn’t rule it out. When a search misses, search the details again in their own words before adding names or filters you guessed, and build lists of candidates from results, not memory. When a detail keeps coming back empty, work out what it refers to, such as the role, event or term, and search for that.
Each result’s content is already the passages that match your query; print it whole rather than cutting it short.
Batch independent searches. Issue the searches for one step together in one turn, one call each: separate
tavily_search calls with MCP tools, or separate Bash calls with the CLI, each holding a single tvly command.
MCP calls run in parallel; Bash calls run one after another but still use one turn. Don’t add pipes, &, $(...)
or other programs to a tvly call, which make the client ask for permission. Put the query in single quotes:
tvly search 'Rust 2024 edition release date' --depth advanced --max-results 10 --json.
Ask for 10 results. Set max_results to 10 (--max-results 10). Narrow before you widen. Filters help more than raising max_results further. Use time_range or dates for
recent events or a stated period. Use include_domains when the answer lives on an official or named site; it
is a hard filter, so search again without it if it doesn’t find the page.
Keep large results on disk. When a result is long, such as raw page content or a crawl, save it with
-o <file> and read the parts you need with your file-reading tool instead of printing it all. To reuse a file,
use the path you wrote; never look for it with a glob over temp folders, which can read another task’s files. An
MCP result lands straight in your context, so keep those calls small.
Read the results critically. Count independent sources, not results. Treat a generated answer as a summary to check, never as a source.
Extract returns up to 20 URLs per call as markdown, including pages built with JavaScript.
query (--query) only to isolate one fact on a long page; if the passages come
back cut off near what you need, extract again without it.extract_depth set to advanced (--extract-depth advanced) when a page is built with JavaScript, the content is in a table, or
basic came back empty. Check failed_results every time and say which pages couldn’t be read.When the user wants an in-depth report that needs many sources gathered and weighed, such as an analysis, a
comparison across several criteria or an in-depth investigation, use tavily-research instead of your own searches.
If it isn’t installed, run npx skills add tavily-ai/skills --skill tavily-research and read its SKILL.md first. A
single fact or answer to find stays here.
Use this skill whenever a task needs the web: searching for information, checking current facts or news, finding sources, reading a URL, finding a page on a site, or collecting many pages from a site. Use it for anything past your training data or anything the user wants verified online.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
Bash(tvly*)skills/core/tavily-search/SKILL.mdmain, last pushed 6 November 2026.SKILL.md, not by matching a directory convention. 3 distinct layouts observed: skills/core/*/SKILL.md, skills/developers/*/SKILL.md, skills/tasks/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Tavily, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./tavily-ai/skills.md, and each skill at its own .md URL.3 files · 6 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 1.
Documentation the agent loads on demand, rather than up front.