add-webmcp
Analyze an existing web application, identify safe user-visible capabilities across routes, forms, server actions, handlers, and…
Build local constrained-browser agents with a safe_browser tool that owns CDP, enforces a domain allowlist with Fetch interception, and lets a runtime Claude Agent SDK agent complete browsing tasks without raw browser, shell, or CDP access. Use when the user wants an agent to
Claude Code
$ npx -y skills add browserbase/skills --skill safe-browser --agent claude-code
Codex
$ npx skills add browserbase/skills --skill safe-browser -a codex -y
Cursor
$ npx skills add browserbase/skills --skill safe-browser -a cursor -y
Gemini CLI
$ npx skills add browserbase/skills --skill safe-browser -a gemini-cli -y
GitHub Copilot
$ npx skills add browserbase/skills --skill safe-browser -a github-copilot -y
OpenCode
$ npx skills add browserbase/skills --skill safe-browser -a opencode -y
Windsurf
$ npx skills add browserbase/skills --skill safe-browser -a windsurf -y
name: safe-browser description: Build local constrained-browser agents with a safe_browser tool that owns CDP, enforces a domain allowlist with Fetch interception, and lets a runtime Claude Agent SDK agent complete browsing tasks without raw browser, shell, or CDP access. Use when the user wants an agent to browse or scrape while staying on approved domains, demo blocked off-domain navigation, or generate a safe browser client. compatibility: "Requires Node.js 18+, npm, and a local Chromium (`npx playwright install chromium`). The generated Claude Agent SDK runtime app needs ANTHROPIC_API_KEY." license: MIT allowed-tools: Bash, Read, Write, Edit
Build a local browser-agent demo where the generated runtime agent has exactly one browser capability: `safe_browser`. The tool owns the Playwright/CDP session, enables `Fetch` interception for all requests, and fails any request whose host is not allowlisted.
This skill is a builder guide. The skill itself is not the runtime boundary; the generated Claude Agent SDK app is.
Use the Claude Agent SDK local template:
cp -R skills/safe-browser/templates/claude-agent-sdk /tmp/safe-browser-demo cd /tmp/safe-browser-demo npm install cp ~/Developer/scratchpad/.env .env 2>/dev/null || true node hn-scraper-demo.mjs
To watch the local browser instead of running headless:
SAFE_BROWSER_HEADLESS=false node hn-scraper-demo.mjs
If Chromium is missing:
npx playwright install chromium
User task
-> coding agent uses this skill to create a demo app
-> Claude Agent SDK runtime agent
-> only tool: safe_browser
-> local Chromium
-> CDP Fetch.enable({ urlPattern: "*" })
-> allowlist decision
-> Fetch.continueRequest for allowed hosts
-> Fetch.failRequest for blocked hostsExpose constrained actions, not raw CDP:
Do not expose `{ method, params }` CDP passthrough. The agent must not be able to call `Fetch.disable`, create targets, attach new sessions, or run arbitrary shell/browser clients.
For the Hacker News demo, an accessibility snapshot is not necessary. Purpose-built extractors are easier to verify and harder to misuse than a broad page snapshot.
Always run the generated demo and show concrete output. A passing demo must prove:
1. The runtime agent used `safe_browser`. 2. It loaded `https://news.ycombinator.com`. 3. It extracted at least one front-page story. 4. It visited an internal HN comments URL. 5. It attempted an off-domain story URL. 6. CDP emitted `Fetch.requestPaused` for that URL. 7. The firewall answered with `Fetch.failRequest`. 8. The current browser URL stayed on `news.ycombinator.com`. 9. Artifacts were written: result, audit log, and screenshot.
The template script already performs these assertions.
A set of skills for enabling Claude Code to work with Browserbase through browser automation and the official browse CLI.
Analyze an existing web application, identify safe user-visible capabilities across routes, forms, server actions, handlers, and…
Audit the developer experience of a product, SDK, docs site, or SKILL.md by dropping multiple Claude subagents at it with only a…
Self-improving browser automation via the auto-research loop. Iteratively runs a browsing task, reads the trace, and improves the…
Turn a website's observable HTTP traffic into a best-effort OpenAPI 3.1 spec by analyzing a `browser-trace` capture. Use when the…
Capture a full DevTools-protocol trace of any browser automation — CDP firehose, screenshots, and DOM dumps — then bisect the…
Migrate browser-use (Python) browser-automation scripts to Stagehand v3 (TypeScript) on Browserbase. Use when the user wants to…
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…