Use this skill for web search, extraction, mapping, crawling, and research via Tavily’s REST API when web searches are needed and no built-in tool is available, or when Tavily’s LLM-friendly format is beneficial.
npx skills add https://github.com/intellectronica/agent-skills --skill tavily
Provide a curl-based interface to Tavily’s REST API for web search, extraction, mapping, crawling, and optional research. Return structured results suitable for LLM workflows and multi-step investigations.
TAVILY_API_KEY in the environment.TAVILY_API_KEY is missing, prompt the user to provide the API key before proceeding.https://api.tavily.comAuthorization: Bearer $TAVILY_API_KEYContent-Type: application/jsonX-Project-ID: <project-id> if project attribution is needed.Use for web search with optional answer and content extraction.
Recommended minimal request:
curl -sS -X POST "https://api.tavily.com/search" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"query": "<query>",
"search_depth": "basic",
"max_results": 5,
"include_answer": true,
"include_raw_content": false,
"include_images": false
}'
Key parameters (all optional unless noted):
query (required): search textsearch_depth: basic | advanced | fast | ultra-fastchunks_per_source: 1–3 (advanced only)max_results: 0–20topic: general | news | financetime_range: day|week|month|year|d|w|m|ystart_date, end_date: YYYY-MM-DDinclude_answer: false | true | basic | advancedinclude_raw_content: false | true | markdown | textinclude_images: booleaninclude_image_descriptions: booleaninclude_favicon: booleaninclude_domains, exclude_domains: string arrayscountry: country name (general topic only)auto_parameters: booleaninclude_usage: booleanExpected response fields:
answer (if requested), results[] with title, url, content, score, raw_content (optional), favicon (optional)response_time, usage, request_idUse for extracting content from specific URLs.
curl -sS -X POST "https://api.tavily.com/extract" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"urls": ["https://example.com/article"],
"query": "<optional intent for reranking>",
"chunks_per_source": 3,
"extract_depth": "basic",
"format": "markdown",
"include_images": false,
"include_favicon": false
}'
Key parameters:
urls (required): array of URLsquery: rerank chunks by intentchunks_per_source: 1–5 (only when query provided)extract_depth: basic | advancedformat: markdown | texttimeout: 1–60 secondsinclude_usage: booleanExpected response fields:
results[] with url, raw_content, images, faviconfailed_results[], response_time, usage, request_idUse for generating a site map (URL discovery only).
curl -sS -X POST "https://api.tavily.com/map" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"url": "https://docs.tavily.com",
"max_depth": 1,
"max_breadth": 20,
"limit": 50,
"allow_external": true
}'
Key parameters:
url (required)instructions: natural language guidance (raises cost)max_depth: 1–5max_breadth: 1+limit: 1+select_paths, select_domains, exclude_paths, exclude_domains: arrays of regex stringsallow_external: booleantimeout: 10–150 secondsinclude_usage: booleanExpected response fields:
base_url, results[] (list of URLs), response_time, usage, request_idUse for site traversal with built-in extraction.
curl -sS -X POST "https://api.tavily.com/crawl" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"url": "https://docs.tavily.com",
"instructions": "Find all pages about the Python SDK",
"max_depth": 1,
"max_breadth": 20,
"limit": 50,
"extract_depth": "basic",
"format": "markdown",
"include_images": false
}'
Key parameters:
url (required)instructions: optional; raises cost and enables chunks_per_sourcechunks_per_source: 1–5 (only with instructions)max_depth, max_breadth, limit: same as mapextract_depth: basic | advancedformat: markdown | textinclude_images, include_favicon, allow_externaltimeout: 10–150 secondsinclude_usage: booleanExpected response fields:
base_url, results[] with url, raw_content, faviconresponse_time, usage, request_idUse when a query needs multi-step analysis and citations.
curl -sS -X POST "https://api.tavily.com/research" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{
"input": "<research question>",
"model": "auto",
"stream": false,
"citation_format": "numbered"
}'
Expected response fields:
request_id, created_at, status (pending), input, model, response_timecurl -sS -X GET "https://api.tavily.com/research/<request_id>" \
-H "Authorization: Bearer $TAVILY_API_KEY"
Expected response fields:
status: completedcontent: report text or structured objectsources[]: { title, url, favicon }Set "stream": true in the POST body and use curl with -N to stream events:
curl -N -X POST "https://api.tavily.com/research" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TAVILY_API_KEY" \
-d '{"input":"<question>","stream":true,"model":"pro"}'
Handle SSE events (tool calls, tool responses, content chunks, sources, done).
search, extract, map, and crawl as the primary endpoints for discovery and content retrieval.search_depth: basic, max_results: 5) unless deeper recall is needed.TAVILY_API_KEY.max_depth/limit or use search_depth: basic.max_results or chunks_per_source.Web search, content extraction, crawling, and research capabilities using Tavily API
Fetch Xiaohongshu (RedNote / xhs) user profile information and their published notes list by user ID, returning nickname, bio, follower/following counts, engagement totals, tags, and paginated notes with engagement stats. Use when user mentions user profile xiaohongshu, rednote creator profile, xhs influencer data, scrape xiaohongshu user, get blogger notes, xiaohongshu author info, KOL discovery xiaohongshu, rednote user stats, creator profile rednote, xiaohongshu blogger analysis, get xhs user followers, rednote influencer profile, xiaohongshu account info, xhs creator data, user notes list xiaohongshu, rednote account scrape, xiaohongshu KOL research.
Generate user demand research reports from real user feedback. Scrape and analyze feature requests, complaints, and questions from Reddit, X, GitHub, YouTube, LinkedIn, and Amazon. Use when user wants to do demand research, find feature requests, analyze user demand, or run RequestHunt queries.
Multi-engine web search (SearXNG) + browsing/scraping (Camofox, CloakBrowser). Use whenever you need to do web research.
> This skill should be used when performing web research beyond a simple single search -- looking into topics, comparing options, investigating questions, finding recommendations, or any task where effective use of Exa, Firecrawl, and Reddit tools matters. Triggers on "research", "look into", "investigate", "compare", "find out about", "search for", "find information", "what do people think about", "what are the best", "look up", or multi-source search tasks. Also invocable explicitly by deep-research team members via the Skill tool.
This skill should be used when the user requests to research topics using FireCrawl, enrich notes with web sources, search and scrape information, or write scientific/academic papers. It extracts research topics from markdown files, creates research documents with scraped sources, generates BibTeX bibliographies from research results, and provides Pandoc/MyST templates for academic writing with citation management.
Web search, content extraction, crawling, and research capabilities using Tavily API. Use when you need to search the web for current information, extracting content from URLs, or crawling websites.
> AI citation readiness audit ONLY (does not touch Google rankings, use blog-rewrite for combined Google+AI work). Use whenever the user wants their content to rank in ChatGPT, Perplexity, Claude, Gemini, or Google AI Overviews. AI citation optimization audit scoring blog posts for ChatGPT, Perplexity, and Google AI Overview citability. Evaluates passage-level citability, Q&A formatting, entity clarity, structured data, and AI crawler accessibility. Generates citation capsules and a 0-100 AI Citation Readiness score. Use when user says "geo", "ai citation", "ai optimization", "citation audit", "aeo", "perplexity optimization", "chatgpt citation".
Take intellectronica/tavily from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.