# Agent Browser

Use the agent-browser CLI to exercise web interfaces, inspect rendered accessibility...

- Repository: https://github.com/emdash-cms/emdash (14094 stars)
- Category: Design
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add emdash-cms/emdash --skill agent-browser -g -a claude-code -y`
Codex: `npx skills add emdash-cms/emdash --skill agent-browser -g -a codex -y`
Cursor: `npx skills add emdash-cms/emdash --skill agent-browser -g -a cursor -y`
Gemini CLI: `npx skills add emdash-cms/emdash --skill agent-browser -g -a gemini-cli -y`

## Description

Use the agent-browser CLI to exercise web interfaces, inspect rendered accessibility state, verify interactions, and capture screenshots. Use for browser-based UI testing and evidence collection. Do not use as a substitute for deterministic Playwright coverage when an automated regression test is the requested deliverable.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Test interfaces with agent-browser

Use the installed `agent-browser` CLI for rendered, user-facing verification. Load its version-matched instructions before relying on command syntax:

```bash
agent-browser skills get core --full
```

Use a specialized bundled guide when the target requires one. `agent-browser skills list` shows the available guides.

## Verification loop

1. Start or identify the target application and record the exact URL and viewport.
2. Open the page in a named session.
3. Take an accessibility snapshot and identify controls by role, label, or snapshot reference.
4. Perform the user action.
5. Wait for the resulting state, then take a fresh snapshot. References can become stale after navigation or a substantial DOM update.
6. Verify the observable result, console errors, and relevant network behavior.
7. Capture screenshots when visual evidence helps establish the result.

For EmDash admin testing, authenticate through the development bypass rather than attempting to automate passkeys:

```bash
agent-browser open 'http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin'
```

Use `auth/dev-bypass` instead when setup is already complete.

## Interaction guidance

- Prefer role and label locators when they express the user-facing control clearly. Use snapshot references for efficient exploration.
- Re-snapshot after a dialog opens, a route changes, or content is replaced.
- Wait for a selector or visible state instead of adding a fixed delay unless timing itself is under test.
- Use a named session for flows that depend on cookies or storage. Close sessions that are no longer needed.
- Check `agent-browser console` and `agent-browser errors` when the UI behaves unexpectedly.
- Use `agent-browser network requests` when the result depends on a request or response boundary.

## Evidence

The rest: https://github.com/emdash-cms/emdash/blob/HEAD/skills/agent-browser/SKILL.md
