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 aretw0/agents-lab --skill web-browsergit clone --depth 1 https://github.com/aretw0/agents-labWrote 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/aretw0/agents-lab/web-browser)<a href="https://agentmods.dev/skills/aretw0/agents-lab/web-browser"><img src="https://agentmods.dev/badge/skills/aretw0/agents-lab/web-browser/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/aretw0/agents-lab/web-browser"><img src="https://agentmods.dev/badge/skills/aretw0/agents-lab/web-browser.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.00036 | $0.00838 |
| Opus 5.5 | $0.00014 | $0.00335 |
| Sonnet 5.5 | $0.00007 | $0.00168 |
| Haiku 4.5 | $0.00004 | $0.00084 |
Grade A, and why
web-browser scanned grade A 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 1mo 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- Do **not** start from `curl`/`wget`/`python requests`/`r.jina.ai` or generic shell scraping. How it starts
The opening of the file, as written. The whole thing — 111 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Web Browser Skill
Browser automation via Chrome DevTools Protocol (CDP). All scripts live in ./scripts/ relative to this skill.
When to Prefer This Skill
Use web-browser for interactive web tasks:
- open/navigate pages and tabs
- click buttons/links
- fill forms and login flows
- inspect dynamic UI state rendered in-browser
For non-interactive tasks (searching links, extracting page text, fetching docs), prefer web_search / fetch_content instead.
Scoped Hard Trigger Policy
Enforce browser-first (hard-by-scope) when BOTH conditions are present:
- Prompt has interactive intent (
open,navigate,click,fill,login,submit,tab,form,button), and - Target is a sensitive/challenge-prone domain (e.g.
npmjs.com) or the user reports Cloudflare/bot blocking.
When this trigger fires:
- Start with CDP flow (
start.js→nav.js→ interaction/eval scripts). - Do not start from
curl/wget/python requests/r.jina.aior generic shell scraping. - Only fallback after explicit CDP failure evidence (at least 2 failed attempts), and report the fallback reason.
Dependency:
@aretw0/web-skillsdeclareswsat the package root. Published installs should not require per-skill setup. When running from this repository source, runpnpm installat the repository root before using the scripts.
Start Chrome
node ./scripts/start.js # Fresh profile
node ./scripts/start.js --profile # Copy your real profile (cookies, logins)
Starts Chrome on :9222 with remote debugging enabled.
If Chrome is in a non-standard location:
BROWSER_BIN=/path/to/chrome node ./scripts/start.js
Navigate
node ./scripts/nav.js https://example.com # Current tab
node ./scripts/nav.js https://example.com --new # New tab
Evaluate JavaScript
node ./scripts/eval.js 'document.title'
node ./scripts/eval.js 'document.querySelectorAll("a").length'
node ./scripts/eval.js 'JSON.stringify(
Array.from(document.querySelectorAll("a"))
.map(a => ({ text: a.textContent.trim(), href: a.href }))
.filter(l => l.href.startsWith("https://"))
)'
What ships with it
10 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.
- scripts/cdp.js 5.1 KB runs code
- scripts/dismiss-cookies.js 14 KB runs code
- scripts/eval.js 1.7 KB runs code
- scripts/logs-tail.js 1.9 KB runs code
- scripts/nav.js 1.5 KB runs code
- scripts/net-summary.js 2.5 KB runs code
- scripts/pick.js 5.4 KB runs code
- scripts/screenshot.js 1.3 KB runs code
- scripts/start.js 2.6 KB runs code
- scripts/watch.js 7.2 KB runs code
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.
- 1mo ago First seen · 111 lines · 36 tokens per session scan A dfc0fbc0f93a
web-browser is a skill published in the GitHub repository aretw0/agents-lab (11 stars, last pushed 3mo ago), licensed MIT. It adds 36 tokens to every session and 838 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
vision-bridge-windows-automation
Drive Windows desktop apps (Win32/WPF/UWP), Electron windows and the browser through the vision-bridge MCP server - read the screen as structured text and click/type by element id. Use when the user asks the agent to operate a Windows GUI app, fill a form in a desktop program, read what is on screen, or automate a…
firecrawl
Firecrawl gives AI agents and apps fast, reliable web context with strong search, scraping, and interaction tools. One install command sets up three skill segments: live CLI tools, app-integration build skills, and outcome-focused workflow skills. Route the reader to the right usage path after install.
gpt-control
Use when the user asks to get an independent ChatGPT web review, continue a GPT-Control conversation, inspect a model run, or generate or iterate on an image through a configured browser driver. Not for facts the working tree or a local test can answer directly.
blocked-page-recovery
Use when a fetch fails: 403/429, paywall, WAF, bot wall.
browser-use
Control the user's Chrome through the existing persistent Node REPL and the Qwen Browser SDK.
computer-use
A guide to building agents that operate graphical interfaces through screenshots, mouse actions, keyboard input, and waits. It explains how to identify interface elements and safely repeat the observe, decide, and act cycle.