Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add shanmukhaditya/agent-skills --skill browser-agentgit clone --depth 1 https://github.com/shanmukhaditya/agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shanmukhaditya/agent-skills/browser-agent)<a href="https://agentmods.dev/skills/shanmukhaditya/agent-skills/browser-agent"><img src="https://agentmods.dev/badge/skills/shanmukhaditya/agent-skills/browser-agent/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/shanmukhaditya/agent-skills/browser-agent"><img src="https://agentmods.dev/badge/skills/shanmukhaditya/agent-skills/browser-agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00058 | $0.00736 |
| Opus 5 | $0.00029 | $0.00368 |
| Sonnet 5 | $0.00012 | $0.00147 |
| Haiku 4.5 | $0.00006 | $0.00074 |
Grade B, and why
browser-agent scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
`~/.gemini/config/skills/browser-agent/bin/agent-browser` How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Stealth Browser Agent (agent-browser)
browser-agent is an autonomous browser driver built for AI agents. It combines high token efficiency with full anti-bot stealth protection (bypassing Cloudflare, DataDome, Akamai) using a persistent background daemon.
⚡ Core Architecture
- Persistent Daemon: Maintains a long-lived browser session via a Unix domain socket (
/tmp/agent_browser.sock) to eliminate cold-start startup overhead. - Token-Efficient Ref Snapshots: After each navigation or interaction, an accessibility snapshot is generated and saved to
/tmp/browser_snapshot.yaml. Interactive elements are assigned concise ref IDs (e1,e2,e3...). - Human Motor Kinematics:
- Mouse: Moves along cubic Bézier curves with natural acceleration, deceleration, and micro-overshoots.
- Keyboard: Types with randomized keystroke cadences (50ms–160ms) and word pauses.
- Scroll: Inertial wheel scrolling with reading pauses.
- Native Chrome Execution: Auto-detects and binds to
/Applications/Google Chrome.appto provide genuine audio/video codecs, TLS JA3/JA4 fingerprints, and WebGL ANGLE hardware contexts.
🛠️ CLI Commands Overview
All commands are executed via the agent-browser binary located at:
~/.gemini/config/skills/browser-agent/bin/agent-browser
# 1. Open a URL (starts daemon automatically)
agent-browser open "https://example.com"
agent-browser open "https://example.com" --headless
# 2. Inspect current interactive elements
agent-browser snapshot
# 3. Click an element using its ref ID
agent-browser click e3
# 4. Fill or type into form fields
agent-browser fill e1 "[email protected]"
agent-browser type e2 "securePassword123"
# 5. Press special keys
agent-browser press Enter
agent-browser press Tab
# 6. Smooth human scrolling
agent-browser scroll --down 500
agent-browser scroll --up 300
# 7. Capture visual proof
agent-browser screenshot --output "/tmp/screenshot.png"
# 8. Run custom JavaScript evaluation
agent-browser eval "document.title"
# 9. Clean shutdown
agent-browser close
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 80 lines · 58 tokens per session scan B 15c11e822db1
browser-agent is a skill published in the GitHub repository shanmukhaditya/agent-skills (2 stars, last pushed 16d ago), licensed MIT. It adds 58 tokens to every session and 736 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
agent-browser
Guides headless browser automation using the agent-browser CLI for web interaction, accessibility tree navigation, form filling, screenshots, and authenticated sessions. USE WHEN the user asks to "open a webpage", "navigate a site", "take a screenshot", "fill a form", "get page content", "interact with a website"…
browser-qa
A browser-based quality check for deployed web pages and user flows. It uses browser automation to test rendering, navigation, forms, interactions, responsive behaviour, and accessibility-related issues.
memstack-development-webapp-testing
Use when the user says 'write browser tests', 'test this page', 'playwright test', 'e2e test', 'end to end test', 'browser test', 'test the UI', or needs Playwright-based browser testing for a web application. Do NOT use for unit tests, API tests, or non-browser testing.
fetch-url-as-markdown
Fetch a web page (URL) and return clean Markdown via local trafilatura, with Exa MCP as a fallback for JS-rendered or anti-bot pages. Use when the user asks to read, fetch, scrape, summarize, or quote a URL — prefer this over the built-in WebFetch tool. Don't use for binary files (PDFs, images, archives) or for…
chrome-extension
Use when building or shipping a Manifest V3 browser extension and hitting its quirks — service worker dying and losing state, permission warnings, a Chrome Web Store rejection, content-script/worker/popup messaging, or an MV2-to-V3 migration. NOT a generic web app (that is nextjs), NOT a desktop shell (that is…
data-scraper
Use when data lives on a website with no usable API — listings, prices, public records — and the scrape must stay legal and not get blocked: legal gate, extraction path, durable selectors, pacing, resilience. NOT parsing bytes you already hold into fields (that is structured-extraction), NOT a documented API or key…