Sign In
Share:

Vercel Labs' agent-browser skill: a native Rust CLI that lets AI agents drive Chrome via CDP with accessibility snapshots and @eN element refs.

Security Reviewed

Stub skill with no bundled scripts, but it hands the agent full control of Chrome through a native CLI that npm downloads in a postinstall step; safety guards are opt-in.

Install Agent Browser in Google Antigravity

Antigravity loads skills from .agents/skills/ in your project or ~/.gemini/config/skills/ for all projects (official docs). Full guide

EasiestOption 1: paste this to your Antigravity agent
Install the "Agent Browser" skill for Google Antigravity.
Follow the steps at https://www.antigravityskills.org/install/agent-browser.md (source: https://github.com/vercel-labs/agent-browser/tree/main/skills/agent-browser).
Before running anything, show me what you will download and whether it includes scripts, and wait for my OK.
Install it into this project (.agents/skills/) unless I say global. When done, check that Antigravity lists it as an installed skill.

The agent reads the install file, shows you what it will download and waits for your OK.

Option 2: install it yourself
  1. 1. Install the CLI and Chrome for Testing
    npm install -g agent-browser && agent-browser install

    The npm postinstall script downloads the native binary for your platform from the project's GitHub release. agent-browser install then downloads Chrome for Testing (skip it if you already have Chrome; it is detected). Homebrew (brew install agent-browser) and Cargo are also documented.

  2. 2. Download the repository
    git clone --depth 1 https://github.com/vercel-labs/agent-browser /tmp/agent-browser-src && git -C /tmp/agent-browser-src log -1 --format=%h

    We reviewed commit 1165952. The README warns not to copy SKILL.md from node_modules because it goes stale, so copy it from the repository.

  3. 3. Copy the skill into this project (workspace skill)
    mkdir -p .agents/skills && cp -r /tmp/agent-browser-src/skills/agent-browser .agents/skills/

    Run from your project root. Only the stub is copied; the full guides come from the CLI at run time.

  4. 4. Or install it for all projects (global skill)
    mkdir -p ~/.gemini/config/skills && cp -r /tmp/agent-browser-src/skills/agent-browser ~/.gemini/config/skills/

    Use this instead of the previous step. For the Antigravity CLI the global folder is ~/.gemini/antigravity-cli/skills/.

  5. 5. Check that the CLI and Antigravity see it
    agent-browser skills list

    This should list core and the specialized guides. Then: Antigravity 2.0 app: start a new conversation and ask "What skills do you have?" (the app has no /skills command). Antigravity CLI: run /skills; in a session that was already open, run /skills reload first. The skill is listed as agent-browser.

The README does not mention Antigravity. Alternative: the README documents agent-browser mcp as a stdio MCP server; in Antigravity you would add it to ~/.gemini/config/mcp_config.json as "agent-browser": {"command": "agent-browser", "args": ["mcp"]} (the README documents the command, not this Antigravity config).

Using Claude Code, Cursor or Codex? See other assistants below.

What is Agent Browser?

For developers who want their agent to click through a web app, fill forms, take screenshots or test a login flow in a real Chrome, using short element references instead of raw HTML. agent-browser is a Rust command-line tool from Vercel Labs; the skill only teaches the agent to use it. The installable skill is a deliberately tiny stub: it tells the agent to load the real, version-matched guide from the CLI with agent-browser skills get core. What we counted at commit 1165952 (2026-10-13): the stub skills/agent-browser/SKILL.md is 52 lines / 3,457 bytes; the guides the CLI serves live in skill-data/: 9 skills, 26 files, 217,083 bytes, 1,912 SKILL.md lines, of which core is 582 lines plus 10 reference files and 3 shell templates. The stub lists 7 specialized skills, but skill-data has 8 besides core: webmcp-gen is not in the stub. npm package version 0.39.1. The CLI also has its own MCP server (agent-browser mcp) with 8 tool profiles, so you can use it as an MCP server instead of a skill.

How to use Agent Browser?

