← Back to Skills Marketplace
handy01

Handy01 Agent Browser

by handy01 · GitHub ↗ · v0.1.2 · MIT-0
cross-platform ✓ Security Clean
121
Downloads
0
Stars
1
Active Installs
2
Versions
Install in OpenClaw
/install handy01-agent-browser
Description
Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
README (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 \x3Curl>
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

Usage Guidance
This instruction-only skill appears to do what it says: automate browsers via the 'agent-browser' CLI. Before using: (1) Confirm you or your platform install the official 'agent-browser' package (npm and GitHub repo) — the skill does not auto-install it. (2) Be cautious with state files (auth.json) because they can contain session cookies and tokens; don't load state from untrusted sources. (3) Network routing and request inspection features can expose or modify web traffic — only use against sites you trust and for which you have permission. (4) If you need higher assurance, verify the upstream project repository and release artifacts referenced in SKILL.md (the GitHub homepage) before installing.
Capability Analysis
Type: OpenClaw Skill Name: handy01-agent-browser Version: 0.1.2 The skill bundle provides documentation and usage examples for the 'agent-browser' CLI tool, a legitimate headless browser automation utility developed by Vercel Labs. The instructions in SKILL.md are focused on standard automation tasks such as navigation, element interaction, and session management, with no evidence of malicious intent, data exfiltration, or prompt injection attacks.
Capability Assessment
Purpose & Capability
SKILL.md describes a headless browser CLI (agent-browser) and includes commands for navigation, snapshots, network routing, and state save/load — all coherent with the stated purpose. However, the skill registry metadata lists no required binaries while the SKILL.md metadata and instructions explicitly require the 'agent-browser' command and recommend 'npm install -g agent-browser'. This is a mismatch: the CLI is required for the skill to work but the package/binary is not declared in registry requirements/install spec.
Instruction Scope
The runtime instructions focus on browser automation (open, snapshot, click, fill, network routing, session/state management). They do instruct reading/writing state files (e.g., auth.json) and using network routing/mocking — functionality that can handle sensitive tokens/cookies but is within the normal scope for a browser automation tool. The instructions do not direct the agent to read unrelated system files or external endpoints beyond interacting with target web pages.
Install Mechanism
There is no formal install spec in the skill bundle; it's instruction-only. SKILL.md advises 'npm install -g agent-browser' and a subsequent 'agent-browser install' to download Chromium. Because there is no install spec, the platform won't automatically install the binary; the operator must install the CLI themselves. Verify the npm package and Chromium download come from the official repository before installing.
Credentials
The skill declares no required environment variables or credentials. The docs show an example AGENT_BROWSER_SESSION env var and describe saving/loading state (cookies/storage) to files. While those are appropriate for session isolation and skipping logins, saved state files can contain sensitive cookies/tokens — users should avoid loading untrusted auth files and be mindful where state files are stored.
Persistence & Privilege
The skill is not marked 'always' and does not request persistent platform-wide privileges. It does instruct saving/loading its own state files (auth.json) which is normal for a browser automation CLI and does not indicate modification of other skills or system-wide settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install handy01-agent-browser
  3. After installation, invoke the skill by name or use /handy01-agent-browser
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.2
- Internal metadata file updated (_meta.json). - No user-facing changes to documentation or feature set.
v0.1.1
Update
Metadata
Slug handy01-agent-browser
Version 0.1.2
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 2
Frequently Asked Questions

What is Handy01 Agent Browser?

Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection. It is an AI Agent Skill for Claude Code / OpenClaw, with 121 downloads so far.

How do I install Handy01 Agent Browser?

Run "/install handy01-agent-browser" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Handy01 Agent Browser free?

Yes, Handy01 Agent Browser is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Handy01 Agent Browser support?

Handy01 Agent Browser is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Handy01 Agent Browser?

It is built and maintained by handy01 (@handy01); the current version is v0.1.2.

💬 Comments