Dev Browser — Persistent-State Browser Automation
Automate web navigation, form filling, screenshots and scraping through small scripts that share persistent browser page state.
Dev & CodingIntermediate★ 67,531⑂ 5,507AI score 10/10Last updated: Aug 9, 2026
What it does
- Spins up a Playwright-backed browser server and keeps named pages (
"login","checkout") alive between script runs, so state survives across steps. - Enforces an incremental loop: write one small script, run it, inspect the logged state, then decide the next action.
- Discovers unknown UIs with
getAISnapshot()(a YAML accessibility tree) and interacts via[ref=eN]handles throughselectSnapshotRef(). - Ships patterns for screenshots (including full page), load waiting helpers, post-failure debugging, and large-scale scraping by intercepting/replaying network requests.
- Two modes: launch a fresh Chromium, or attach to the user's already-authenticated Chrome via a relay extension.
Who it's for
- Anyone automating repetitive web chores: downloading reports, submitting forms, checking prices or stock.
- Developers who want real-browser click-through testing and visual screenshots of a local app.
- Data/marketing folks who need to extract records from sites behind a login.
Examples
- "Open this URL, fill the login form, screenshot the dashboard" → creates a
loginpage, submits, savestmp/screenshot.png. - "I don't know the layout — click the 'new' link" → dump the ARIA snapshot, then click
selectSnapshotRef("...", "e2"). - "Scrape 5,000 product rows" → capture the site's internal API call, learn the schema, and replay paginated requests instead of scrolling the DOM.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/HEAD/packages/omo-opencode/src/features/builtin-skills/dev-browser/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the packages/omo-opencode/src/features/builtin-skills/dev-browser folder from the GitHub repo code-yeongyu/oh-my-openagent into my ~/.claude/skills/dev-browser/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/code-yeongyu/oh-my-openagent.git /tmp/omo && mkdir -p ~/.claude/skills && cp -r /tmp/omo/packages/omo-opencode/src/features/builtin-skills/dev-browser ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Confirm Node.js (LTS) and npm are installed:
node -v - Clone the repo:
git clone https://github.com/code-yeongyu/oh-my-openagent.git - Copy the skill folder:
mkdir -p ~/.claude/skills && cp -r oh-my-openagent/packages/omo-opencode/src/features/builtin-skills/dev-browser ~/.claude/skills/ - Install dependencies:
cd ~/.claude/skills/dev-browser && npm i(addnpx playwright install chromiumif needed) - Read the bundled
references/installation.mdfor OS-specific setup, especially on Windows. - Start standalone mode:
./server.sh &and wait for theReadyline before issuing tasks. - Restart Claude Code and test with something like "go to example.com and tell me the page title".
- To drive your own logged-in Chrome, run
npm run start-extension &, then install/activate the extension from the releases page and wait forExtension connected.
View source on GitHub ↗License: NOASSERTION