skillpack.co
All skills

Vercel Agent Browser

active

Token-efficient browser automation CLI for AI agents. Rust core with sub-50ms boot. Claims 93% context reduction vs Playwright MCP through ref-based element selection on accessibility snapshots.

Connector
Atomic
Complexity
browserweb

80/100

Trust

24K+

Stars

4

Evidence

14.9 MB

Repo size

Videos

Reviews, tutorials, and comparisons from the community.

Your AI Coding Workflow NEEDS This New Agent Browser CLI

Cole Medin·2026-01-19

Vercel Agent Browser + Claude Code: This IS THE BEST TOOL & SKILL I'VE USED YET!

AICodeKing·2026-01-19

AI Just Got Hands! (Vercel Agent Browser)

RuralBytesTamil·2026-01-19

Repo health

80/100

15h ago

Last push

300

Open issues

1,387

Forks

86

Contributors

Editorial verdict

Best pick when token efficiency is the primary constraint — long autonomous sessions, cost-sensitive deployments, or agents hitting context limits.

Public evidence

How does this compare?

See side-by-side metrics against other skills in the same category.

COMPARE SKILLS →

Where it wins

93% context reduction vs Playwright MCP — verified by multiple independent sources

Rust core with sub-50ms boot time

50+ commands covering navigation, interaction, extraction

Works with Claude Code, Codex, Cursor, Gemini CLI, Copilot

Where to be skeptical

Very young project — 2 months old (created 2026-01-11)

Vercel Labs, not Vercel core — support commitment uncertain

No deep debugging capabilities (use Chrome DevTools MCP for that)

Does not work reliably against Cloudflare-protected sites

Ranking in categories

Know a better alternative?

Submit evidence and we'll run the full pipeline.

SUBMIT →

Similar skills

Raw GitHub source

GitHub README peek

Constrained peek so you can sanity-check the source material without leaving the site.

agent-browser

Headless browser automation CLI for AI agents. Fast native Rust CLI.

Installation

Global Installation (recommended)

Installs the native Rust binary:

npm install -g agent-browser
agent-browser install  # Download Chrome from Chrome for Testing (first time only)
Project Installation (local dependency)

For projects that want to pin the version in package.json:

npm install agent-browser
agent-browser install

Then use via package.json scripts or by invoking agent-browser directly.

Homebrew (macOS)
brew install agent-browser
agent-browser install  # Download Chrome from Chrome for Testing (first time only)
Cargo (Rust)
cargo install agent-browser
agent-browser install  # Download Chrome from Chrome for Testing (first time only)
From Source
git clone https://github.com/vercel-labs/agent-browser
cd agent-browser
pnpm install
pnpm build
pnpm build:native   # Requires Rust (https://rustup.rs)
pnpm link --global  # Makes agent-browser available globally
agent-browser install
Linux Dependencies

On Linux, install system dependencies:

agent-browser install --with-deps
Updating

Upgrade to the latest version:

agent-browser upgrade

Detects your installation method (npm, Homebrew, or Cargo) and runs the appropriate update command automatically.

Requirements
  • Chrome - Run agent-browser install to download Chrome from Chrome for Testing (Google's official automation channel). No Playwright or Node.js required for the daemon.
  • Rust - Only needed when building from source (see From Source above).

Quick Start

agent-browser open example.com
agent-browser snapshot                    # Get accessibility tree with refs
agent-browser click @e2                   # Click by ref from snapshot
agent-browser fill @e3 "test@example.com" # Fill by ref
agent-browser get text @e1                # Get text by ref
agent-browser screenshot page.png
agent-browser close
Traditional Selectors (also supported)
agent-browser click "#submit"
agent-browser fill "#email" "test@example.com"
agent-browser find role button click --name "Submit"

Commands

Core Commands
agent-browser open <url>              # Navigate to URL (aliases: goto, navigate)
agent-browser click <sel>             # Click element (--new-tab to open in new tab)
agent-browser dblclick <sel>          # Double-click element
agent-browser focus <sel>             # Focus element
agent-browser type <sel> <text>       # Type into element
agent-browser fill <sel> <text>       # Clear and fill
agent-browser press <key>             # Press key (Enter, Tab, Control+a) (alias: key)
agent-browser keyboard type <text>    # Type with real keystrokes (no selector, current focus)
agent-browser keyboard inserttext <text>  # Insert text without key events (no selector)
agent-browser keydown <key>           # Hold key down
agent-browser keyup <key>             # Release key
agent-browser hover <sel>             # Hover element
agent-browser select <sel> <val>      # Select dropdown option
agent-browser check <sel>             # Check checkbox
agent-browser uncheck <sel>           # Uncheck checkbox
agent-browser scroll <dir> [px]       # Scroll (up/down/left/right, --selector <sel>)
agent-browser scrollintoview <sel>    # Scroll element into view (alias: scrollinto)
agent-browser drag <src> <tgt>        # Drag and drop
agent-browser upload <sel> <files>    # Upload files
agent-browser screenshot [path]       # Take screenshot (--full for full page, saves to a temporary directory if no path)
agent-browser screenshot --annotate   # Annotated screenshot with numbered element labels
agent-browser screenshot --screenshot-dir ./shots    # Save to custom directory
agent-browser screenshot --screenshot-format jpeg --screenshot-quality 80
agent-browser pdf <path>              # Save as PDF
agent-browser snapshot                # Accessibility tree with refs (best for AI)
agent-browser eval <js>               # Run JavaScript (-b for base64, --stdin for piped input)
agent-browser connect <port>          # Connect to browser via CDP
agent-browser close                   # Close browser (aliases: quit, exit)
Get Info
agent-browser get text <sel>          # Get text content
agent-browser get html <sel>          # Get innerHTML
agent-browser get value <sel>         # Get input value
agent-browser get attr <sel> <attr>   # Get attribute
agent-browser get title               # Get page title
agent-browser get url                 # Get current URL
agent-browser get cdp-url             # Get CDP WebSocket URL (for DevTools, debugging)
View on GitHub →