Unified decision tree for web research and competitive monitoring. Auto-selects WebFetch, Tavily, or agent-browser based on target site characteristics and available API keys. Includes competitor page tracking, snapshot diffing, and change alerting. Use when researching web content, scraping, extracting raw markdown, capturing documentation, or monitoring competitor changes.
Unified approach for web content research that automatically selects the right tool for each situation.
URL to research
│
▼
┌─────────────────┐
│ 1. Try WebFetch │ ← Fast, free, no overhead
│ (always try) │
└─────────────────┘
│
Content OK? ──Yes──► Parse and return
│
No (empty/partial/<500 chars)
│
▼
┌───────────────────────┐
│ 2. TAVILY_API_KEY set?│
└───────────────────────┘
│ │
Yes No ──► Skip to step 3
│
▼
┌───────────────────────────┐
│ Tavily search/extract/ │ ← Raw markdown, batch URLs
│ crawl/research │
└───────────────────────────┘
│
Content OK? ──Yes──► Parse and return
│
No (JS-rendered/auth-required)
│
▼
┌─────────────────────┐
│ 3. Use agent-browser │ ← Full browser, last resort
└─────────────────────┘
│
├─ SPA (react/vue/angular) ──► wait --load networkidle
├─ Login required ──► auth flow + state save
├─ Dynamic content ──► wait --text "Expected"
└─ Multi-page ──► crawl pattern
When TAVILY_API_KEY is set, Tavily provides a powerful middle tier between WebFetch and agent-browser. It returns raw markdown content, supports batch URL extraction, and offers semantic search with relevance scoring. If TAVILY_API_KEY is not set, the 3-tier tree collapses to 2-tier (WebFetch → agent-browser) automatically.
Load details: Read("rules/tool-selection.md") for when-to-use-what tables, escalation heuristics, SPA detection patterns, and cost awareness.
Load details: Read("references/tavily-api.md") for Search, Extract, Map, Crawl, and Research endpoint examples and options.
For content requiring JavaScript rendering, authentication, or multi-page crawling, fall back to agent-browser.
Load details: Read("rules/browser-patterns.md") for auto-fallback, authentication flow, multi-page research patterns, best practices, and troubleshooting.
Track competitor websites for changes in pricing, features, positioning, and content.
Load details: Read("rules/monitoring-competitor.md") for snapshot capture, structured data extraction, and change classification.
Load details: Read("rules/monitoring-change-detection.md") for diff detection, structured comparison, Tavily site discovery, and CI automation.
| Severity | Examples | Action | |----------|----------|--------| | Critical | Price increase/decrease, major feature change | Immediate alert | | High | New feature added, feature removed | Review required | | Medium | Copy changes, positioning shift | Note for analysis | | Low | Typos, minor styling | Log only |
This skill is used by:
web-research-analyst - Primary usermarket-intelligence - Competitor researchproduct-strategist - Deep competitive analysisbrowser-content-capture - Detailed browser patternsagent-browser - CLI referenceVersion: 1.3.0 (March 2026)
npx skills add yonatangross/web-research-workflow下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer
Tags:research, browser, webfetch, tavily, automation, scraping, content-extraction, competitive-intelligence, monitoring