SawyerHood/dev-browser

A Claude Skill to give your agent the ability to use a web browser

What it solves

dev-browser provides a way for AI coding agents to interact with a web browser without the overhead of restarting the browser session for every single action. It allows agents to maintain state (like login sessions or navigation history) across multiple script calls, enabling a more efficient "look $\rightarrow$ act $\rightarrow$ verify" workflow.

How it works

The tool operates as a daemon that manages a Chrome instance. Coding agents can send short JavaScript scripts to this daemon using a CLI or MCP (Model Context Protocol) server. These scripts use a modified Puppeteer API to control the browser.

Key technical mechanisms include:

  • Persistent Pages: Named tabs that keep their state between different script executions.
  • Accessibility Tree Snapshots: Instead of raw HTML, it provides compact accessibility trees that are easier for LLMs to read and contain stable element references (e.g., e12).
  • Flexible Connection: It can launch its own isolated Chrome profile or attach to a browser already open on the user's machine.
  • Execution Context: Each script runs in a fresh node:vm context to keep globals separate.

Who it’s for

It is designed for developers building AI agents (specifically coding agents) that need to automate browser tasks, inspect web pages, and verify the results of their actions in real-time.

Highlights

  • Stateful Sessions: Maintains browser state across multiple calls via named tabs.
  • AI-Optimized Output: Uses accessibility trees for compact, readable page snapshots.
  • Puppeteer Integration: Leverages the real Puppeteer Page API with added helpers for AI agents.
  • Browser Attachment: Ability to connect to an existing Chrome instance via CDP (Chrome DevTools Protocol).
  • MCP Support: Includes a built-in MCP server for seamless integration with tools like Claude.

Related

  • Project
  • Project
  • Project
  • Project