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.

242 stars

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

$curl -o ~/.claude/skills/browser-discovery/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/consiliency/browser-discovery/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/browser-discovery/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How browser-discovery Compares

Feature / Agentbrowser-discoveryStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

Parse specs to extract IDs, titles, and traceability metadata (repo, path, hash).

model-discovery

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

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

242
from aiskillstore/marketplace

Control a Playwright browser via CLI - navigate, interact, and screenshot

agent-browser

242
from aiskillstore/marketplace

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.