agentic/code/addons/browser-control/skills/browser-doctor/SKILL.md
Read-only health check on browser-control setup. Verifies browser binary, Playwright MCP Bridge extension presence, token file mode/contents, AIWG MCP registration, provider config injection, and optional workspace allow-list. Outputs pass/fail per check with remediation commands.
npx skillsauth add jmagly/aiwg browser-doctorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Status: DRAFT — scaffolded from PoC. Implementation pending Inception outputs.
Diagnostic, read-only health check. Tells the user what's wired correctly and what needs browser-setup or browser-reset to fix.
browser-setup to verify the wizard's work| # | 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 |
Structured JSON suitable for both human display and CI consumption:
{
"summary": { "passed": 13, "failed": 1, "skipped": 0 },
"checks": [
{
"id": 1,
"name": "Browser binary present",
"status": "pass",
"detail": "/usr/bin/google-chrome (148.0.7778.167)"
},
{
"id": 13,
"name": "Allow-list present (optional)",
"status": "warn",
"detail": ".aiwg/browser-allowlist.yaml not found",
"remediation": "cp $AIWG_ROOT/agentic/code/addons/browser-control/templates/browser-allowlist.yaml.tmpl .aiwg/browser-allowlist.yaml"
}
]
}
Plain-text rendering for interactive use:
Browser Control — Health Check
==============================
[PASS] 1/14 Browser binary present /usr/bin/google-chrome (148.0.7778.167)
[PASS] 2/14 Browser version recent enough
[PASS] 3/14 Extension installed mmlmfjhmonkocbjadbfplnigmagldckm
[PASS] 4/14 Token file present ~/.config/playwright-mcp/token
…
[WARN] 13/14 Allow-list (optional) not scaffolded; consider adding
13 PASS, 1 WARN, 0 FAIL
--probe) since it spawns a process?claude-role), the override is intentional..aiwg/architecture/adr-remote-browser-control.mdskills/browser-setup/SKILL.md (this addon)skills/browser-reset/SKILL.md (this addon)data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.