wkylin/pro-react-admin/tavily-dynamic-search
Claude Code and agent skill by wkylin/pro-react-admin
- community
Checking that the SKILL.md file is still in the repository.
Programmatic web search with context isolation. Use this skill for any research task where you need to search the web, filter results, and extract specific information — without polluting your context window with raw HTML and boilerplate. This is the default skill for web research. Triggered by \"search for\", \"look up\", \"find\", \"research\", \"what's the latest on\", or any query that requires current web information. Also use when asked to \"search and filter\", \"find the important parts\", or \"extract the key details\" — any case where the user wants curated, noise-free content.\n
Install
npx vskill@latest install wkylin/pro-react-admin/tavily-dynamic-searchSKILL.md
Tavily Dynamic Search
Search the web, filter results, and extract content so that raw search data never enters your context window. Only your curated print() output comes back.
Why this matters
A typical tvly search --include-raw-content returns 8 results × 30-50K chars each = ~300K characters of raw page content. If this enters your context window, you burn tokens reading navigation bars, cookie banners, and boilerplate — and your reasoning quality degrades under the noise. By processing results inside a Python script, only your print() output enters context — typically 1-3K characters of pure signal. That's a 100-200x reduction.
Background: Programmatic Tool Calling (PTC)
This skill replicates the architecture of Anthropic's Programmatic Tool Calling (PTC) for web search. PTC lets the model write code that orchestrates tool calls inside a sandbox — intermediate results stay in the sandbox, and only the final print() output reaches the model's context window.
This skill applies the same principle using local Python execution. The Python process is the sandbox. Variables in memory hold the raw data. Only what you print() crosses into your context window. You write the filtering logic — you decide what matters for each query.
Before running any command
If tvly is not found on PATH, install it first:
Core Rule
NEVER run tvly as a bare command. Always process output through Python so you control what enters your context.
JSON Schemas
You need these to write correct filtering code.
tvly search --json
tvly extract --json
How to search
You have two building blocks and two ways to run them. Compose these however the query demands — there are no fixed patterns. You decide the approach based on what you need.
Building blocks
`tvly search` — returns titles, URLs, snippets, scores. Optionally includes full page content with --include-raw-content markdown.
`tvly extract` — fetches full page content for specific URLs. Use when you found a URL from search and need more detail.
Execution modes
Pipe mode — for simple filters (3-5 lines). Pipe tvly output into python3 -c:
Heredoc mode — for anything more complex. Single Bash call, clean multi-line Python, no escaping, no temp files:
Single-quoted heredocs (<< 'PYEOF') don't interpret anything — no escaping needed. This is the default for most tasks.
Script mode — only when you will reuse the same script across multiple turns. Do NOT write one-shot scripts to /tmp/. If you run it once, use a heredoc.
Important: save DATA to `/tmp/`, not CODE. Writing /tmp/tavily_results.json (data for later turns) = good. Writing /tmp/my_filter.py (one-shot code) = wasteful — use a heredoc instead.
Multi-turn iteration
For complex queries, you often need to explore before you extract — just like PTC, where the model searches, sees titles, decides which results to drill into, then extracts.
The key: save raw results to a file, then process them in separate steps. The file is your persistent state between turns.
Turn 1: Search and explore
Search and print only titles + scores. Save raw results to disk for later turns:
Context receives: ~800 tokens of titles + snippets. The 300K of raw page content is in /tmp/tavily_results.json, untouched.
Turn 2: Extract based on what you saw
Now you know what's in the results. Write targeted extraction — you decide which results to drill into and what to filter for:
Context receives: ~600 tokens of targeted content. You made the decision about what to keep.
Turn 3 (optional): Fetch more detail
If you need more from a specific source:
When to use multi-turn vs single-turn
Single turn (pipe mode or one script): when you know upfront what you're looking for. Specific factual queries, known keywords.
Multi-turn (save + explore + extract): when you need to see what's available before deciding what to extract. Open-ended research, complex topics, queries where you don't know the right keywords yet.
Examples
Simple factual lookup (single turn, pipe mode)
Financial data extraction (single turn, heredoc)
Multi-source research (multi-turn)
Turn 1 — broad search + triage:
Turn 2 — you see the triage, pick the best sources, and extract:
Following leads across turns
Sometimes turn 2 reveals new URLs or topics to chase. You can keep iterating:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 93 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingagent/skills/tavily-dynamic-search/SKILL.md
Popularity
- Repository stars
- 933
- Repository forks
- 218
- 7-day trend score
- 34
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/wkylin/pro-react-admin/tavily-dynamic-search)