dev-browser
The skill automates Chrome browser interactions using Puppeteer scripts through a CLI tool.
Community author
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
- License
- MIT (permissive)
- Pin
- a25e767pinned Oct 9, 2026
- Context cost
- about 340 tokenswhen the skill loads
- GitHub stars
- 6,657on sawyerhood/dev-browser
- Scripts
- None found
What it does
“Browser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, log into sites, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", "open the browser", or any browser interaction request.”
Generated summary from the skill's own text
The skill automates Chrome browser interactions using Puppeteer scripts through a CLI tool. It maintains persistent named pages across runs, enabling navigation, form filling, screenshot capture, data extraction, and web app testing. The agent writes short JavaScript code snippets to control the browser and retrieve results.
When to use it
- Navigate websites and extract data from web pages
- Fill forms and interact with web application interfaces
- Take screenshots and test website functionality
- Automate repetitive browser workflows and login sequences
When not to
- Testing applications requiring multiple parallel browser instances
- Workflows needing headless and headed browser states simultaneously
- Tasks where browser state must not persist between runs
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add sawyerhood/dev-browser --skill dev-browserInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install sawyerhood/dev-browser dev-browser@a25e7672e199153b2f5b52a841a62436a28d925fInstalls the commit we checked (a25e767).
Copy by hand
Download the folder at a25e767 and put it in .claude/skills/dev-browser for Claude Code and in .agents/skills/dev-browser for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "dev-browser" by SawyerHood. Source, pinned to commit a25e7672e199153b2f5b52a841a62436a28d925f: https://github.com/sawyerhood/dev-browser/tree/a25e7672e199153b2f5b52a841a62436a28d925f/skills/dev-browser 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/dev-browser/ for Claude Code and .agents/skills/dev-browser/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/sawyerhood/dev-browser
SKILL.md at the pin
---
name: dev-browser
description: Browser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, log into sites, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", "open the browser", or any browser interaction request.
---
# dev-browser
CLI for controlling a real Chrome with short Puppeteer scripts. One warm daemon; named pages persist between runs.
```bash
npm install -g dev-browser # bun add -g dev-browser works too; the first run downloads the binary if the install script was blocked
dev-browser install # only if the first run says "No Chrome found"
```
Run `dev-browser --help` (full guide; `dev-browser help <topic>` for one section) before non-trivial work. Quick start:
```bash
dev-browser <<'EOF'
const page = await browser.getPage("main"); // named page persists across runs
await page.goto("https://example.com"); // default waitUntil: domcontentloaded
await page.snapshot({ interactive: true }) // ARIA tree with refs; last expression is printed
EOF
dev-browser -e 'const p = await browser.getPage("main"); await p.click("ref/e6"); await p.waitForLoad(); p.url()'
```
Gotchas: end lines with semicolons (a line starting with `(` continues the previous one); return an object as
`({ a, b })`; `page.click` never waits (use `waitForSelector` first); page names are per browser (`--headless` and
headed are separate Chromes and profiles); refs reset on navigation — re-snapshot; file paths resolve against your cwd
(uploadFile, screenshot/pdf `path`); do not run parallel dev-browser calls against the same named page.
From sawyerhood/dev-browser at a25e767, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at a25e767Files
- SKILL.md1.8 KB · 0b4f7c456e49
1 file, 1.8 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at a25e767Related in Testing and QA
next-partial-prefetching-optimizer
This skill optimizes Next.js client-side navigation under Partial Prefetching by defining what UI loads before and after a click.
by VercelOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.8K tokens · pinned 6 days ago
Invalid--Name
This skill cannot be described because its name format is invalid and no functional description or instructions are provided in the skill metadata.
by CrewAIOfficial publisher
Claude Code, Codex, Cursor +4 · about 0 tokens · pinned 6 days ago
chrome-devtools-cli
This skill enables agents to automate browser interactions and inspect web pages using Chrome DevTools via command-line interface.
by GoogleOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.9K tokens · pinned 6 days ago
triaging-visual-review-runs
Inspects PostHog Visual Review screenshot regression runs that gate pull requests, helping engineers triage diff results, identify flaky stories, and decide…
by PostHogOfficial publisher
Claude Code, Codex, Cursor +4 · about 8.9K tokens · pinned 6 days ago
code-change-verification
Runs formatting, linting, type checking, and test verification for SDK code changes after review.
by OpenAIOfficial publisher
Contains scripts
Codex · about 1.3K tokens · pinned 6 days ago
runtime-behavior-probe
This skill guides agents to plan and execute controlled runtime investigations with explicit user approval before each probe runs.
by OpenAIOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 3.8K tokens · pinned 6 days ago