WebRecon
Overview
This skill provides the methodology for conducting comprehensive website audits using 6 parallel Chrome instances. Each instance is controlled by a specialized agent that focuses on a specific aspect of the audit.
When to Use
- Competitive analysis of websites
- Design replication prep (extracting design tokens, components, assets)
- API/programmatic access discovery
- Tech stack reconnaissance
- Mobile responsiveness analysis
- SEO and security assessment
Prerequisites
Before running /webrecon:
- Launch Chrome instances: Run
~/.config/opencode/launch-chrome-instances.sh
- Verify Chrome is ready: Script will confirm all 6 ports responding
- Optional: Set
FIRECRAWL_API_KEY in environment for better page enumeration
Command Usage
# Quick recon (10 pages)
/webrecon quick example.com
# Deep recon (25 pages)
/webrecon deep example.com
# Design-focused (15 pages, skips SEO/security)
/webrecon design example.com
# With options
/webrecon deep example.com --exclude=api
/webrecon deep example.com --max-pages=50
/webrecon deep example.com --design-deep # Full component/asset extraction
/webrecon --resume # Resume interrupted run
Execution Flow
Phase 0: Setup
- Create output directory:
~/webrecon-output/<domain>/<timestamp>/
- Initialize state file for resumability
- Verify Chrome instances are running
- Load filter config from
~/.config/opencode/webrecon-filters.yaml
- Check for previous run (for diff computation)
Phase 1: Page Enumeration
Fallback chain:
- Try
sitemap.xml (free, instant)
- Try Firecrawl API if
FIRECRAWL_API_KEY set
- Fallback: Jina Reader (
https://r.jina.ai/<url>) + browser link crawl
Filtering:
- Exclude:
/blog/*, /docs/*, /legal/*, /changelog/*, /tag/*, pagination
- Keep everything else, cap by mode: quick=10, deep=25, design=15
Phase 2: Parallel Analysis
Dispatch 6 agents simultaneously:
| Chrome |
Agent |
Focus |
| chrome-1 |
audit-recon |
Tech stack, third-party scripts, pixels, GTM |
| chrome-2 |
audit-design |
CSS tokens, typography, colors, components |
| chrome-3 |
audit-api |
Endpoints, auth flow, WebSocket, rate limits |
| chrome-4 |
audit-mobile |
Viewports, touch targets, responsive layouts |
| chrome-5 |
audit-seo |
Meta tags, OpenGraph, Schema.org, headings |
| chrome-6 |
audit-security |
HTTP headers, cookies, CSP, exposed source maps |
Each agent:
- Processes assigned URLs one at a time
- Writes results to disk immediately (context hygiene)
- Updates
.state/progress.json
- Returns summary only
Phase 2.5: Design Deep (if --design-deep)
Sequential extended extraction on chrome-2:
- Component inventory with HTML/CSS snippets
- Asset harvesting (icons, fonts, logos)
- Motion capture (animations, transitions)
- Multi-format export (Style Dictionary, Figma Tokens, Tailwind config)
Phase 3: PWA Check
Quick check for Progressive Web App capabilities:
- Fetch
/manifest.json
- Detect service worker
- Test offline capability
Phase 4: Authenticated Audit (Optional)
If user wants to audit logged-in state:
- Open chrome-1 to login page
- Prompt: "Log in manually, then type 'done'"
- Capture session cookies
- Inject into other Chrome instances
- Re-run audit-recon and audit-api in auth mode
Phase 5: Diff Computation
If previous run exists:
- Load previous
structured/*.json files
- Compare: tech-stack, api-map, design-tokens
- Generate:
changelog/diffs/<timestamp>.json
- Append to:
changelog/history.jsonl
Phase 6: Compile Output
Generate final deliverables:
_manifest.json - Run metadata + change summary
report.md - Human-readable executive summary
structured/ - All JSON exports
screenshots/ - Key page screenshots
network/ - HAR archive + endpoints
assets/ - If --design-deep (components, icons, fonts)
exports/ - If --design-deep (Style Dictionary, Figma, Tailwind)
Output Structure
~/webrecon-output/
└── example.com/
├── changelog/
│ ├── history.jsonl # Append-only event log
│ └── diffs/
│ └── 2024-12-25_143022.json
│
├── 2024-12-25_143022/ # This run
│ ├── _manifest.json
│ ├── report.md
│ ├── structured/
│ │ ├── tech-stack.json
│ │ ├── design-tokens.json
│ │ ├── api-map.json
│ │ ├── seo-data.json
│ │ ├── security-report.json
│ │ └── ...
│ ├── screenshots/
│ ├── network/
│ ├── assets/ # If --design-deep
│ └── exports/ # If --design-deep
│
└── latest -> 2024-12-25_143022 # Symlink
Context Management
Problem: Long-running agents can bloat context with network data, screenshots, DOM trees.
Solution: Chunked processing + structured handoffs
- Orchestrator holds URL list only, not page content
- Sub-agents process ONE page at a time
- Write findings to disk IMMEDIATELY
- Clear page-specific context before next page
- Return summary only (not full data)
Resumability: If interrupted, /webrecon --resume reads .state/progress.json and continues from last completed page.
Chrome DevTools MCP Reference
Key tools available:
Navigation:
navigate_page - Go to URL
new_page / close_page - Tab management
list_pages / select_page - Multi-tab handling
Inspection:
take_screenshot - Capture page
take_snapshot - Get DOM/accessibility tree
evaluate_script - Run JavaScript
Network:
list_network_requests - Get all requests
get_network_request - Get request/response details
Performance:
performance_start_trace / performance_stop_trace - Record traces
performance_analyze_insight - Get performance insights
Best Practices
- Run Chrome launcher first: Always start Chrome instances before auditing
- Use appropriate mode:
quick for rapid checks, deep for thorough analysis
- Design-deep for replication: Use
--design-deep when you need to recreate the design
- Check diffs: Use
/webaudit diff to track changes over time
- Review filtered pages: Customize include/exclude if defaults miss important pages
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: webrecon3description: WebRecon - reconnaissance tool using parallel Chrome instances for competitive analysis, design extraction, and API discovery Use when this capability is needed.4---56# WebRecon78## Overview910This skill provides the methodology for conducting comprehensive website audits using 6 parallel Chrome instances. Each instance is controlled by a specialized agent that focuses on a specific aspect of the audit.1112## When to Use1314- Competitive analysis of websites15- Design replication prep (extracting design tokens, components, assets)16- API/programmatic access discovery17- Tech stack reconnaissance18- Mobile responsiveness analysis19- SEO and security assessment2021## Prerequisites2223Before running `/webrecon`:24251. **Launch Chrome instances**: Run `~/.config/opencode/launch-chrome-instances.sh`262. **Verify Chrome is ready**: Script will confirm all 6 ports responding273. **Optional**: Set `FIRECRAWL_API_KEY` in environment for better page enumeration2829## Command Usage3031```bash32# Quick recon (10 pages)33/webrecon quick example.com3435# Deep recon (25 pages)36/webrecon deep example.com3738# Design-focused (15 pages, skips SEO/security)39/webrecon design example.com4041# With options42/webrecon deep example.com --exclude=api43/webrecon deep example.com --max-pages=5044/webrecon deep example.com --design-deep # Full component/asset extraction45/webrecon --resume # Resume interrupted run46```4748## Execution Flow4950### Phase 0: Setup511. Create output directory: `~/webrecon-output/<domain>/<timestamp>/`522. Initialize state file for resumability533. Verify Chrome instances are running544. Load filter config from `~/.config/opencode/webrecon-filters.yaml`555. Check for previous run (for diff computation)5657### Phase 1: Page Enumeration5859**Fallback chain:**601. Try `sitemap.xml` (free, instant)612. Try Firecrawl API if `FIRECRAWL_API_KEY` set623. Fallback: Jina Reader (`https://r.jina.ai/<url>`) + browser link crawl6364**Filtering:**65- Exclude: `/blog/*`, `/docs/*`, `/legal/*`, `/changelog/*`, `/tag/*`, pagination66- Keep everything else, cap by mode: quick=10, deep=25, design=156768### Phase 2: Parallel Analysis6970Dispatch 6 agents simultaneously:7172| Chrome | Agent | Focus |73|--------|-------|-------|74| chrome-1 | audit-recon | Tech stack, third-party scripts, pixels, GTM |75| chrome-2 | audit-design | CSS tokens, typography, colors, components |76| chrome-3 | audit-api | Endpoints, auth flow, WebSocket, rate limits |77| chrome-4 | audit-mobile | Viewports, touch targets, responsive layouts |78| chrome-5 | audit-seo | Meta tags, OpenGraph, Schema.org, headings |79| chrome-6 | audit-security | HTTP headers, cookies, CSP, exposed source maps |8081Each agent:82- Processes assigned URLs one at a time83- Writes results to disk immediately (context hygiene)84- Updates `.state/progress.json`85- Returns summary only8687### Phase 2.5: Design Deep (if --design-deep)8889Sequential extended extraction on chrome-2:901. Component inventory with HTML/CSS snippets912. Asset harvesting (icons, fonts, logos)923. Motion capture (animations, transitions)934. Multi-format export (Style Dictionary, Figma Tokens, Tailwind config)9495### Phase 3: PWA Check9697Quick check for Progressive Web App capabilities:98- Fetch `/manifest.json`99- Detect service worker100- Test offline capability101102### Phase 4: Authenticated Audit (Optional)103104If user wants to audit logged-in state:1051. Open chrome-1 to login page1062. Prompt: "Log in manually, then type 'done'"1073. Capture session cookies1084. Inject into other Chrome instances1095. Re-run audit-recon and audit-api in auth mode110111### Phase 5: Diff Computation112113If previous run exists:1141. Load previous `structured/*.json` files1152. Compare: tech-stack, api-map, design-tokens1163. Generate: `changelog/diffs/<timestamp>.json`1174. Append to: `changelog/history.jsonl`118119### Phase 6: Compile Output120121Generate final deliverables:122- `_manifest.json` - Run metadata + change summary123- `report.md` - Human-readable executive summary124- `structured/` - All JSON exports125- `screenshots/` - Key page screenshots126- `network/` - HAR archive + endpoints127- `assets/` - If --design-deep (components, icons, fonts)128- `exports/` - If --design-deep (Style Dictionary, Figma, Tailwind)129130## Output Structure131132```133~/webrecon-output/134└── example.com/135 ├── changelog/136 │ ├── history.jsonl # Append-only event log137 │ └── diffs/138 │ └── 2024-12-25_143022.json139 │140 ├── 2024-12-25_143022/ # This run141 │ ├── _manifest.json142 │ ├── report.md143 │ ├── structured/144 │ │ ├── tech-stack.json145 │ │ ├── design-tokens.json146 │ │ ├── api-map.json147 │ │ ├── seo-data.json148 │ │ ├── security-report.json149 │ │ └── ...150 │ ├── screenshots/151 │ ├── network/152 │ ├── assets/ # If --design-deep153 │ └── exports/ # If --design-deep154 │155 └── latest -> 2024-12-25_143022 # Symlink156```157158## Context Management159160**Problem**: Long-running agents can bloat context with network data, screenshots, DOM trees.161162**Solution**: Chunked processing + structured handoffs163164- Orchestrator holds URL list only, not page content165- Sub-agents process ONE page at a time166- Write findings to disk IMMEDIATELY167- Clear page-specific context before next page168- Return summary only (not full data)169170**Resumability**: If interrupted, `/webrecon --resume` reads `.state/progress.json` and continues from last completed page.171172## Chrome DevTools MCP Reference173174Key tools available:175176**Navigation:**177- `navigate_page` - Go to URL178- `new_page` / `close_page` - Tab management179- `list_pages` / `select_page` - Multi-tab handling180181**Inspection:**182- `take_screenshot` - Capture page183- `take_snapshot` - Get DOM/accessibility tree184- `evaluate_script` - Run JavaScript185186**Network:**187- `list_network_requests` - Get all requests188- `get_network_request` - Get request/response details189190**Performance:**191- `performance_start_trace` / `performance_stop_trace` - Record traces192- `performance_analyze_insight` - Get performance insights193194## Best Practices1951961. **Run Chrome launcher first**: Always start Chrome instances before auditing1972. **Use appropriate mode**: `quick` for rapid checks, `deep` for thorough analysis1983. **Design-deep for replication**: Use `--design-deep` when you need to recreate the design1994. **Check diffs**: Use `/webaudit diff` to track changes over time2005. **Review filtered pages**: Customize include/exclude if defaults miss important pages201202---203> Converted and distributed by [TomeVault](https://tomevault.io/claim/ozenalp22) — claim your Tome and manage your conversions.204<!-- tomevault:4.0:skill_md:2026-04-16 -->