| name | agent-browser |
| description | Browser automation via agent-browser CLI. Use when the user needs to navigate websites, fill forms, click buttons, take screenshots, extract data, or test web apps. |
| metadata | {"nanobot":{"emoji":"🌐","requires":{"bins":["agent-browser"]},"install":[{"id":"npm","kind":"npm","package":"agent-browser","global":true,"bins":["agent-browser"],"label":"Install agent-browser (npm)"}]}} |
Agent Browser
CLI browser automation via Chrome/Chromium CDP. Install: npm i -g agent-browser && agent-browser install.
Before using this skill, verify the tool is available by running which agent-browser. If the command is not found, tell the user that browser automation requires the agent-browser CLI and Chromium, which are only available in the heavy container image. Do not attempt to install it at runtime.
Core Workflow
agent-browser open <url> — navigate
agent-browser snapshot -i — get interactive elements with refs (@e1, @e2, ...)
- Interact using refs —
click @e1, fill @e2 "text"
- Re-snapshot after any navigation or DOM change — refs are invalidated
agent-browser open https://example.com/form
agent-browser snapshot -i
agent-browser fill @e1 "user@example.com"
agent-browser fill @e2 "secret"
agent-browser click @e3
agent-browser wait --load networkidle
agent-browser snapshot -i
Chain commands with && when you don't need intermediate output:
agent-browser open https://example.com && agent-browser wait --load networkidle && agent-browser snapshot -i
Commands
agent-browser open <url>
agent-browser close
agent-browser snapshot -i
agent-browser snapshot -s "#selector"
agent-browser click @e1
agent-browser fill @e2 "text"
agent-browser type @e2 "text"
agent-browser select @e1 "option"
agent-browser check @e1
agent-browser press Enter
agent-browser scroll down 500
agent-browser get text @e1
agent-browser get url
agent-browser get title
agent-browser wait @e1
agent-browser wait --load networkidle
agent-browser wait --url "**/dashboard"
agent-browser wait --text "Welcome"
agent-browser wait 2000
agent-browser screenshot
agent-browser screenshot --full
agent-browser screenshot --annotate
agent-browser pdf output.pdf
agent-browser find text "Sign In" click
agent-browser find label "Email" fill "user@test.com"
agent-browser find role button click --name "Submit"
Authentication
agent-browser --auto-connect state save ./auth.json
agent-browser --state ./auth.json open https://app.example.com
agent-browser --profile ~/.myapp open https://app.example.com/login
agent-browser --session-name myapp open https://app.example.com/login
agent-browser state save auth.json
agent-browser state load auth.json
Iframes
Iframe content is inlined in snapshots. Interact with iframe refs directly — no frame switch needed.
Parallel Sessions
agent-browser --session s1 open https://site-a.com
agent-browser --session s2 open https://site-b.com
agent-browser session list
JavaScript Eval
agent-browser eval 'document.title'
agent-browser eval --stdin <<'EVALEOF'
JSON.stringify(Array.from(document.querySelectorAll("a")).map(a => a.href))
EVALEOF
Cleanup
Always close sessions when done:
agent-browser close
agent-browser --session s1 close