with one click
agent-browser
Browser automation. NOT for plain HTTP fetches (use sh or py).
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Browser automation. NOT for plain HTTP fetches (use sh or py).
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Development wisdom and workflow rules. NOT for project-specific conventions (those live in CLAUDE.md, edit via wisdom).
The `BUGS.md` open-issues queue — entry format, lifecycle, pruning to diary. NOT for the record-don't-fix policy (that's CLAUDE.md Bug Triage Protocol), NOT for resolved-bug history (use /diary), NOT for feature backlog (use TODO.md/specs).
Terminal demo GIF + MP4 recordings for READMEs and social (asciinema + agg + ffmpeg). NOT for general Makefile targets (use software) or GUI screenshots (use visual).
Go development. NOT for non-Go code (use rs, py, ts, tsx, or sh).
Humanize text: strip AI-isms and add real voice. NOT for drafting new copy (use writing).
Python development. NOT for shell scripting (use sh) or non-Python code.
| name | agent-browser |
| description | Browser automation. NOT for plain HTTP fetches (use sh or py). |
| when_to_use | login flows, screenshots, filling forms, web app testing |
| allowed-tools | Bash(agent-browser:*) |
agent-browser open <url>agent-browser snapshot -i (interactive elements with refs like @e1)# Navigation
agent-browser open <url> | back | forward | reload | close
# Snapshot
agent-browser snapshot [-i interactive] [-c compact] [-d depth] [-s selector]
# Interact (use @refs from snapshot)
agent-browser click|dblclick|hover @e1
agent-browser fill @e2 "text" # Clear and type
agent-browser type @e2 "text" # Type without clearing
agent-browser press Enter
agent-browser check|uncheck @e1
agent-browser select @e1 "value"
agent-browser scroll down 500
agent-browser upload @e1 file.pdf
# Get info
agent-browser get text|html|value @e1
agent-browser get attr @e1 href
agent-browser get title|url
agent-browser get count ".item"
# Screenshot/PDF
agent-browser screenshot [path.png] [--full]
agent-browser pdf output.pdf
# Wait
agent-browser wait @e1 | 2000 | --text "Success" | --url "pattern" | --load networkidle
# Semantic locators (alternative to refs)
agent-browser find role button click --name "Submit"
agent-browser find text "Sign In" click
agent-browser find label "Email" fill "user@test.com"
# Auth state
agent-browser state save|load auth.json
# Storage
agent-browser cookies [set name value | clear]
agent-browser storage local [set k v]
agent-browser eval "document.title"
agent-browser wait --load networkidle (or wait --text/--url) BEFORE snapshot on dynamic pages; NEVER snapshot directly after open on SPAs — refs will be stalefind role --name, find text, find label over numbered @eN refs; @eN refs are valid only within one snapshot — NEVER reuse across navigationsagent-browser screenshot ./tmp/err.png --full before reporting an unexpected failureALWAYS use mouse for coordinate-based clicks. JS MouseEvent has
isTrusted=false and is blocked by security-conscious apps; mouse sends
real CDP input events with isTrusted=true.
agent-browser mouse move 930 120
agent-browser mouse down
agent-browser mouse up