CtrlK
BlogDocsLog inGet started
Tessl Logo

tavily-best-practices

Build production-ready Tavily integrations with best practices for web search, content extraction, crawling, and research in agentic workflows, RAG systems, and autonomous agents

52

Quality

60%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./content/tavily/skills/tavily-best-practices/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

87%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is a well-structured skill that efficiently covers the Tavily API surface with executable examples and excellent progressive disclosure to reference files. The main weakness is the lack of error handling, validation steps, and recovery patterns—particularly important for the research() polling workflow and batch extraction scenarios. The decision table for method selection is a standout feature that adds significant value concisely.

Suggestions

Add basic error handling to the research() polling example (e.g., what to do when status is 'failed', timeout handling)

Include a brief note on rate limits or common failure modes and how to handle them, especially for extract() with multiple URLs

DimensionReasoningScore

Conciseness

The content is lean and efficient. It avoids explaining what a search API is or how Python packages work. Every section provides direct, actionable content without padding. The method selection table is an excellent concise decision aid.

3 / 3

Actionability

Every method includes executable, copy-paste ready Python code examples with real parameters. Key parameters are listed concisely for each method, and the research() example even includes the polling pattern needed for async operations.

3 / 3

Workflow Clarity

The decision table for choosing methods is clear, and individual method usage is well-demonstrated. However, there are no validation checkpoints or error handling patterns shown (e.g., what happens if research() fails, how to handle rate limits, or what to do when extract() returns incomplete results). The research polling loop checks for 'failed' status but doesn't show what to do about it.

2 / 3

Progressive Disclosure

Excellent progressive disclosure structure: the SKILL.md serves as a clear overview with quick-start examples, then consistently points to well-organized reference files (sdk.md, search.md, extract.md, crawl.md, research.md, integrations.md) with descriptive summaries of what each contains. All references are one level deep and clearly signaled.

3 / 3

Total

11

/

12

Passed

Description

32%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description identifies the Tavily domain and lists relevant capability areas but reads more like a marketing tagline than a precise skill selector. It lacks an explicit 'Use when...' clause, which is critical for Claude to know when to select this skill. The buzzword-heavy phrasing ('production-ready', 'best practices', 'autonomous agents') adds fluff without improving selectability.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Tavily API integration, setting up Tavily search, or building search-powered RAG pipelines with Tavily.'

Replace marketing language ('production-ready', 'best practices') with concrete actions like 'configure Tavily API clients, execute search queries, extract page content, set up multi-page crawls'.

Include common user trigger variations such as 'Tavily API', 'Tavily SDK', 'tavily-python', or 'search API' to improve matching against natural user requests.

DimensionReasoningScore

Specificity

Names the domain (Tavily integrations) and lists several actions (web search, content extraction, crawling, research), but these read more like category labels than concrete specific actions. It lacks granular operations like 'configure API keys', 'parse search results', or 'set up crawl pipelines'.

2 / 3

Completeness

The description addresses 'what' (build Tavily integrations for search, extraction, crawling, research) but completely lacks an explicit 'when' clause or trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' itself is also somewhat vague, bringing this to a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'Tavily', 'web search', 'content extraction', 'crawling', 'RAG systems', and 'agentic workflows'. However, it misses common user-facing variations like 'Tavily API', 'search API', 'web scraping', or 'Tavily SDK', and some terms like 'agentic workflows' and 'autonomous agents' are more jargon than natural user language.

2 / 3

Distinctiveness Conflict Risk

The mention of 'Tavily' specifically provides some distinctiveness, but terms like 'web search', 'content extraction', 'crawling', and 'RAG systems' could easily overlap with general web scraping skills, search API skills, or RAG pipeline skills. The Tavily brand name helps but the broad scope creates overlap risk.

2 / 3

Total

7

/

12

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

9

/

11

Passed

Repository
andrewyng/context-hub
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.