Install the CLI and Chrome for Testing, copy the stub into Antigravity's skills folder, then ask your agent to open a site, fill a form, take a screenshot or test a flow. The agent runs agent-browser skills get core first, then a loop such as agent-browser open <url>, agent-browser snapshot -i (elements get refs like @e3), agent-browser click @e3, and a fresh snapshot after each page change. The core guide asks agents to set a named session (AGENT_BROWSER_SESSION) because the default session is one browser shared by every agent on the machine.

Key features of Agent Browser

  • ✓Accessibility-tree snapshots with compact @eN element refs instead of raw HTML
  • ✓Chrome/Chromium via CDP with no Playwright or Puppeteer dependency
  • ✓Version-matched guides served by the CLI (agent-browser skills get core, --full for references and templates)
  • ✓8 specialized guides: Electron apps, Slack, dogfood QA, derive-client (HAR to API client), Vercel Sandbox, protected Vercel deployments, AWS Bedrock AgentCore, webmcp-gen
  • ✓Sessions, an encrypted local auth vault, state persistence, video recording, an observability dashboard on port 4848
  • ✓Opt-in guards: --allowed-domains, --action-policy, --confirm-actions, --content-boundaries, --max-output
  • ✓Built-in MCP server over stdio (agent-browser mcp, profiles core, network, state, debug, tabs, react, mobile, all)

When to use Agent Browser

  1. 1Testing a login flow or web app end to end from an AI coding agent
  2. 2Filling forms and extracting data from websites
  3. 3Taking screenshots of pages for review
  4. 4Exploratory QA and bug hunts (dogfood guide)
  5. 5Automating Electron desktop apps such as VS Code or Slack

Installation & Setup Guide

Agent Rules / Prompt Setup

Follow these steps (taken from the project's own docs) to configure Agent Browser in your development environment.

Step 1: Install the CLI (README)all
npm install -g agent-browser && agent-browser install

Installs the native binary and downloads Chrome for Testing (first time only).

Step 2: Claude Code: add the skill (README)claude
npx skills add vercel-labs/agent-browser

Per the README this adds the stub at .claude/skills/agent-browser/SKILL.md.

Step 3: Cursor: same command (README)cursor
npx skills add vercel-labs/agent-browser

The README says this command works with Cursor but does not name the folder it writes to.

Usage Example & Verification

Prompt / Request Example
1) README example (Quick Start, as commands the agent runs): agent-browser open example.com, agent-browser snapshot, agent-browser click @e2, agent-browser fill @e3 "test@example.com", agent-browser screenshot page.png, agent-browser close
-> What happens: each command prints a short result; snapshot returns the accessibility tree with refs, and the click and fill commands act on those refs. If a banner covers the target, the click fails early and names the covering element.

2) Our example: "Use agent-browser to test the sign-up form on http://localhost:3000 and take a screenshot of the result."
-> What should happen: the agent loads the core guide, opens the page in a named session, snapshots, fills the fields by ref, submits, re-snapshots and saves a screenshot file in your project.

3) Our example: "Use agent-browser's dogfood skill to look for bugs on our staging site, only on staging.example.com."
-> What should happen: the agent runs agent-browser skills get dogfood. Naming one domain is a good moment to ask for --allowed-domains staging.example.com, because the guards are off by default.

Security Review

Static review
Reviewed Date
2026-10-14
Audited Ref / Commit
1165952d74ceed98fdc2dd97190ad41f44dd0e24
Reviewer
antigravityskills.org (static code review)

Stub skill with no bundled scripts, but it hands the agent full control of Chrome through a native CLI that npm downloads in a postinstall step; safety guards are opt-in.

