tavily

Tavily web search, content extraction, and research tools.

423 stars

Best use case

tavily is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Tavily web search, content extraction, and research tools.

Teams using tavily should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/tavily/SKILL.md --create-dirs "https://raw.githubusercontent.com/SafeAI-Lab-X/ClawKeeper/main/clawkeeper-watcher/extensions/tavily/skills/tavily/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/tavily/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How tavily Compares

Feature / AgenttavilyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Tavily web search, content extraction, and research tools.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Tavily Tools

## When to use which tool

| Need                         | Tool             | When                                                          |
| ---------------------------- | ---------------- | ------------------------------------------------------------- |
| Quick web search             | `web_search`     | Basic queries, no special options needed                      |
| Search with advanced options | `tavily_search`  | Need depth, topic, domain filters, time ranges, or AI answers |
| Extract content from URLs    | `tavily_extract` | Have specific URLs, need their content                        |

## web_search

Tavily powers this automatically when selected as the search provider. Use for
straightforward queries where you don't need Tavily-specific options.

| Parameter | Description              |
| --------- | ------------------------ |
| `query`   | Search query string      |
| `count`   | Number of results (1-20) |

## tavily_search

Use when you need fine-grained control over search behavior.

| Parameter         | Description                                                           |
| ----------------- | --------------------------------------------------------------------- |
| `query`           | Search query string (keep under 400 characters)                       |
| `search_depth`    | `basic` (default, balanced) or `advanced` (highest relevance, slower) |
| `topic`           | `general` (default), `news` (real-time updates), or `finance`         |
| `max_results`     | Number of results, 1-20 (default: 5)                                  |
| `include_answer`  | Include an AI-generated answer summary (default: false)               |
| `time_range`      | Filter by recency: `day`, `week`, `month`, or `year`                  |
| `include_domains` | Array of domains to restrict results to                               |
| `exclude_domains` | Array of domains to exclude from results                              |

### Search depth

| Depth      | Speed  | Relevance | Best for                                     |
| ---------- | ------ | --------- | -------------------------------------------- |
| `basic`    | Faster | High      | General-purpose queries (default)            |
| `advanced` | Slower | Highest   | Precision, specific facts, detailed research |

### Tips

- **Keep queries under 400 characters** — think search query, not prompt.
- **Break complex queries into sub-queries** for better results.
- **Use `include_domains`** to focus on trusted sources.
- **Use `time_range`** for recent information (news, current events).
- **Use `include_answer`** when you need a quick synthesized answer.

## tavily_extract

Use when you have specific URLs and need their content. Handles JavaScript-rendered
pages and returns clean markdown. Supports query-focused chunking for targeted
extraction.

| Parameter           | Description                                                        |
| ------------------- | ------------------------------------------------------------------ |
| `urls`              | Array of URLs to extract (1-20 per request)                        |
| `query`             | Rerank extracted chunks by relevance to this query                 |
| `extract_depth`     | `basic` (default, fast) or `advanced` (for JS-heavy pages, tables) |
| `chunks_per_source` | Chunks per URL, 1-5 (requires `query`)                             |
| `include_images`    | Include image URLs in results (default: false)                     |

### Extract depth

| Depth      | When to use                                                 |
| ---------- | ----------------------------------------------------------- |
| `basic`    | Simple pages — try this first                               |
| `advanced` | JS-rendered SPAs, dynamic content, tables, embedded content |

### Tips

- **Max 20 URLs per request** — batch larger lists into multiple calls.
- **Use `query` + `chunks_per_source`** to get only relevant content instead of full pages.
- **Try `basic` first**, fall back to `advanced` if content is missing or incomplete.
- If `tavily_search` results already contain the snippets you need, skip the extract step.

## Choosing the right workflow

Follow this escalation pattern — start simple, escalate only when needed:

1. **`web_search`** — Quick lookup, no special options needed.
2. **`tavily_search`** — Need depth control, topic filtering, domain filters, time ranges, or AI answers.
3. **`tavily_extract`** — Have specific URLs, need their full content or targeted chunks.

Combine search + extract when you need to find pages first, then get their full content.

Related Skills

xurl

423
from SafeAI-Lab-X/ClawKeeper

A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.

weather

423
from SafeAI-Lab-X/ClawKeeper

Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.

wacli

423
from SafeAI-Lab-X/ClawKeeper

Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).

voice-call

423
from SafeAI-Lab-X/ClawKeeper

Start voice calls via the OpenClaw voice-call plugin.

video-frames

423
from SafeAI-Lab-X/ClawKeeper

Extract frames or short clips from videos using ffmpeg.

trello

423
from SafeAI-Lab-X/ClawKeeper

Manage Trello boards, lists, and cards via the Trello REST API.

tmux

423
from SafeAI-Lab-X/ClawKeeper

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

things-mac

423
from SafeAI-Lab-X/ClawKeeper

Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks OpenClaw to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.

summarize

423
from SafeAI-Lab-X/ClawKeeper

Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).

spotify-player

423
from SafeAI-Lab-X/ClawKeeper

Terminal Spotify playback/search via spogo (preferred) or spotify_player.

sonoscli

423
from SafeAI-Lab-X/ClawKeeper

Control Sonos speakers (discover/status/play/volume/group).

songsee

423
from SafeAI-Lab-X/ClawKeeper

Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.