tavily-search
Use this skill whenever a task needs the web: searching for information, checking current facts or news, finding sources, reading…
Build a deduplicated table of matches for a set, using Tavily. The table is what search returned, not every match that exists. Use when the user wants a list, all of something, or a table with duplicates removed. Confirm the columns and a cap before searching. For one CRM
Claude Code
$ npx -y skills add tavily-ai/skills --skill tavily-list --agent claude-code
Codex
$ npx skills add tavily-ai/skills --skill tavily-list -a codex -y
Cursor
$ npx skills add tavily-ai/skills --skill tavily-list -a cursor -y
Gemini CLI
$ npx skills add tavily-ai/skills --skill tavily-list -a gemini-cli -y
GitHub Copilot
$ npx skills add tavily-ai/skills --skill tavily-list -a github-copilot -y
OpenCode
$ npx skills add tavily-ai/skills --skill tavily-list -a opencode -y
Windsurf
$ npx skills add tavily-ai/skills --skill tavily-list -a windsurf -y
name: tavily-list description: | Build a deduplicated table of matches for a set, using Tavily. The table is what search returned, not every match that exists. Use when the user wants a list, all of something, or a table with duplicates removed. Confirm the columns and a cap before searching. For one CRM record, or a CSV of rows they already have, use tavily-entity. For a deep comprehensive report use tavily-research. allowed-tools: Bash(tvly *)
Return the matches you can verify for a set, one row each, with duplicates merged. The table is the result. It is not every match that exists. Do not collapse rows into a summary, and do not call the table complete.
Use `tavily-search` to search and read pages. If it isn't installed, run `npx skills add tavily-ai/skills --skill tavily-search` and read its SKILL.md before continuing. When you open many list pages, save the responses and filter them the way that skill describes, so the raw pages stay out of context.
1. Before any search, fix the inclusion rule in one sentence, the columns, and a cap. Columns always include name, website or profile, a one-line description, and the source URL, plus any the user named. If they did not name the extra columns or a cap, ask once and wait. If the set is unbounded ("every restaurant"), that question includes the boundary, such as a city or a category. A row gets in only when it matches the inclusion rule. 2. Search the set from several angles: the category, "list of" roundups, directories, and the names that appear on pages you have already opened. One query does not cover the set. Pull every name off a page that is itself a list. 3. Give each row an identity. For an organization, that is the website host with `www` removed. For a person, it is the profile URL, or the name plus the organization when there is no profile. For a product on a shared host, it is the canonical URL. 4. Merge rows that share an identity. Keep the fuller row and record the names you folded in. When a match has no website yet, search for it once before you finish. If it still has none, keep the row and leave the website blank. 5. Stop at the cap, or when two new angles in a row add no rows. Say which. Either stop means this pass is finished. Neither means the set is complete. 6. When the user wants more, search again and exclude every name and website already in the table. Append only new rows, then merge by identity again. Raise the cap by the number they asked for.
Use the same columns on every row. Leave a cell blank when no page states it.
Use `tavily-entity` for a row only when the user asked for CRM fields on each match. If it isn't installed, run `npx skills add tavily-ai/skills --skill tavily-entity` and read its SKILL.md before continuing. Otherwise a list row stays a list row.
Show the table in the reply, and save the same markdown to `lists/{title}.md` in the working directory. The title is sentence case, 3 to 6 words, letters, numbers, and single spaces.
# {Title}
Inclusion: {one sentence}
As of: {YYYY-MM-DD}
Cap: {N}
Stop: {two angles added nothing | hit the cap}
Rows: {count after dedup}
Coverage: not exhaustive. This is what the angles below returned.
| Name | Website | Description | {asked columns} | Source |
|---|---|---|---|---|
## Merged
- {kept name} ← {other names} ({shared website})
## Coverage
Angles: {the queries and the list pages you opened}
Excluded this pass: {names and websites already kept, or none}
Likely gaps: {the part of the set this pass could not see}Web search, content extraction, site crawling, URL discovery, and deep research — powered by the Tavily CLI.
Use this skill whenever a task needs the web: searching for information, checking current facts or news, finding sources, reading…
Build production-ready Tavily integrations with best practices baked in. Reference documentation for developers using coding…
Fill in a company, person, or organization for a CRM from the web, using Tavily, including a CSV of rows the user already has.…
Build a Tavily search or extraction that runs on a cadence, with a saved baseline. Search monitors set max_age_hours to the…
Research a topic in depth with Tavily. Use this skill when a question needs many sources gathered and weighed together: analysing…
Use this skill when the user requests to review, analyze, critique, or summarize academic papers, research articles, preprints,…
Research what people actually say about any topic in the last 30 days. Pulls posts and engagement from Reddit, X, YouTube,…
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…
Search literature across sources, verify or manage citations, and build MeSH strategies or citation-impact audits. Use for…