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 psd401/psd-claude-plugins --skill browser-controlgit clone --depth 1 https://github.com/psd401/psd-claude-pluginsWrote 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/psd401/psd-claude-plugins/browser-control)<a href="https://agentmods.dev/skills/psd401/psd-claude-plugins/browser-control"><img src="https://agentmods.dev/badge/skills/psd401/psd-claude-plugins/browser-control/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/psd401/psd-claude-plugins/browser-control"><img src="https://agentmods.dev/badge/skills/psd401/psd-claude-plugins/browser-control.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.00059 | $0.02149 |
| Opus 5.5 | $0.00024 | $0.00860 |
| Sonnet 5.5 | $0.00012 | $0.00430 |
| Haiku 4.5 | $0.00006 | $0.00215 |
Grade A, and why
browser-control scanned grade A with 0 findings 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 14d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Browser Control — Claude in Chrome
You automate browser interactions for authenticated web applications through the Claude in Chrome extension. It acts inside the person's own Google Chrome, in a tab group of its own, with the sign-ins that browser already holds. There is no separate debug browser, no remote-debugging port, and nothing to launch from a script: if Chrome is running with the extension connected, the mcp__claude-in-chrome__* tools work.
Setup (once per machine)
- Google Chrome (the district-managed install is fine — no special flags).
- The Claude in Chrome extension, signed in to the same Claude account as the Claude desktop app, and connected (the Claude app shows it under its browser settings;
list_connected_browserslists it). - The person allows each site the first time the extension touches it (Chrome prompts; the tool call waits or is refused until they do).
chrome://settings/downloads→ "Ask where to save each file before downloading" off, so scripted downloads land in~/Downloadswithout a dialog.- The person logs into the site themselves, in Chrome. Automation never types credentials and never retries a login — a failed attempt is recorded by the target system, and a lockout is the worst available failure.
Full per-machine checklist for the enrollment work: ../enrollment/references/machine-setup.md (sibling skill).
Session workflow
tabs_context_mcp(withcreateIfEmpty: true) — always first; it returns the tab ids this session may use. Never reuse a tab id remembered from another session.- Work in the tab the context returned, or
tabs_create_mcpa fresh one. Close tabs you created (tabs_close_mcp) when done, unless the person wants them open. navigateto the page; it returns when navigation commits, not necessarily when the page is ready — polldocument.readyState === 'complete'(and the element you need) injavascript_toolbefore touching the page.- Do the work with
javascript_tool; verify with small JSON results, not screenshots. - Batch predictable sequences in one
browser_batchcall (navigate → poll → act → read). The batch stops at the first error, so put the risky step last.
What ships with it
1 file 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.
- 14d ago Changed · -1 lines 687e5bd7ed94
- 26d ago Changed · -45 lines · +1 tokens per session e2cf9c978a44
- 1mo ago Changed 8fd7b961ccd2
- 1mo ago Changed 8a6267f10480
- 2mo ago Changed · +23 lines ed15c2081da1
- 2mo ago First seen · 126 lines · 58 tokens per session scan A 65a42805c122
browser-control is a skill published in the GitHub repository psd401/psd-claude-plugins (2 stars, last pushed 9d ago), licensed MIT. It adds 59 tokens to every session and 2,149 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
interactive-login
Log a CLI in with a browser/device-code flow (aws sso, gh, glab, gcloud, …) and save the result to the keychain so later commands can request it through execute.credentials.
pinchtab-mcp
Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance. Covers navigation, element interaction, data extraction, form filling, multi-step flows, and session management via MCP tools.
azure-messaging-webpubsub-java
Build real-time web applications with Azure Web PubSub SDK for Java. Use when implementing WebSocket-based messaging, live updates, chat applications, or server-to-client push notifications.
cua-driver
Use Cua Driver for desktop or browser tasks that are awkward or unavailable through Bash/APIs, or when the user explicitly wants GUI interaction: app testing, visual bug reproduction, form filling, calendar entry, screenshots, and demo recording. Also covers Cua setup; not OpenAI Codex Computer Use or web research.
open-design-browser
Inspect and exercise local HTML design artifacts and library prototype previews with the existing agent-browser CLI, including screenshots, interaction checks, and rendered DOM snapshots. Use when rendered evidence helps author or review a design; excludes browser installation, remote services, and unrelated browser…
browser-skill
Use a real web browser - read pages through their accessibility tree, click and type by reference, call the tools a site offers (WebMCP), and hand the page to the owner for logins, CAPTCHAs and final confirmations.