with one click
tavily-web
// Use this skill when users need current web research, source discovery, URL content extraction, site mapping, crawling, or structured Tavily-powered research.
// Use this skill when users need current web research, source discovery, URL content extraction, site mapping, crawling, or structured Tavily-powered research.
Generate and edit images with gpt-image-2 through a third-party OpenAI-compatible API using .env-configured OPENAI_API_KEY and OPENAI_BASE_URL values. Use when the user asks to create images, edit reference images, create visual assets, illustrations, or image variations with a configurable API endpoint.
Use this skill when users ask for code review, review pending changes, or inspect the latest commit with Codex-based review workflows. It prepares context, runs project linting, and reviews the result.
Use this skill when users need current documentation, setup steps, API references, or code examples for a named library, framework, SDK, or API. It fetches up-to-date Context7 docs.
Use this skill when users need semantic web search, similar-page discovery, result content retrieval, research-paper lookup, GitHub discovery, or structured Exa-powered research.
Use this skill when users need to scrape web pages, extract structured page data, take website screenshots, parse PDFs, batch-scrape URLs, or crawl a site with Firecrawl.
| name | tavily-web |
| description | Use this skill when users need current web research, source discovery, URL content extraction, site mapping, crawling, or structured Tavily-powered research. |
| license | MIT |
| compatibility | Designed for Claude Code; requires Node.js and network access to the Tavily API. |
| metadata | {"author":"BenedictKing","version":"1.0.3","user-invocable":"true"} |
| allowed-tools | Bash Read |
Choose Tavily endpoint based on user intent:
output_schemaThis skill uses a two-phase architecture:
Use Task tool to invoke tavily-fetcher sub-skill, passing command and JSON (stdin):
Task parameters:
- subagent_type: Bash
- description: "Call Tavily API"
- prompt: cat <<'JSON' | node scripts/tavily-api.cjs <search|extract|crawl|map|research>
{ ...payload... }
JSON
cat <<'JSON' | node scripts/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
cat <<'JSON' | node scripts/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
cat <<'JSON' | node scripts/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
cat <<'JSON' | node scripts/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
cat <<'JSON' | node scripts/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
Two ways to configure API Key (priority: environment variable > .env):
TAVILY_API_KEY.env file: Place in .env, can copy from .env.example