Agent Browser Clawdbot 20260401

Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 12 · 0 current installs · 0 all-time installs
fork of @matrixy/agent-browser-clawdbot (based on 0.1.0)
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The SKILL.md describes a headless browser automation CLI (agent-browser) and the commands match that purpose. However there are minor packaging/metadata inconsistencies: the skill registry metadata lists no required binaries/env but SKILL.md metadata declares requires.commands ["agent-browser"]; _meta.json has a different ownerId, slug, and version than the registry metadata. These are likely sloppy packaging issues rather than clear misdirection, but they reduce confidence in provenance.
Instruction Scope
The instructions are narrowly scoped to running the agent-browser CLI (navigation, snapshots, interactions, sessions, save/load state, routing). They do instruct saving/loading state files (cookies/storage) and using network routing/mocking — both legitimate for a browser automation tool but capable of capturing or altering sensitive data from pages visited. The SKILL.md also mentions an env var (AGENT_BROWSER_SESSION) not declared in registry metadata.
Install Mechanism
There is no install spec in the package (instruction-only). SKILL.md tells users to install via npm (npm install -g agent-browser) and to run agent-browser install which will download Chromium. Those are normal for this tool but involve fetching code/binaries from external sources (npm registry and browser binaries). Because installation happens outside the skill bundle, verify the upstream package and binary sources before running installs.
Credentials
The skill declares no required environment variables, which aligns with the registry metadata, but SKILL.md references AGENT_BROWSER_SESSION for sessions and uses disk-backed state files (auth.json) to persist cookies/session storage. Persisting auth state or using session env vars can expose credentials or session tokens if mishandled. No unrelated secrets or extra credentials are requested by the skill itself.
Persistence & Privilege
always is false and the skill does not request persistent platform privileges. It instructs saving/loading local state files (cookies/storage) which is normal behavior for a browser automation tool and does not alter other skills or system-wide agent configs.
Assessment
This skill appears to be what it claims (a CLI for headless browser automation), but take these precautions before installing or running it: - Verify provenance: double-check the npm package name and the GitHub repository (https://github.com/vercel-labs/agent-browser) and confirm the maintainer identity; metadata mismatches in the package suggest sloppy publishing. - Understand external installs: npm install -g agent-browser and agent-browser install will download code and a Chromium binary from external sources — only run these if you trust those sources and your environment. - Treat saved state carefully: state save/load (auth.json) stores cookies/storage that can contain session tokens. Don’t save or share these files from sensitive accounts and keep them on secure storage. - Watch snapshots and get commands: snapshots and get text/html/attr will capture page content (potentially sensitive). Avoid running the tool against sites where you wouldn’t want the agent to capture data. - Network routing is powerful: network route and request mocking can intercept or modify requests; use only in controlled testing contexts. - If you need stricter auditing, prefer the built-in browser tool for visual/debugging workflows, and consider running agent-browser in an isolated environment (container or VM) and validating the binaries it downloads. If you want higher assurance, ask the publisher for a signed release or source tarball and verify checksums before installing.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk97d5myr5d799ra4hs88vhxwr583znck

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🌐 Clawdis

SKILL.md

Agent Browser Skill

Fast browser automation using accessibility tree snapshots with refs for deterministic element selection.

Why Use This Over Built-in Browser Tool

Use agent-browser when:

  • Automating multi-step workflows
  • Need deterministic element selection
  • Performance is critical
  • Working with complex SPAs
  • Need session isolation

Use built-in browser tool when:

  • Need screenshots/PDFs for analysis
  • Visual inspection required
  • Browser extension integration needed

Core Workflow

# 1. Navigate and snapshot
agent-browser open https://example.com
agent-browser snapshot -i --json

# 2. Parse refs from JSON, then interact
agent-browser click @e2
agent-browser fill @e3 "text"

# 3. Re-snapshot after page changes
agent-browser snapshot -i --json

Key Commands

Navigation

agent-browser open <url>
agent-browser back | forward | reload | close

Snapshot (Always use -i --json)

agent-browser snapshot -i --json          # Interactive elements, JSON output
agent-browser snapshot -i -c -d 5 --json  # + compact, depth limit
agent-browser snapshot -s "#main" -i      # Scope to selector

Interactions (Ref-based)

agent-browser click @e2
agent-browser fill @e3 "text"
agent-browser type @e3 "text"
agent-browser hover @e4
agent-browser check @e5 | uncheck @e5
agent-browser select @e6 "value"
agent-browser press "Enter"
agent-browser scroll down 500
agent-browser drag @e7 @e8

Get Information

agent-browser get text @e1 --json
agent-browser get html @e2 --json
agent-browser get value @e3 --json
agent-browser get attr @e4 "href" --json
agent-browser get title --json
agent-browser get url --json
agent-browser get count ".item" --json

Check State

agent-browser is visible @e2 --json
agent-browser is enabled @e3 --json
agent-browser is checked @e4 --json

Wait

agent-browser wait @e2                    # Wait for element
agent-browser wait 1000                   # Wait ms
agent-browser wait --text "Welcome"       # Wait for text
agent-browser wait --url "**/dashboard"   # Wait for URL
agent-browser wait --load networkidle     # Wait for network
agent-browser wait --fn "window.ready === true"

Sessions (Isolated Browsers)

agent-browser --session admin open site.com
agent-browser --session user open site.com
agent-browser session list
# Or via env: AGENT_BROWSER_SESSION=admin agent-browser ...

State Persistence

agent-browser state save auth.json        # Save cookies/storage
agent-browser state load auth.json        # Load (skip login)

Screenshots & PDFs

agent-browser screenshot page.png
agent-browser screenshot --full page.png
agent-browser pdf page.pdf

Network Control

agent-browser network route "**/ads/*" --abort           # Block
agent-browser network route "**/api/*" --body '{"x":1}'  # Mock
agent-browser network requests --filter api              # View

Cookies & Storage

agent-browser cookies                     # Get all
agent-browser cookies set name value
agent-browser storage local key           # Get localStorage
agent-browser storage local set key val

Tabs & Frames

agent-browser tab new https://example.com
agent-browser tab 2                       # Switch to tab
agent-browser frame @e5                   # Switch to iframe
agent-browser frame main                  # Back to main

Snapshot Output Format

{
  "success": true,
  "data": {
    "snapshot": "...",
    "refs": {
      "e1": {"role": "heading", "name": "Example Domain"},
      "e2": {"role": "button", "name": "Submit"},
      "e3": {"role": "textbox", "name": "Email"}
    }
  }
}

Best Practices

  1. Always use -i flag - Focus on interactive elements
  2. Always use --json - Easier to parse
  3. Wait for stability - agent-browser wait --load networkidle
  4. Save auth state - Skip login flows with state save/load
  5. Use sessions - Isolate different browser contexts
  6. Use --headed for debugging - See what's happening

Example: Search and Extract

agent-browser open https://www.google.com
agent-browser snapshot -i --json
# AI identifies search box @e1
agent-browser fill @e1 "AI agents"
agent-browser press Enter
agent-browser wait --load networkidle
agent-browser snapshot -i --json
# AI identifies result refs
agent-browser get text @e3 --json
agent-browser get attr @e4 "href" --json

Example: Multi-Session Testing

# Admin session
agent-browser --session admin open app.com
agent-browser --session admin state load admin-auth.json
agent-browser --session admin snapshot -i --json

# User session (simultaneous)
agent-browser --session user open app.com
agent-browser --session user state load user-auth.json
agent-browser --session user snapshot -i --json

Installation

npm install -g agent-browser
agent-browser install                     # Download Chromium
agent-browser install --with-deps         # Linux: + system deps

Credits

Skill created by Yossi Elkrief (@MaTriXy)

agent-browser CLI by Vercel Labs

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…