dev-browser

A browser-automation toolkit that controls a Chromium web browser while keeping the page state between actions.

In plain words
What is it for?
Use it to open sites, discover page elements, click and fill controls, extract information, take screenshots, and automate browser-based tests.
Why use it?
It avoids relying on guessed page layouts when navigating websites, filling forms, collecting data, or testing web apps.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/jtsang4/efficient-coding/dev-browser
Any agent
npx skills add jtsang4/efficient-coding --skill dev-browser
Clone the repo
git clone --depth 1 https://github.com/jtsang4/efficient-coding

Made for: Claude Code, Codex.

Per session 84 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,192 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00084 $0.03192
Opus 5 $0.00042 $0.01596
Sonnet 5 $0.00017 $0.00638
Haiku 4.5 $0.00008 $0.00319

Measured yesterday against content hash 0c9e49f3f605, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

dev-browser scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

The scan reads SKILL.md. This mod also ships 13 executable files (scripts/start-relay.ts, scripts/start-server.ts, server.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/dev-browser/SKILL.md · 426 lines

How it starts

The opening of the file, as written. The whole thing — 426 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Dev Browser Skill

Browser automation that maintains page state across script executions. Write small, focused scripts to accomplish tasks incrementally. Once you've proven out part of a workflow and there is repeated work to be done, you can write a script to do the repeated work in a single execution.

Choosing Your Approach

  • Local/source-available sites: Read the source code first to write selectors directly
  • Unknown page layouts: Use getAISnapshot() to discover elements and selectSnapshotRef() to interact with them
  • Visual feedback: Take screenshots to see what the user sees

Setup

Two modes available. Ask the user if unclear which to use.

Standalone Mode (Default)

Launches a new Chromium browser for fresh automation sessions.

./skills/dev-browser/server.sh &

Options:

  • --headless - Run in headless mode (no visible browser window)
  • --stealth - Enable anti-detection mode (default: ON)
  • --no-stealth - Disable stealth mode (use plain browser)
  • --driver [playwright|patchright|auto] - Choose browser driver (default: auto)
    • auto - Auto-install and use patchright, fallback to playwright with patches
    • patchright - Force use of patchright
    • playwright - Use standard playwright
  • --no-flaresolverr - Disable FlareSolverr auto-start (default: enabled if Docker available)
  • --stop - Stop all dev-browser services and cleanup
  • --help - Show help message

Wait for the Ready message before running scripts.

By default, the server automatically:

  1. Installs Patchright (if not present) for stealth automation
  2. Enables stealth mode with browser args and runtime patches
  3. Starts FlareSolverr Docker container for Cloudflare bypass (requires Docker)

To disable automatic features:

# Disable stealth entirely
./skills/dev-browser/server.sh --no-stealth &

# Disable FlareSolverr auto-start
./skills/dev-browser/server.sh --no-flaresolverr &

# Use plain Playwright without anti-detection
./skills/dev-browser/server.sh --no-stealth --driver playwright &

Read the full file on GitHub · 426 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 426 lines · 84 tokens per session scan A 0c9e49f3f605

Subscribe to this mod's changes

dev-browser is a skill published in the GitHub repository jtsang4/efficient-coding (2 stars, last pushed 6d ago), licensed MIT. It adds 84 tokens to every session and 3,192 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

qa-testing

Verify your work by actually operating the app or website you changed, instead of assuming it works. Strongly recommended whenever you build, modify, or debug a web app, website, or desktop GUI app. Drive real browsers with the agent-browser CLI and native desktop apps with the cua-driver CLI. These are installed on…

openinterpreter/openinterpreter · 77 tokens

webapp-testing

Start/reuse a local app, wait for readiness, inspect rendered state/console/network, act from observed selectors, and verify with evidence.

Hmbown/CodeWhale · 32 tokens

webbrowser

Use the native webbrowser module for web search, browsing, authenticated website interaction, forms, file uploads and downloads, screenshots, and user handoff.

aduermael/herm · 33 tokens

package-release

Prepare, publish, repair, or verify package releases and changelogs. Always use for package/version release, publish, ship, tag, changelog, release notes, registry publication, documentation publication, or GitHub Release work. Distinguish package releases from application deployments before acting.

dannote/dot-pi · 60 tokens

session-reflect

Analyze a user's pi coding-agent session history for recurring behavior, prompting habits, workflow loops, friction, and preferences. Use when the user asks to inspect or reflect on pi sessions, common behavior patterns, agent/user interaction style, prompting habits, or personal pi workflow quality.

dannote/dot-pi · 58 tokens

twitter-thread-style

Write or revise X/Twitter developer announcement threads in the user's preferred style. Use for technical launch threads, project announcements, release threads, and threads with code screenshots/snippets.

dannote/dot-pi · 39 tokens