Source: vercel-labs/agent-browser · Maintainer: Vercel · License: Apache-2.0 · Checked: 23 October 2026
What is the agent-browser skill?
The agent-browser skill teaches a coding agent like Claude Code, Codex or Cursor to control a real Chrome browser from the terminal: open a URL, see what is on the page, click, type, fill forms, take screenshots and pull out data. It is for developers who want their agent to test a web app, check a deploy or automate a browser task without writing Playwright scripts.
The skill lives in the vercel-labs/agent-browser repo, which describes the tool as a "Browser automation CLI for AI agents." The SKILL.md frontmatter description reads: "Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools."
The repo is active (last pushed 23 October 2026) and has about 44,000 GitHub stars. Its skills.sh page lists about 1.2 million installs (snapshot, 23 October 2026).
What does the agent-browser skill do?
The skill is deliberately tiny. The folder holds one file, SKILL.md, and that file calls itself "a discovery stub, not the usage guide." Its job is to tell the agent two things: that the agent-browser CLI exists, and that before running any browser command it should load the real instructions from the CLI itself:
agent-browser skills get core
agent-browser skills get core --full
The reason, per the SKILL.md, is that "the CLI serves skill content that always matches the installed version, so instructions never go stale." When you upgrade the CLI, the workflow guide the agent reads upgrades with it.
When the agent uses it. The description lists the triggers: opening a website, filling a form, clicking a button, taking a screenshot, scraping a page, testing a web app, logging in to a site, exploratory QA and bug hunts. It also covers Electron desktop apps, Slack, Vercel Sandbox and AWS Bedrock AgentCore cloud browsers. The frontmatter also includes allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*), which in Claude Code pre-approves those commands during the turn that invokes the skill (see Claude Code's skills docs).
What the CLI does. The README describes agent-browser as a native Rust CLI that talks to Chrome over the Chrome DevTools Protocol, with no Playwright or Puppeteer dependency. The core loop the agent follows is:
agent-browser open <url>to load a page.agent-browser snapshot -ito get the interactive elements as an accessibility tree, each with a short ref like@e1.agent-browser click @e3orfill @e2 "text"to act on a ref.- A fresh snapshot after any page change.
Refs are why it suits agents: the model reads a compact list of labelled elements instead of raw HTML, then acts on them by ID.
Specialized skills. The stub points to extra guides the CLI serves on demand: electron, slack, dogfood (exploratory testing), derive-client (record a HAR file and build an API client), vercel-sandbox, protected-vercel-deployments and agentcore. Run agent-browser skills list to see what your installed version includes.
How do you install the agent-browser skill?
You need two things: the CLI and the skill. Install the CLI first. The README's recommended route is a global npm install, then a one-time Chrome download from Chrome for Testing:
npm install -g agent-browser
agent-browser install
The README also documents brew install agent-browser on macOS and cargo install agent-browser, each followed by agent-browser install. On Linux, agent-browser install --with-deps also installs the system libraries Chrome needs. Existing Chrome, Brave, Playwright and Puppeteer installs are detected automatically. Later, agent-browser upgrade updates the CLI using whichever method you installed with.
Then add the skill. The README gives this command:
npx skills add vercel-labs/agent-browser
The skills.sh page shows the equivalent with the skill named explicitly:
npx skills add https://github.com/vercel-labs/agent-browser --skill agent-browser
The skills CLI needs Node.js 22.20 or later. It installs to the current project by default; add -g for every project. For Claude Code the stub lands at .claude/skills/agent-browser/SKILL.md (or ~/.claude/skills/agent-browser/ with -g). The README warns: "Do not copy SKILL.md from node_modules as it will become stale."
Codex and Cursor read the same SKILL.md format, and the README lists both as supported. See Codex skills and Cursor skills for where each looks for skill folders.
Uploading the skill to claude.ai as a ZIP is not useful here: the stub depends on a local CLI and a local Chrome that the claude.ai sandbox does not have.
How do you use it?
Once the CLI and skill are installed, start a new agent session and ask for browser work in plain words. The agent matches your request to the skill's description. Some prompts to try:
- "Open localhost:3000, sign up with a test email, and tell me if the welcome screen loads. Take a screenshot of each step."
- "Use agent-browser to check every link in the footer of our staging site and list any that return an error."
- "Dogfood the checkout flow on the preview URL and write up any bugs you find, with screenshots."
- "Go to our pricing page and extract the plan names and prices into a Markdown table."
- "Fill out the contact form on staging with sample data and confirm the success message appears."
Requirements. The CLI and Chrome (downloaded by agent-browser install). The README lists Node.js 24+, pnpm 11+ and Rust as needed only when building from source. The optional agent-browser chat command and dashboard chat panel need a Vercel AI Gateway API key; nothing else in the core workflow needs a key.
For more consistent results, the README suggests adding a short "Browser Automation" section to your AGENTS.md or CLAUDE.md that names the core loop.
Tips and limits
Logins and secrets. The README documents several ways to stay signed in: reusing a Chrome profile, persistent profiles, saved session state, importing auth from a running Chrome, and an auth vault that stores credentials locally, always encrypted, so "the LLM never sees passwords." Two warnings come straight from the README's security notes: a Chrome started with --remote-debugging-port lets any local process control it, and state files "contain session tokens in plaintext," so add them to .gitignore and delete them when done.
Safeguards are opt-in. The security section lists features that are off until you turn them on: --allowed-domains to restrict navigation, --confirm-actions to require approval for categories like eval and download, --action-policy for a static policy file, --content-boundaries to mark page text as untrusted, and --max-output to cap how much page text floods the context. For an agent that browses unknown sites, the domain allowlist and content boundaries are worth enabling. Page text can contain prompt injection, and the README says boundary labels are "provenance cues, not a prompt-injection security boundary."
Dialogs and clicks. By default alert and beforeunload dialogs are accepted automatically; confirm and prompt dialogs still need explicit handling. When another element, such as a consent banner, covers the target, the click error names the covering element so the agent can clear it first.
Background daemon. The CLI runs a daemon that starts on the first command and shuts down after one hour idle by default (configurable with --idle-timeout).
Use it on sites you are allowed to automate. Scraping and automated sign-ins can break a site's terms of service. Test your own apps freely; check the rules before pointing the agent at someone else's.
License. Apache 2.0, so you can modify and redistribute it under the license terms.
Save it in your Kipt library
Kipt keeps prompts and skills as Markdown in your own private GitHub repo. In Kipt, open Skills and paste the skill's GitHub folder link (https://github.com/vercel-labs/agent-browser/tree/main/skills/agent-browser) into the import box; Kipt reads the SKILL.md and its files, and for a repo with many skills it shows a list to pick from. You can also drop the folder or a .zip. Your saved skills then install into Claude Code or Codex with one command. Kipt is not affiliated with Vercel.
npx skills add https://github.com/<you>/<repo>.git --all -g
Similar skills
- webapp-testing skill: Anthropic's skill for testing local web apps with Playwright scripts.
- Best MCP servers: browser automation is also available as an MCP server, and agent-browser itself ships one (
agent-browser mcp). - design-taste-frontend skill: a design skill that also checks its pages in a real browser.
- Best Claude Code skills: a wider list of skills worth installing.