Skip to content

/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

shell
$ npx -y skills add yonatangross/orchestkit --skill web-research-workflow --agent claude-code

How 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
How auto-invocation works

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.md
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 pattern

Tavily 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
Read it on GitHub ↗
Ships withorchestkit

The Complete AI Development Toolkit for Claude Code — 114 skills, 37 agents, 212 hooks. Production-ready patterns for full-stack development.

Get the whole plugin, auto-invoked
Stats
212
Stars
0
Views
22
Forks
Active
Maintenance
TypeScript
Language
MIT
License
31m ago
Last commit
7mo ago
Created

Repo: yonatangross/orchestkit

Other skills on orchestkit.