Dev browser skill

Browser automation with persistent named pages via the dev-browser CLI.

by SawyerHood·MIT license·★ 6,654 Stars on the repo·GitHub ↗

Use now

Files of Dev browser

SawyerHood/main1 file shown
SKILL.md
Show the full text30 lines
dev-browser/SKILL.md30 lines · 1.8 KB
RawView on GitHub

dev-browser

CLI for controlling a real Chrome with short Puppeteer scripts. One warm daemon; named pages persist between runs.

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:

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.

1---
2name: dev-browser
3description: 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.
4---
5 
6# dev-browser
7 
8CLI for controlling a real Chrome with short Puppeteer scripts. One warm daemon; named pages persist between runs.
9 
10```bash
11npm install -g dev-browser # bun add -g dev-browser works too; the first run downloads the binary if the install script was blocked
12dev-browser install # only if the first run says "No Chrome found"
13```
14 
15Run `dev-browser --help` (full guide; `dev-browser help <topic>` for one section) before non-trivial work. Quick start:
16 
17```bash
18dev-browser <<'EOF'
19const page = await browser.getPage("main"); // named page persists across runs
20await page.goto("https://example.com"); // default waitUntil: domcontentloaded
21await page.snapshot({ interactive: true }) // ARIA tree with refs; last expression is printed
22EOF
23dev-browser -e 'const p = await browser.getPage("main"); await p.click("ref/e6"); await p.waitForLoad(); p.url()'
24```
25 
26Gotchas: end lines with semicolons (a line starting with `(` continues the previous one); return an object as
27`({ a, b })`; `page.click` never waits (use `waitForSelector` first); page names are per browser (`--headless` and
28headed are separate Chromes and profiles); refs reset on navigation — re-snapshot; file paths resolve against your cwd
29(uploadFile, screenshot/pdf `path`); do not run parallel dev-browser calls against the same named page.
30 

Discussion

Alternatives

Browser Automation SkillWeb browser automation with AI-optimized snapshots for claude-flow agentsCoding · MITDeepevalDeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent, tool-using workflow, multi-turn chatbot, RAG pipeline, or LLM app; add evals; generate datasets or goldens; use deepeval generate; use deepeval test run; send results to Confident AI; monitor production; run online evals; inspect traces; or iterate on prompts, tools, retrieval, or agent behavior from eval failures. AI agents are the primary use case. Covers Python SDK, pytest eval suites, CLI generation, traced evals, Confident AI reporting, and agent-driven improvement loops. DO NOT TRIGGER for unrelated generic pytest, non-AI test setup, or non-DeepEval observability work unless the user asks to compare or migrate to DeepEval; for instrumenting an app with DeepEval tracing, @observe, or framework integrations (use the `deepeval-tracing` skill); or for raw OpenTelemetry / OTLP export without the deepeval package (use the `deepeval-otel` skill).Business & ops · Apache-2.0Turn into appTurn visible project context, a proven thread, skill, or workflow into a runnable Agent-Native app with simple buttons, visible agent steps, preview, and deployment handoff. Use when a user invokes `/turn-into-app` or asks to make a workflow into an app, including from Claude or ChatGPT on the web, including when the source is a spreadsheet link or upload.Business & ops · MITPlaywright Browser AutomationComplete browser automation with Playwright. Auto-detects dev servers, writes reusable test scripts, and supports screenshots, responsive checks, UX validation, login flows, link checks, and arbitrary browser automation. Use when the user wants to test a website, automate browser interactions, validate web functionality, or perform browser-based testing.Business & ops · MIT