search
This skill is used for web search, retrieving results optimized for Large Language Model (LLM) consumption, requiring no manual setup, and authenticating via OAuth on first run.
npx skills add tavily-ai/skills --skill searchBefore / After Comparison
1 组Providing relevant web search results for Large Language Models (LLMs) typically requires developers to manually configure complex search APIs, handle authentication processes, and filter and format results. This process is cumbersome, time-consuming, and difficult to quickly integrate into LLM applications.
The search skill simplifies web search integration for LLMs. It eliminates manual setup; upon first run, it automatically retrieves results optimized for LLM consumption via OAuth authentication. This significantly accelerates LLM application development and improves information retrieval efficiency.
description SKILL.md
search
Search Skill
Search the web and get relevant results optimized for LLM consumption.
Authentication
The script uses OAuth via the Tavily MCP server. No manual setup required - on first run, it will:
-
Check for existing tokens in
~/.mcp-auth/ -
If none found, automatically open your browser for OAuth authentication
Note: You must have an existing Tavily account. The OAuth flow only supports login — account creation is not available through this flow. Sign up at tavily.com first if you don't have an account.
Alternative: API Key
If you prefer using an API key, get one at https://tavily.com and add to ~/.claude/settings.json:
{
"env": {
"TAVILY_API_KEY": "tvly-your-api-key-here"
}
}
Quick Start
Using the Script
./scripts/search.sh '<json>'
Examples:
# Basic search
./scripts/search.sh '{"query": "python async patterns"}'
# With options
./scripts/search.sh '{"query": "React hooks tutorial", "max_results": 10}'
# Advanced search with filters
./scripts/search.sh '{"query": "AI news", "time_range": "week", "max_results": 10}'
# Domain-filtered search
./scripts/search.sh '{"query": "machine learning", "include_domains": ["arxiv.org", "github.com"], "search_depth": "advanced"}'
Basic Search
curl --request POST \
--url https://api.tavily.com/search \
--header "Authorization: Bearer $TAVILY_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"query": "latest developments in quantum computing",
"max_results": 5
}'
Advanced Search
curl --request POST \
--url https://api.tavily.com/search \
--header "Authorization: Bearer $TAVILY_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"query": "machine learning best practices",
"max_results": 10,
"search_depth": "advanced",
"include_domains": ["arxiv.org", "github.com"]
}'
API Reference
Endpoint
POST https://api.tavily.com/search
Headers
Header Value
Authorization
Bearer <TAVILY_API_KEY>
Content-Type
application/json
Request Body
Field Type Default Description
query
string
Required
Search query (keep under 400 chars)
max_results
integer
10
Maximum results (0-20)
search_depth
string
"basic"
ultra-fast, fast, basic, advanced
topic
string
"general"
Search topic (general only)
time_range
string
null
day, week, month, year
start_date
string
null
Return results after this date (YYYY-MM-DD)
end_date
string
null
Return results before this date (YYYY-MM-DD)
include_domains
array
[]
Domains to include (max 300)
exclude_domains
array
[]
Domains to exclude (max 150)
country
string
null
Boost results from a specific country (general topic only)
include_raw_content
boolean
false
Include full page content
include_images
boolean
false
Include image results
include_image_descriptions
boolean
false
Include descriptions for images
include_favicon
boolean
false
Include favicon URL for each result
Response Format
{
"query": "latest developments in quantum computing",
"results": [
{
"title": "Page Title",
"url": "https://example.com/page",
"content": "Extracted text snippet...",
"score": 0.85
}
],
"response_time": 1.2
}
Search Depth
Depth Latency Relevance Content Type
ultra-fast
Lowest
Lower
NLP summary
fast
Low
Good
Chunks
basic
Medium
High
NLP summary
advanced
Higher
Highest
Chunks
When to use each:
-
ultra-fast: Real-time chat, autocomplete -
fast: Need chunks but latency matters -
basic: General-purpose, balanced -
advanced: Precision matters (default recommendation)
Examples
Domain-Filtered Search
curl --request POST \
--url https://api.tavily.com/search \
--header "Authorization: Bearer $TAVILY_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"query": "Python async best practices",
"include_domains": ["docs.python.org", "realpython.com", "github.com"],
"search_depth": "advanced"
}'
Search with Full Content
curl --request POST \
--url https://api.tavily.com/search \
--header "Authorization: Bearer $TAVILY_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"query": "React hooks tutorial",
"max_results": 3,
"include_raw_content": true
}'
Tips
-
Keep queries under 400 characters - Think search query, not prompt
-
Break complex queries into sub-queries - Better results than one massive query
-
Use
include_domainsto focus on trusted sources -
Use
time_rangefor recent information -
Filter by
score(0-1) to get highest relevance results
Weekly Installs11.8KRepositorytavily-ai/skillsGitHub Stars95First SeenJan 25, 2026Security AuditsGen Agent Trust HubWarnSocketPassSnykWarnInstalled onopencode11.1Kgemini-cli10.9Kcodex10.9Kgithub-copilot10.8Kkimi-cli10.6Kamp10.6K
forumUser Reviews (0)
Write a Review
No reviews yet
Statistics
User Rating
Rate this Skill