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 jmagly/aiwg --skill browser-doctorgit clone --depth 1 https://github.com/jmagly/aiwgWrote 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/jmagly/aiwg/browser-doctor)<a href="https://agentmods.dev/skills/jmagly/aiwg/browser-doctor"><img src="https://agentmods.dev/badge/skills/jmagly/aiwg/browser-doctor/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/jmagly/aiwg/browser-doctor"><img src="https://agentmods.dev/badge/skills/jmagly/aiwg/browser-doctor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 3 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Privilege Escalation · line 38 Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.Fix: Avoid sudo/root unless strictly required. Prefer least-privilege patterns. If elevation is needed, document the justification and scope.
- medium Agent Snooping · line 105 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Agent Snooping · line 106 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.00056 | $0.01171 |
| Opus 5 | $0.00028 | $0.00585 |
| Sonnet 5 | $0.00011 | $0.00234 |
| Haiku 4.5 | $0.00006 | $0.00117 |
Grade A, and why
browser-doctor 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 4d 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.
Asks for rootlowPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
| 5 | Token file mode | mode 600, owner-only | `chmod 600 ~/.config/playwright-mcp/token` | Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
How it starts
The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Browser Doctor Skill (DRAFT)
Status: DRAFT — scaffolded from PoC. Implementation pending Inception outputs.
Purpose
Diagnostic, read-only health check. Tells the user what's wired correctly and what needs browser-setup or browser-reset to fix.
When This Skill Applies
- After
browser-setupto verify the wizard's work - Before debugging "why isn't the agent driving my browser?"
- In CI / smoke tests to detect drift (extension uninstalled, token rotated, provider config rewritten)
Checks (planned)
| # | Check | Pass criteria | On fail |
|---|---|---|---|
| 1 | Browser binary present | Configured browser path exists and is executable | aiwg run skill browser-setup to re-detect |
| 2 | Browser version | <binary> --version returns a known-good version |
Update browser or document version mismatch |
| 3 | Extension installed | <profile>/Extensions/mmlmfjhmonkocbjadbfplnigmagldckm/ exists |
Install from Web Store; rerun setup |
| 4 | Token file present | ~/.config/playwright-mcp/token exists |
aiwg run skill browser-reset |
| 5 | Token file mode | mode 600, owner-only | chmod 600 ~/.config/playwright-mcp/token |
| 6 | Token file non-empty | size > 16 bytes | Re-capture token via reset |
| 7 | AIWG MCP registered | aiwg mcp list includes playwright |
browser-setup |
| 8 | MCP args correct | Args include --extension |
Re-register with correct args |
| 9 | MCP env block | PLAYWRIGHT_MCP_EXTENSION_TOKEN in env |
Re-register with env block |
| 10 | Provider injected | Active provider config contains playwright in mcpServers |
aiwg mcp inject --provider <p> --servers playwright |
| 11 | Provider env passthrough | Provider config's playwright entry preserves env | Re-inject |
| 12 | Probe connect | Spawn MCP, list tools, find browser_tabs |
See diagnostics; likely token mismatch |
| 13 | Allow-list present (optional) | .aiwg/browser-allowlist.yaml exists |
cp templates/browser-allowlist.yaml.tmpl .aiwg/browser-allowlist.yaml |
| 14 | Conflicting overrides | No --mcp-config wrapper detected for the active provider |
Document precedence; remove wrapper or add playwright to it |
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.
- 4d ago First seen · 107 lines · 56 tokens per session scan A ba473b43f4b8
browser-doctor is a skill published in the GitHub repository jmagly/aiwg (210 stars, last pushed yesterday), licensed MIT. It adds 56 tokens to every session and 1,171 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
browser-edge-cases
SOP for debugging browser automation failures on complex websites. Use when browser tools fail on specific sites like LinkedIn, Twitter/X, SPAs, or sites with Shadow DOM.
debug
Perform an evidence-based Parallax diagnosis or post-build audit and verify the repair.
parallax-core
Apply session-safe Parallax reasoning and verification to code changes.
browser-trace
Capture a full DevTools-protocol trace of any browser automation - CDP firehose, screenshots, and DOM dumps - then bisect the stream into per-page searchable buckets. Use when the user wants to debug a failed run, audit network/console/DOM activity, attach a trace to an in-progress session, or feed structured per-page…
typescript-circular-dependency
Detect and resolve TypeScript/JavaScript circular import dependencies. Use when: (1) "Cannot access 'X' before initialization" at runtime, (2) Import returns undefined unexpectedly, (3) "ReferenceError: Cannot access X before initialization", (4) Type errors that disappear when you change import order, (5) Jest/Vitest…
nextjs-server-side-error-debugging
Debug getServerSideProps and getStaticProps errors in Next.js. Use when: (1) Page shows generic error but browser console is empty, (2) API routes return 500 with no details, (3) Server-side code fails silently, (4) Error only occurs on refresh not client navigation. Check terminal/server logs instead of browser for…