Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

Dev Browser — Persistent-State Browser Automation

Automate web navigation, form filling, screenshots and scraping through small scripts that share persistent browser page state.

Dev & CodingIntermediate67,5315,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 through selectSnapshotRef().
  • 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

  1. "Open this URL, fill the login form, screenshot the dashboard" → creates a login page, submits, saves tmp/screenshot.png.
  2. "I don't know the layout — click the 'new' link" → dump the ARIA snapshot, then click selectSnapshotRef("...", "e2").
  3. "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)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download 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.

  1. Confirm Node.js (LTS) and npm are installed: node -v
  2. Clone the repo: git clone https://github.com/code-yeongyu/oh-my-openagent.git
  3. Copy the skill folder: mkdir -p ~/.claude/skills && cp -r oh-my-openagent/packages/omo-opencode/src/features/builtin-skills/dev-browser ~/.claude/skills/
  4. Install dependencies: cd ~/.claude/skills/dev-browser && npm i (add npx playwright install chromium if needed)
  5. Read the bundled references/installation.md for OS-specific setup, especially on Windows.
  6. Start standalone mode: ./server.sh & and wait for the Ready line before issuing tasks.
  7. Restart Claude Code and test with something like "go to example.com and tell me the page title".
  8. To drive your own logged-in Chrome, run npm run start-extension &, then install/activate the extension from the releases page and wait for Extension connected.
View source on GitHubLicense: NOASSERTION