Agent skill

Browser Automation

by get-bb in get-bb/bb

Use the Browser Automation BB plugin to inspect and automate persistent browser pages in an explicit desktop or local headless session.

MITAuto-check passedProductivity & Automation

Install Browser Automation

skills CLI
$ npx skills add get-bb/bb --skill browser-automation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install get-bb/bb browser-automation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/get-bb/bb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/browser-automation/skills/browser-automation .claude/skills/browser-automation && rm -rf skills-src

Use ~/.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/

Facts

Skill name
browser-automation
GitHub stars
4.2k
Token cost
~1.6k tokens
SKILL.md length
783 words
Files
1
Skills in repo
33
Repo updated
First seen
Licence
MIT

At a glance

Use the Browser Automation BB plugin to inspect and automate persistent browser pages in an explicit desktop or local headless session.

  • Browser navigation
  • Calls node
  • Verification screenshots

What it does

Browser Automation is an agent skill from get-bb/bb. Use the Browser Automation BB plugin to inspect and automate persistent browser pages in an explicit desktop or local headless session. Use for browser navigation, snapshots, clicking, forms, and verification screenshots.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Browser automation. The repository describes itself as: The agent IDE that builds itself. The licence is MIT.

When your agent uses it

  • Browser navigation
  • Verification screenshots

Example prompts

  • “/browser-automation”

What it can do on your machine

Read from SKILL.md and the folder at commit 68a1e8b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Browser Automation loads about 1.6k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 783 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from get-bb/bb at commit 68a1e8b, republished under its MIT licence (© get-bb). 783 words, ~1,644 tokens.

