Agent Browser CLI
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
Drives a web browser through the agent-browser CLI, using compact accessibility snapshots with element refs in place of the full DOM to keep context small.
$ npx skills add ruvnet/RuView --skill browser -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ruvnet/RuView browser --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/browser .claude/skills/browser && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "browser" agent skill from https://github.com/ruvnet/RuView/tree/main/.claude/skills/browser into .claude/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ruvnet/RuView/tree/main/.claude/skills/browserType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ruvnet/RuView --skill browser -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ruvnet/RuView browser --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/browser .agents/skills/browser && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "browser" agent skill from https://github.com/ruvnet/RuView/tree/main/.claude/skills/browser into .agents/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ruvnet/RuView --skill browser -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ruvnet/RuView browser --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/browser .cursor/skills/browser && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "browser" agent skill from https://github.com/ruvnet/RuView/tree/main/.claude/skills/browser into .cursor/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ruvnet/RuView.git --path .claude/skills/browser--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ruvnet/RuView --skill browser -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ruvnet/RuView browser --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/browser .gemini/skills/browser && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "browser" agent skill from https://github.com/ruvnet/RuView/tree/main/.claude/skills/browser into .gemini/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ruvnet/RuView browserInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ruvnet/RuView --skill browser -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/browser .github/skills/browser && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "browser" agent skill from https://github.com/ruvnet/RuView/tree/main/.claude/skills/browser into .github/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ruvnet/RuView --skill browser -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ruvnet/RuView browser --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/browser .opencode/skills/browser && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "browser" agent skill from https://github.com/ruvnet/RuView/tree/main/.claude/skills/browser into .opencode/skills/browser/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
browserDrives a web browser through the agent-browser CLI, using compact accessibility snapshots with element refs in place of the full DOM to keep context small.
The workflow opens a page, takes a snapshot, and acts on elements by the refs the snapshot returns. Snapshots come as the full accessibility tree, interactive elements only, a compact form without empty elements, or depth-limited, and a screenshot can be saved to a path or returned as base64. Commands cover navigation (open, back, forward, reload, close), interaction (click, fill, type, press, hover, select, check, uncheck, scroll), reading values (text, HTML, input value, attributes, title, URL) and waiting for an element, a delay, text, a URL pattern or a load state.
Elements can be targeted by snapshot refs, which the skill recommends, by CSS selectors, or by semantic locators such as role, label and test ID. A `--session` flag runs commands in an isolated named session and `session list` shows the active ones. The skill describes the snapshot approach as a way to cut context use compared with sending the whole DOM.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0ef6b96. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agent-Browser Automation loads about 1.3k tokens when it runs. Until then it costs about 20 tokens; SKILL.md has 303 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ruvnet/RuView at commit 0ef6b96, republished under its MIT licence (© ruvnet). 303 words, ~1,322 tokens.
.claude/skills/browser/SKILL.md (or your agent's skills folder).Web browser automation using agent-browser with AI-optimized snapshots. Reduces context by 93% using element refs (@e1, @e2) instead of full DOM.
# 1. Navigate to page
agent-browser open <url>
# 2. Get accessibility tree with element refs
agent-browser snapshot -i # -i = interactive elements only
# 3. Interact using refs from snapshot
agent-browser click @e2
agent-browser fill @e3 "text"
# 4. Re-snapshot after page changes
agent-browser snapshot -i| Command | Description |
|---|---|
open <url> | Navigate to URL |
back | Go back |
forward | Go forward |
reload | Reload page |
close | Close browser |
| Command | Description |
|---|---|
snapshot | Full accessibility tree |
snapshot -i | Interactive elements only (buttons, links, inputs) |
snapshot -c | Compact (remove empty elements) |
snapshot -d 3 | Limit depth to 3 levels |
screenshot [path] | Capture screenshot (base64 if no path) |
| Command | Description |
|---|---|
click <sel> | Click element |
fill <sel> <text> | Clear and fill input |
type <sel> <text> | Type with key events |
press <key> | Press key (Enter, Tab, etc.) |
hover <sel> | Hover element |
select <sel> <val> | Select dropdown option |
check/uncheck <sel> | Toggle checkbox |
scroll <dir> [px] | Scroll page |
| Command | Description |
|---|---|
get text <sel> | Get text content |
get html <sel> | Get innerHTML |
get value <sel> | Get input value |
get attr <sel> <attr> | Get attribute |
get title | Get page title |
get url | Get current URL |
| Command | Description |
|---|---|
wait <selector> | Wait for element |
wait <ms> | Wait milliseconds |
wait --text "text" | Wait for text |
wait --url "pattern" | Wait for URL |
wait --load networkidle | Wait for load state |
| Command | Description |
|---|---|
--session <name> | Use isolated session |
session list | List active sessions |
# Get refs from snapshot
agent-browser snapshot -i
# Output: button "Submit" [ref=e2]
# Use ref to interact
agent-browser click @e2agent-browser click "#submit"
agent-browser fill ".email-input" "test@test.com"agent-browser find role button click --name "Submit"
agent-browser find label "Email" fill "test@test.com"
agent-browser find testid "login-btn" clickagent-browser open https://example.com/login
agent-browser snapshot -i
agent-browser fill @e2 "user@example.com"
agent-browser fill @e3 "password123"
agent-browser click @e4
agent-browser wait --url "**/dashboard"agent-browser open https://example.com/contact
agent-browser snapshot -i
agent-browser fill @e1 "John Doe"
agent-browser fill @e2 "john@example.com"
agent-browser fill @e3 "Hello, this is my message"
agent-browser click @e4
agent-browser wait --text "Thank you"agent-browser open https://example.com/products
agent-browser snapshot -i
# Iterate through product refs
agent-browser get text @e1 # Product name
agent-browser get text @e2 # Price
agent-browser get attr @e3 href # Link# Session 1: Navigator
agent-browser --session nav open https://example.com
agent-browser --session nav state save auth.json
# Session 2: Scraper (uses same auth)
agent-browser --session scrape state load auth.json
agent-browser --session scrape open https://example.com/data
agent-browser --session scrape snapshot -iAll browser operations are available as MCP tools with browser/ prefix:
browser/openbrowser/snapshotbrowser/clickbrowser/fillbrowser/screenshot# Store successful patterns
npx @claude-flow/cli memory store --namespace browser-patterns --key "login-flow" --value "snapshot->fill->click->wait"
# Retrieve before similar task
npx @claude-flow/cli memory search --query "login automation"# Pre-browse hook (get context)
npx @claude-flow/cli hooks pre-edit --file "browser-task.ts"
# Post-browse hook (record success)
npx @claude-flow/cli hooks post-task --task-id "browse-1" --success true-i flag - Gets only interactive elements, smaller output© ruvnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/browser of ruvnet/RuView.
Open the folder on GitHubat commit 0ef6b96
We found 8 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in ruvnet/RuView, which our catalogue first saw on October 7, 2026.
Agent-Browser Automation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agent-Browser Automation this skillruvnet/RuView | 97k | 4 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Agent Browser CLIvercel-labs/agent-browser | 44k | 24 repos | ~864 | Automated safety check: Pass | Apache-2.0 | |
| Agent Browserquran/quran.com-frontend-next | 1.9k | 41 repos | ~3.3k | Automated safety check: Pass | None | |
| Web Access via Browser CDPeze-is/web-access | 9.1k | 4 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Dev Browser AutomationMemTensor/MemOS | 12k | 3 repos | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Electron App Automationvercel-labs/agent-browser | 44k | 5 repos | ~1.7k | Automated safety check: Pass | Apache-2.0 |
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
quran/quran.com-frontend-next
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
eze-is/web-access
Routes every web task, from searching to logged-in browsing, through a tiered choice of search, fetch, curl or a real Chrome or Edge session driven over CDP.
MemTensor/MemOS
Automates a real browser through short TypeScript scripts that keep page state between runs, for navigating, filling forms, taking screenshots and extracting data.
vercel-labs/agent-browser
Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.
vercel-labs/agent-browser
Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.
ruvnet/RuView
Reference for RuView's research-grade WiFi sensing features: multistatic fusion, cross-viewpoint geometry, persistent field models, RF tomography, intention signals and mesh security.
ruvnet/RuView
Runs RuView's WiFi sensing applications: presence, vital signs, activity and fall detection, pose estimation, sleep monitoring and environment mapping.
ruvnet/RuView
Covers the RuView `wifi-densepose` command line binary, its Axum REST API and the WebAssembly builds for browsers and ESP32, for embedding or scripting RuView.
ruvnet/RuView
Tunes a deployed RuView WiFi-sensing system without changing code: firmware sdkconfig variants, NVS provisioning over serial, channel and MAC filtering, edge processing tiers and mesh slotting.
ruvnet/RuView
Brings a RuView CSI sensing node online by building ESP32-S3 or ESP32-C6 firmware, flashing the board, provisioning WiFi and checking the serial output.
ruvnet/RuView
Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI.
Categories
Drives a web browser through the agent-browser CLI, using compact accessibility snapshots with element refs in place of the full DOM to keep context small. The workflow opens a page, takes a snapshot, and acts on elements by the refs the snapshot returns. Snapshots come as the full accessibility tree, interactive elements only, a compact form without empty elements, or depth-limited, and a screenshot can be saved to a path or returned as base64.
Agent-Browser Automation fits situations like: filling in and submitting a web form step by step; reading text or attributes from a page without pulling in the whole DOM; running separate browser sessions side by side for different accounts.
Run `npx skills add ruvnet/RuView --skill browser -a claude-code`. Or copy the skill folder (.claude/skills/browser in ruvnet/RuView) into .claude/skills/browser in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ruvnet/RuView --skill browser -a codex`. Or copy the skill folder (.claude/skills/browser in ruvnet/RuView) into .agents/skills/browser in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruvnet/RuView --skill browser -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/browser, .gemini/skills/browser, .github/skills/browser and .opencode/skills/browser in your project.
Going by SKILL.md and its folder, Agent-Browser Automation needs the command-line tools its instructions call (npx). Our summary lists: The `agent-browser` command-line tool.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Agent-Browser Automation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Agent-Browser Automation: Agent Browser CLI (vercel-labs/agent-browser, 44k stars), Agent Browser (quran/quran.com-frontend-next, 1.9k stars), Web Access via Browser CDP (eze-is/web-access, 9.1k stars) and Dev Browser Automation (MemTensor/MemOS, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ruvnet (a GitHub user) maintains it in ruvnet/RuView, which has 96,741 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 7, 2026.
Source: ruvnet/RuView on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.