← Back to Skills Marketplace
alexbingquanxu-cpu

Agent Browser Custom

by alexbingquanxu-cpu · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
120
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install agent-browser-custom
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 skill is internally consistent with a headless browser CLI. Before installing or running commands, ensure the agent-browser binary you use comes from a trusted source (verify the npm package and the GitHub repo), because the CLI will save and load local state files (cookies, auth.json) that can contain session tokens. If you allow an agent to run this autonomously, restrict its file system access to a safe directory and avoid loading state files that contain sensitive credentials. When installing, review npm package ownership and the upstream project's releases (Chromium will be downloaded by the CLI during setup).
Capability Analysis
Type: OpenClaw Skill Name: agent-browser-custom Version: 1.0.0 The skill bundle provides instructions for 'agent-browser', a CLI tool for headless browser automation. It includes high-risk capabilities such as accessing and saving browser cookies and local storage ('agent-browser cookies', 'agent-browser state save'), as well as intercepting network requests. While these features are consistent with the stated purpose of the tool and it references a legitimate repository (github.com/vercel-labs/agent-browser), the broad permissions for data extraction and session manipulation are inherently risky in an AI agent environment. No explicit malicious intent or prompt injection was detected in SKILL.md, though the publishedAt timestamp in _meta.json is set to a future date (May 2026).
Capability Assessment
Purpose & Capability
The name/description describe a headless browser CLI and the SKILL.md contains only commands, flags, and workflows for a CLI named agent-browser. There are no unrelated credential requests, binaries, or config paths.
Instruction Scope
Runtime instructions are limited to expected browser-automation actions (open, snapshot, click, fill, sessions, state save/load, network routing). Commands that read/write state files (state save/load, cookies, auth.json) are appropriate for session persistence; there are no instructions to read arbitrary system files, other skills' configs, or to transmit data to unexpected external endpoints.
Install Mechanism
This is an instruction-only skill with no install spec in the bundle. The SKILL.md suggests installing via npm (npm install -g agent-browser) which is consistent with a CLI; the skill itself does not attempt to download arbitrary artifacts or specify a custom install URL.
Credentials
No required env vars or credentials are declared. SKILL.md only mentions an optional AGENT_BROWSER_SESSION env var for selecting sessions, which is proportional to the functionality.
Persistence & Privilege
Skill does not set always: true and does not request system-wide configuration changes. It instructs saving/loading of auth state to local files (expected for browser automation) but does not claim elevated or persistent platform privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install agent-browser-custom
  3. After installation, invoke the skill by name or use /agent-browser-custom
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of agent-browser-local skill. - Headless browser automation CLI for AI agents, using accessibility tree snapshots and ref-based element selection. - Supports deterministic element targeting and complex multi-step workflows. - Features include interactive snapshots, session isolation, state persistence, and network control. - Provides detailed command examples for navigation, interaction, information retrieval, tab/frame handling, and storage. - Optimized for reliability, performance, and integration with agent workflows.
Metadata
Slug agent-browser-custom
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Agent Browser Custom?

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 120 downloads so far.

How do I install Agent Browser Custom?

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

Is Agent Browser Custom free?

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

Which platforms does Agent Browser Custom support?

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

Who created Agent Browser Custom?

It is built and maintained by alexbingquanxu-cpu (@alexbingquanxu-cpu); the current version is v1.0.0.

💬 Comments