/web-research-workflow
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
$ npx -y skills add yonatangross/orchestkit --skill web-research-workflow --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/web-research-workflow
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
web-research-workflow.SKILL.mdname: web-research-workflow
license: MIT
compatibility: "Claude Code 2.1.220+. Requires network access."
description: 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.
context: inherit
agent: web-research-analyst
version: 1.3.0
author: OrchestKit
tags: [research, browser, webfetch, tavily, automation, scraping, content-extraction, competitive-intelligence, monitoring]
user-invocable: false
disable-model-invocation: true
allowed-tools: [Bash, Read, Write, WebFetch]
complexity: low
persuasion-type: guidance
effort: low
model: haiku
metadata:
category: mcp-enhancement
Web Research Workflow
Unified approach for web content research that automatically selects the right tool for each situation.
Quick Decision Tree
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 patternTavily Enhanced Research
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("${CLAUDE_SKILL_DIR}/rules/tool-selection.md")` for when-to-use-what tables, escalation heuristics, SPA detection patterns, and cost awareness.
Load details: `Read("${CLAUDE_SKILL_DIR}/references/tavily-api.md")` for Search, Extract, Map, Crawl, and Research endpoint examples and options.
Browser Patterns
For content requiring JavaScript rendering, authentication, or multi-page crawling, fall back to agent-browser.
Load details: `Read("${CLAUDE_SKILL_DIR}/rules/browser-patterns.md")` for auto-fallback, authentication flow, multi-page research patterns, best practices, and troubleshooting.
Competitive Monitoring
Track competitor websites for changes in pricing, features, positioning, and content.
Load details: `Read("${CLAUDE_SKILL_DIR}/rules/monitoring-competitor.md")` for snapshot capture, structured data extraction, and change classification.
Load details: `Read("${CLAUDE_SKILL_DIR}/rules/monitoring-change-detection.md")` for diff detection, structured comparison, Tavily site discovery, and CI automation.
Change Classification
| 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 |
Integration with Agents
This skill is used by:
- `web-research-analyst` - Primary user
- `market-intelligence` - Competitor research
- `product-strategist` - Deep competitive analysis
Related Skills
- `browser-content-capture` - Detailed browser patterns
- `agent-browser` - CLI reference
---
**Version:** 1.3.0 (March 2026)
Read more
name: web-research-workflow license: MIT compatibility: "Claude Code 2.1.220+. Requires network access." description: 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. context: inherit agent: web-research-analyst version: 1.3.0 author: OrchestKit tags: [research, browser, webfetch, tavily, automation, scraping, content-extraction, competitive-intelligence, monitoring] user-invocable: false disable-model-invocation: true allowed-tools: [Bash, Read, Write, WebFetch] complexity: low persuasion-type: guidance effort: low model: haiku metadata: category: mcp-enhancement
Web Research Workflow
Unified approach for web content research that automatically selects the right tool for each situation.
Quick Decision Tree
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 patternTavily Enhanced Research
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("${CLAUDE_SKILL_DIR}/rules/tool-selection.md")` for when-to-use-what tables, escalation heuristics, SPA detection patterns, and cost awareness.
Load details: `Read("${CLAUDE_SKILL_DIR}/references/tavily-api.md")` for Search, Extract, Map, Crawl, and Research endpoint examples and options.
Browser Patterns
For content requiring JavaScript rendering, authentication, or multi-page crawling, fall back to agent-browser.
Load details: `Read("${CLAUDE_SKILL_DIR}/rules/browser-patterns.md")` for auto-fallback, authentication flow, multi-page research patterns, best practices, and troubleshooting.
Competitive Monitoring
Track competitor websites for changes in pricing, features, positioning, and content.
Load details: `Read("${CLAUDE_SKILL_DIR}/rules/monitoring-competitor.md")` for snapshot capture, structured data extraction, and change classification.
Load details: `Read("${CLAUDE_SKILL_DIR}/rules/monitoring-change-detection.md")` for diff detection, structured comparison, Tavily site discovery, and CI automation.
Change Classification
| 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 |
Integration with Agents
This skill is used by:
- `web-research-analyst` - Primary user
- `market-intelligence` - Competitor research
- `product-strategist` - Deep competitive analysis
Related Skills
- `browser-content-capture` - Detailed browser patterns
- `agent-browser` - CLI reference
---
**Version:** 1.3.0 (March 2026)
The Complete AI Development Toolkit for Claude Code — 114 skills, 37 agents, 212 hooks. Production-ready patterns for full-stack development.
Repo: yonatangross/orchestkit
Other skills on orchestkit.
- /accessibility
Accessibility patterns for WCAG 2.2 compliance, keyboard focus management, React Aria component patterns, cognitive inclusion, native HTML-first philosophy, and user preference honoring. Use when implementing screen reader support, keyboard navigation, ARIA patterns, focus
Open skill - /agent-orchestration
Agent orchestration patterns for agentic loops, multi-agent coordination, alternative frameworks, and multi-scenario workflows. Use when building autonomous agent loops, coordinating multiple agents, evaluating CrewAI/AutoGen/Swarm, or orchestrating complex multi-step scenarios.
Open skill - /ai-ui-generation
AI-assisted UI generation patterns for json-render, v0.app, Google Stitch, Bolt Cloud, and Cursor workflows. Covers prompt engineering for component and full-stack app generation, review checklists for AI-generated code, design token injection, refactoring for design system
Open skill - /analytics
Queries local analytics across OrchestKit projects for agent usage, skill frequency, hook timing, team activity, session replay, cost estimation, and model delegation trends. Privacy-safe with hashed project IDs. Supports time-range filtering and comparative analysis. Use when
Open skill - /animation-motion-design
Animation and motion design patterns using Motion library (formerly Framer Motion) and View Transitions API. Use when implementing component animations, page transitions, micro-interactions, gesture-driven UIs, or ensuring motion accessibility with prefers-reduced-motion.
Open skill - /api-design
API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs. Use when specifying the wire contract an endpoint exposes, choosing a versioning scheme, or
Open skill