Full review: scope, findings, risks
Audit Scope:Static review of vercel-labs/agent-browser at commit 1165952 (2026-10-13, HEAD on 2026-10-14): skills/agent-browser/SKILL.md in full; skill-data/ file list and line counts, skill-data/core/SKILL.md sessions and MCP sections; package.json; scripts/postinstall.js in full; README.md sections Installation, Requirements, Skills, MCP Server, Security, AI Chat, AI Coding Assistants. Diff against our earlier review at f7c8b07: 3 files changed in skill-data/core/references. The Rust source in cli/ was searched for telemetry only, not reviewed.
Key Findings:The stub contains no code; frontmatter restricts tools to Bash(agent-browser:*) and Bash(npx agent-browser:*). Real instructions come from the CLI at run time (skill-data/ in the package). npm install runs scripts/postinstall.js, which downloads agent-browser-<platform> from github.com/vercel-labs/agent-browser/releases/download/v0.39.1/, makes it executable and, on global installs, repoints npm's bin link to the binary (we found no checksum verification). The core guide documents agent-browser eval (JavaScript in the page) and an auth vault whose key is auto-created at ~/.agent-browser/.encryption-key. A grep of cli/src found no telemetry code.
Identified Operational Risks & Permissions:Full browser control including JavaScript evaluation, cookies and stored logins; guards are opt-in; the default session is shared across agents; the binary is downloaded at install time without integrity checking; the stub tells the agent to prefer agent-browser over built-in browser tools.

Static review at commit 1165952. skills/agent-browser/SKILL.md (52 lines) contains no code; allowed-tools limits the agent to Bash(agent-browser:*) and Bash(npx agent-browser:*), and the description asks the agent to prefer agent-browser over built-in browser tools. It points to agent-browser skills get core, whose source is skill-data/core/SKILL.md (582 lines, 10 references, 3 shell templates). That guide documents agent-browser eval for running JavaScript in pages and agent-browser auth save / auth login with a local encrypted vault (key auto-generated at ~/.agent-browser/.encryption-key unless AGENT_BROWSER_ENCRYPTION_KEY is set), and warns that the default unnamed session is a single browser shared by every agent on the machine. package.json (version 0.39.1) runs node scripts/postinstall.js on install; the script downloads the platform binary from the GitHub release for that version over HTTPS, chmods it and replaces npm's global symlink or Windows shims; we found no checksum or signature check. agent-browser install downloads Chrome for Testing. README.md lists opt-in protections: --allowed-domains (also blocks sub-resources and WebRTC), --action-policy, --confirm-actions, --content-boundaries and --max-output. The optional dashboard AI chat sends prompts to the Vercel AI Gateway with AI_GATEWAY_API_KEY. No API keys are required for local use, and a grep of cli/src found no telemetry.

Operational Notes & Known Limitations

Known Limitations

  • •Needs the agent-browser CLI (npm, Homebrew or Cargo) and a Chrome download via agent-browser install; without the CLI the stub gives the agent no real instructions
  • •package.json declares engines node >=24.0.0, while the README says Node 24+ is only needed to build from source
  • •On Linux, browser system libraries may be needed (agent-browser install --with-deps); iOS Simulator mode needs macOS with Xcode and Appium
  • •All security guards are opt-in; the default unnamed session is shared by every agent on the machine and persists across conversations (core guide)
  • •The stub's description tells the agent to prefer agent-browser over any built-in browser tool, which also applies inside Antigravity
  • •The README covers Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Goose, OpenCode and Windsurf; it does not mention Antigravity
  • •Difference from playwright-cli and browser-use on our site: agent-browser has no Playwright dependency and ships its guides inside the binary; browser-use attaches to your everyday Chrome by default

Frequently Asked Questions

Is the Agent Browser skill safe?

The skill is a stub with no scripts, but it gives the agent a real browser: page JavaScript via agent-browser eval, cookies, saved logins. The npm postinstall downloads a binary from GitHub without a checksum check (we found none). Turn on --allowed-domains and --confirm-actions for untrusted sites.

How do I install Agent Browser in Antigravity?

npm install -g agent-browser && agent-browser install, clone vercel-labs/agent-browser, copy skills/agent-browser into .agents/skills/ (or ~/.gemini/config/skills/), then ask "What skills do you have?" (CLI: /skills).

Why is the SKILL.md so short?

By design: the README says it is a thin discovery stub that points the agent to agent-browser skills get core, so the guide always matches the installed CLI version.

Does it need an API key?

Not for local use. Only optional extras do: the dashboard's AI chat (AI_GATEWAY_API_KEY) and cloud browsers such as AWS Bedrock AgentCore, which use that provider's credentials.

Supported Platforms

antigravityclaudecodexcursorgemini