Download SKILL.mdSave it as .claude/skills/browser-automation/SKILL.md (or your agent's skills folder).
name
browser-automation
description
Use the Browser Automation BB plugin to inspect and automate persistent browser pages in an explicit desktop or local headless session. Use for browser navigation, snapshots, clicking, forms, and verification screenshots.

Use bb browser-automation. Open one session, retain its session ID, then inspect, act, and verify in short scripts.

--machine accepts an exact host ID or an unambiguous machine name. Exact IDs take precedence over names; unknown or ambiguous names fail before opening a session.

Choose --backend local --headless --machine <host-id> for headless Chrome on an enrolled host. Choose --backend desktop --machine <host-id> --desktop <instance-id> for a new desktop automation tab. Desktop tabs use the BB browser's profile, including the user's signed-in cookies. Starting desktop control opens the side panel and selects the browser tab only if its thread is already focused. New or activated controller pages follow the same rule; automation does not switch threads or bring the desktop window forward. While controlled, a desktop tab never takes keyboard focus from the composer or other apps; the user presses Take over to type into it. Headless sessions remain headless. Plugin-owned local/headless Chrome launches with --no-sandbox, disabling Chrome's sandbox. Desktop attachment does not change the browser's launch flags. Resolve the explicit instance with bb browser instances --host <host-id> --json first. Never silently choose a different host or mode. Adding --tab <tab-id> takes control of an existing tab; do so only when the user asked to use that tab. The CLI uses the current thread, or --thread <id> outside a thread. Each session belongs to that thread.

CLI opening:

sh
bb browser-automation open --backend local --headless --machine <host-id> --json
bb browser-automation open --backend desktop --machine <host-id> --desktop <instance-id> --json

Run scripts:

sh
bb browser-automation run <session-id> --script 'const p = await browser.getPage("main"); await p.goto("https://example.com"); await p.snapshot()' --json
bb browser-automation run <session-id> --script 'const p = await browser.getPage("main"); await p.click("ref/e6"); await p.snapshot()' --json
bb browser-automation screenshot <session-id> --page main --json

Take a fresh snapshot before using refs after navigation or document changes. Use refs from that session's DevBrowser snapshot. Do not mix agent-browser refs or invent selectors. Prefer a cheap URL/text/snapshot check after each action; request a screenshot when visual verification matters. Use await p.shot({type:"jpeg",maxEdge:960,quality:70}); undefined inside scripts to return a bounded JPEG file.

run and screenshot return JSON with hostId and images, where each image has path, mimeType, width, and height. The path is in the browser session's temporary directory on that host. Use your image-reading tool on the path when you are on the same machine. If the browser host differs, fetch the image to local temporary storage first (substitute the returned path and host ID):

sh
bb file read '<image-path>' --host '<host-id>' --json | node -e '
const fs = require("node:fs"), os = require("node:os"), path = require("node:path");
const file = JSON.parse(fs.readFileSync(0, "utf8"));
if (file.contentEncoding !== "base64") throw new Error("Expected binary image");
const destination = path.join(fs.mkdtempSync(path.join(os.tmpdir(), "browser-image-")), "capture.jpg");
fs.writeFileSync(destination, Buffer.from(file.content, "base64"), {mode: 0o600});
console.log(destination);
'

Read the printed local path with your image-reading tool. Do not print base64 image bytes into the conversation. Read or copy captures before closing the session: cleanup removes its temporary directory. Remove local copies when finished.

A local headless open returns a previewDirective, for example ::browser-preview{session="<session-id>"}. Copy it into your next message exactly once as a standalone line, before you continue working. Do not wrap it in backticks or a code fence, and do not invent or edit the session ID. BB renders it as a live view of that browser in the chat, which the user can expand, so they can watch while you work. Desktop sessions return no directive; that browser is already visible in the side panel. bb browser-automation preview <session-id> --json reports the live frame's url, title, size, and sequence without image bytes; it is not a substitute for screenshot when you need to see the page.

Show full SKILL.md (285 more words)Show less

pages lists persistent pages. Runs serialize within a session. Scripts are trusted JavaScript with Puppeteer-style DevBrowser APIs, not a sandbox. --script-file requires --script-host <host-id> naming the source host explicitly. Browser file operations and localhost refer to the browser host. Transfer files explicitly.

Stop cancels running and queued work and releases desktop control. Cancellation and timeout stop the session too; open a new session to resume. Close disposes owned Chrome and desktop tabs the session opened while preserving a --tab tab. Close sessions after use. Five-minute idle and thirty-minute absolute expiry apply. Timeouts default to 30 seconds, maximum 120 seconds: pass either --timeout-ms <1000-120000> or --timeout <duration>, where a duration carries a unit (90s, 2m, 1500ms) and a bare number is read as seconds (1-120) or milliseconds (1000-120000).

A run may return at most 4 screenshots, JPEG only, 500 KB combined; a larger or differently encoded capture fails the run. bb browser-automation --help and bb browser-automation <command> --help print every flag with these limits. Unknown commands and flags fail with a suggestion, and with --json a failure prints {"ok":false,"error":{"code":…,"message":…,"hint":…}} on stdout (code session_unavailable when the session stopped or expired, screenshot_limit for capture limits) while the same message stays on stderr.

An unavailable backend or a failed runtime install is an actionable setup error, not permission to attach to a random browser. The first open on a host installs the pinned dev-browser npm release into plugin-owned host storage there and verifies its provenance and digest; it needs npm, network access, and Chrome on that host, and can take a minute. Later opens reuse the verified install offline. The exact pin and Chrome setup are documented in the plugin README. Cloud browsers and arbitrary CDP endpoints are unsupported.

© get-bb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/browser-automation/skills/browser-automation of get-bb/bb.

Open the folder on GitHubat commit 68a1e8b

Compare with similar skills

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.

Browser Automation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Browser Automation this skillget-bb/bb4.2k—~1.6kAutomated safety check: PassMIT
Agent Browserquran/quran.com-frontend-next1.9k41 repos~3.3kAutomated safety check: PassNone
Dev-Browser CLI AutomationSawyerHood/dev-browser6.7k1 repos~455Automated safety check: PassMIT
Camoufox CLIBin-Huang/camoufox-cli3501 repos~4.5kAutomated safety check: PassMIT
BrowserVibiumDev/vibium2.9k—~4.8kAutomated safety check: PassApache-2.0
Use Agent Browser For Airimoeru-ai/airi50k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Agent Browser

    quran/quran.com-frontend-next

    Automates browser interactions for web testing, form filling, screenshots, and data extraction.

    1.9k GitHub starsUsed in 41 repos~3.3k tokens
    Productivity & AutomationAuto-check passed
  • Dev-Browser CLI Automation

    SawyerHood/dev-browser

    Browser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web…

    6.7k GitHub starsUsed in 1 repo~455 tokens
    Productivity & AutomationAuto-check passed
  • Camoufox CLI

    Bin-Huang/camoufox-cli

    Anti-detect browser automation CLI & Skills for AI agents. An agent skill from Bin-Huang/camoufox-cli.

    350 GitHub starsUsed in 1 repo~4.5k tokens
    Productivity & AutomationAuto-check passed
  • Browser

    VibiumDev/vibium

    Automate browsers with the Vibium CLI. An agent skill from VibiumDev/vibium.

    2.9k GitHub stars~4.8k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Test AIRI display-model imports with agent-browser across stage-tamagotchi Electron, stage-web, and stage-pocket mobile web layouts.

    50k GitHub stars~1.1k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Browser Use Terminal

    browser-use/terminal

    Direct browser control via the Browser Use Terminal CLI. An agent skill from browser-use/terminal.

    651 GitHub stars~2.1k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

More from get-bb/bb

All 33 skills in this repo
  • Bb CLI

    get-bb/bb

    Inspect or manage BB state with the bb CLI; use for BB commands and configuration.

    4.2k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Skill Creator

    get-bb/bb

    Create or improve BB skills, including their triggers, instructions, and supporting resources.

    4.2k GitHub stars~702 tokensUpdated today
    Auto-check passed
  • Prepare and submit a BB plugin to the Community marketplace when publication or a marketplace PR is requested.

    4.2k GitHub stars~873 tokensUpdated today
    Auto-check passed
  • Workflows

    get-bb/bb

    Author or run durable BB workflows when the user requests workflow execution or multi-agent orchestration.

    4.2k GitHub stars~890 tokensUpdated today
    Auto-check passed
  • Verify Bb

    get-bb/bb

    Verify BB user journeys in an isolated source dev app using dev-browser@next and the matching source CLI.

    4.2k GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Create or edit BB color themes and inspect them in the Theme Preview panel.

    4.2k GitHub stars~1.2k tokensUpdated today
    Auto-check passed

Questions about Browser Automation

What does Browser Automation do?

Use the Browser Automation BB plugin to inspect and automate persistent browser pages in an explicit desktop or local headless session. Browser Automation is an agent skill from get-bb/bb. Use the Browser Automation BB plugin to inspect and automate persistent browser pages in an explicit desktop or local headless session.

When should I use Browser Automation?

Browser Automation fits situations like: browser navigation; verification screenshots.

How do I install Browser Automation in Claude Code?

Run `npx skills add get-bb/bb --skill browser-automation -a claude-code`. Or copy the skill folder (plugins/browser-automation/skills/browser-automation in get-bb/bb) into .claude/skills/browser-automation in your project. Claude Code loads it when a task matches its description.

How do I install Browser Automation in Codex?

Run `npx skills add get-bb/bb --skill browser-automation -a codex`. Or copy the skill folder (plugins/browser-automation/skills/browser-automation in get-bb/bb) into .agents/skills/browser-automation in your project. Codex loads it when a task matches its description.

Can I use Browser Automation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add get-bb/bb --skill browser-automation -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-automation, .gemini/skills/browser-automation, .github/skills/browser-automation and .opencode/skills/browser-automation in your project.

What does Browser Automation need to run?

Going by SKILL.md and its folder, Browser Automation needs the command-line tools its instructions call (node).

Does Browser Automation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Browser Automation safe to install?

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.

What licence does Browser Automation use?

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.

How many tokens does Browser Automation use?

About 1.6k tokens (SKILL.md is roughly 6.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Browser Automation?

Skills that share tags, products or a category with Browser Automation: Agent Browser (quran/quran.com-frontend-next, 1.9k stars), Dev-Browser CLI Automation (SawyerHood/dev-browser, 6.7k stars), Camoufox CLI (Bin-Huang/camoufox-cli, 350 stars) and Browser (VibiumDev/vibium, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Browser Automation?

get-bb (a GitHub organization) maintains it in get-bb/bb, which has 4,155 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 7, 2026.

Source: get-bb/bb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.