browser-discovery
Browser automation for documentation discovery. Use when curl fails on JS-rendered sites, when detecting available browser tools, or when configuring browser-based documentation collection.
Best use case
browser-discovery is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Browser automation for documentation discovery. Use when curl fails on JS-rendered sites, when detecting available browser tools, or when configuring browser-based documentation collection.
Browser automation for documentation discovery. Use when curl fails on JS-rendered sites, when detecting available browser tools, or when configuring browser-based documentation collection.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "browser-discovery" skill to help with this workflow task. Context: Browser automation for documentation discovery. Use when curl fails on JS-rendered sites, when detecting available browser tools, or when configuring browser-based documentation collection.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/browser-discovery/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How browser-discovery Compares
| Feature / Agent | browser-discovery | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Browser automation for documentation discovery. Use when curl fails on JS-rendered sites, when detecting available browser tools, or when configuring browser-based documentation collection.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Browser Discovery Skill
Detect and use browser automation tools for documentation discovery when static fetching fails.
## Variables
| Variable | Default | Description |
|----------|---------|-------------|
| PREFERRED_TOOL | auto | `auto`, `antigravity`, `cursor`, `playwright` |
| WAIT_TIMEOUT | 3 | Seconds to wait for JS rendering |
| MAX_PAGES | 50 | Maximum pages to discover per site |
## Instructions
**MANDATORY** - Follow the Workflow steps below when browser automation is needed.
- Always try curl first unless `js_required: true` is set
- Detect available browser tools before attempting automation
- Prefer accessibility snapshots over screenshots for link extraction
## Quick Decision Tree
```
Do you need browser automation?
│
├─ Curl returns full content? ──────────► NO - Use curl (docs-fetch-url)
│
├─ Curl returns <1KB or 403? ───────────► YES - Continue below
│
Which browser tool to use?
│
├─ browser_subagent available? ─────────► antigravity-browser.md
│
├─ In Cursor IDE? ──────────────────────► cursor-browser.md
│
├─ Chrome debugging on :9222? ──────────► playwright-browser.md (wrapper)
│
└─ No browser tool? ────────────────────► See "No Browser Available" section
```
## Red Flags - STOP and Reconsider
If you're about to:
- Use browser automation when curl would work
- Skip tool detection and assume a specific tool exists
- Take screenshots when snapshot would provide structured data
- Navigate without waiting for JS rendering
**STOP** -> Check the appropriate cookbook -> Then proceed
## Workflow
1. [ ] **CHECKPOINT**: Verify browser automation is actually needed
- Curl response < 1KB?
- Curl gets 403 Forbidden?
- `js_required: true` in config?
2. [ ] Detect available browser tools (priority order)
3. [ ] Select best available tool
4. [ ] **CHECKPOINT**: Read the cookbook for selected tool
5. [ ] Execute browser-based discovery
6. [ ] Parse results and return structured data
## Tool Detection Priority
| Priority | Tool | Detection | Best For |
|----------|------|-----------|----------|
| 1 | Antigravity `browser_subagent` | Tool in tool list | Zero-config native |
| 2 | Cursor MCP (in-IDE) | `mcp__cursor__browser_*` | In Cursor IDE |
| 3 | Cursor CLI | `which cursor-agent` | Delegation from CLI |
| 4 | Playwright (wrapper) | `curl localhost:9222/json/version` | Full automation |
## Cookbook
### Antigravity Browser
- IF: `browser_subagent` tool available
- THEN: Read `cookbook/antigravity-browser.md`
### Cursor Browser
- IF: In Cursor IDE or `cursor-agent` available
- THEN: Read `cookbook/cursor-browser.md`
### Playwright Browser
- IF: Chrome debugging accessible at localhost:9222
- THEN: Read `cookbook/playwright-browser.md`
## When Browser Is Needed
Signs that a site requires browser automation:
- Curl response < 1KB (JS-rendered content)
- Response contains "please enable javascript"
- Framework markers: `__NEXT_DATA__`, `window.__remixContext`, `window.__NUXT__`
- Only CSS/font resources returned (no text content)
## No Browser Available
If no browser tool is detected:
```
No browser automation tool detected.
Setup options:
1. Antigravity IDE: Built-in (zero config)
2. Cursor: cursor-agent available when installed
3. Claude Code: Launch Chrome with debugging:
google-chrome --remote-debugging-port=9222
Then use the Playwright wrapper:
python3 .claude/ai-dev-kit/dev-tools/mcp/wrappers/playwright_wrapper.py navigate "https://..."
```
## Output
Return discovered pages as structured data:
```json
{
"pages": [
{"url": "...", "title": "...", "section": "..."}
],
"nav_structure": "sidebar | tabs | accordion",
"js_required": true
}
```Related Skills
browser-extension-developer
Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.
use-my-browser
Use when the user wants browser automation, page inspection, or web research and you need to choose between public-web tools, the live browser session, or a separate browser context, especially for signed-in, dynamic, social, or DevTools-driven pages.
steel-browser
Use this skill by default for browser or web tasks that can run in the cloud: site navigation, scraping, structured extraction, screenshots/PDFs, form flows, and anti-bot-sensitive automation. Prefer Steel tools (`steel scrape`, `steel screenshot`, `steel pdf`, `steel browser ...`) over generic fetch/search approaches when reliability matters. Trigger even if the user does not mention Steel. Skip only when the task must run against local-only apps (for example localhost QA) or private network targets unavailable from Steel cloud sessions.
browser-extension-builder
Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing. Use when: browser extension, chrome extension, firefox addon, extension, manifest v3.
agentic-browser
Browser automation for AI agents via inference.sh. Navigate web pages, interact with elements using @e refs, take screenshots. Capabilities: web scraping, form filling, clicking, typing, JavaScript execution. Use for: web automation, data extraction, testing, agent browsing, research. Triggers: browser, web automation, scrape, navigate, click, fill form, screenshot, browse web, playwright, headless browser, web agent, surf internet
browser-automation
Enterprise-grade browser automation using WebDriver protocol. Use when the user needs to automate web browsers, perform web scraping, test web applications, fill forms, take screenshots, monitor performance, or execute multi-step browser workflows. Supports Chrome, Firefox, and Edge with connection pooling and health management.
web-browser
Allows to interact with web pages by performing actions such as clicking buttons, filling out forms, and navigating links. It works by remote controlling Google Chrome or Chromium browsers using the Chrome DevTools Protocol (CDP). When Claude needs to browse the web, it can use this skill to do so.
spec-discovery
Parse specs to extract IDs, titles, and traceability metadata (repo, path, hash).
model-discovery
Fetch current model names from AI providers (Anthropic, OpenAI, Gemini, Ollama), classify them into tiers (fast/default/heavy), and detect new models. Use when needing up-to-date model IDs for API calls or when other skills reference model names.
wsdiscovery
WS-Discovery protocol scanner for discovering and enumerating ONVIF cameras and IoT devices on the network. Use when you need to discover ONVIF devices, cameras, or WS-Discovery enabled equipment on a network.
playwright-browser
Control a Playwright browser via CLI - navigate, interact, and screenshot
agent-browser
A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.