chrome-devtools-coexistence — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited chrome-devtools-coexistence (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
pwa-debug and chrome-devtools-mcp are two separate MCP servers. pwa-debug exposes framework/store/DOM state; chrome-devtools-mcp drives the browser (snapshots, input, performance). They share one browser: pdl_launch_browser spawns it with the debug port live, and chrome-devtools-mcp attaches to that port via --browserUrl. This skill covers making chrome-devtools-mcp's tools appear after you register it, and preserving context across the restart that sometimes requires.
pdl_register_chrome_devtools (or a manual claude mcp add chrome-devtools …).pdl_check_setup reports chrome-devtools-mcp as not registered, unpinned (no --browserUrl → it spawns its own isolated browser instead of attaching to the pwa-debug browser), or pointed at the wrong port.A newly added or re-pinned MCP server only takes effect when Claude Code (re)connects it. How you trigger that depends on the install mode:
| Install mode | How chrome-devtools tools (re)load | Full restart? | Context lost? |
|---|---|---|---|
Direct MCP (claude mcp add …) | /mcp → reconnect the server, or restart Claude Code | Usually no (reconnect) | Only if you full-restart — see handoff |
| Plugin (bundled MCP server) | Enable in /plugins, then run `/reload-plugins` | No (same session) | No |
*`/mcp` reconnect picks up a changed registration. Verified in practice: after `claude mcp remove chrome-devtools` + `claude mcp add … --browserUrl http://127.0.0.1:<port>`, a `/mcp` → reconnect on `chrome-devtools` reloaded it with the new `--browserUrl` and it attached to the pwa-debug browser — no full restart, no context loss. Try `/mcp` reconnect first. If the client doesn't show it connected (some clients won't load a brand-new server without a restart), fall back to a full restart and do the context handoff* below first. Plugin installs always prefer /reload-plugins.
/mcp reconnect firstchrome-devtools server. This reloads it from the current registration (the pinned --browserUrl) in the same session — no context loss.chrome-devtools tool (e.g. list_pages) to confirm it attached to your browser (not a fresh blank one)./mcp reconnect doesn't make the tools available, fall back to a full restart — do the context handoff below first.Before telling the user to restart, compose a short context-handoff note and present it for them to copy. This matters because most users are not running a persistent-memory MCP, so restarting Claude Code wipes this conversation's context. The note lets them paste the thread back into the fresh session.
Keep it tight — what we're doing, where we are, the immediate next step, and any volatile state (ports, ids, branch). Template:
Context resume (pwa-debug + chrome-devtools):
- Goal: <one line — what we're building/debugging>
- Just did: registered chrome-devtools-mcp at http://127.0.0.1:<port> (direct MCP) and restarted.
- Next: <the immediate next action, e.g. "run pdl_check_setup, then pdl_launch_browser and verify chrome-devtools attached">
- State: branch <branch>, launch.defaultPort <port>, extension id <id if known>.
- Files in flight: <paths if mid-edit>.Then give the restart steps:
chrome-devtools shows as connected.pdl_check_setup.No context handoff is needed — the session is preserved.
pdl_launch_browser before any chrome-devtools tool call, so thebrowser + debug port exist for chrome-devtools to attach to.
pdl_check_setup flags an unpinned or wrong-port registration, re-runpdl_register_chrome_devtools (it removes + re-adds pinned at the active port), then reload/reconnect per the matrix above.
list_pages (chrome-devtools) — it should show the pagepwa-debug is on. If it shows a blank/own browser, the registration is still unpinned or chrome-devtools wasn't reconnected.
chrome-devtools-mcp only needs the debug port; pwa-debug needs the extension loaded in that same browser. How it gets there depends on the browser:
pdl_launch_browser sandbox modes preload it via --load-extension. Nothing to do.--load-extension was removed, so the launch comes up without the extension (debug port still live for chrome-devtools). Relay the launch's next_steps: a one-time chrome://extensions → Developer mode → Load unpacked of the printed extension dir (persists in that dedicated profile), or just relaunch with browser: "brave" / "chromium".Canonical both-tools profile: pdl_launch_browser({ browser: "brave", mode: "sandbox-persistent" }) → extension preloaded + debug port live + manifest auto-written, then pin chrome-devtools to that port. Verified live.
without proxying, which this project deliberately does not do (no upstream version coupling).
/mcp reconnect(verified to pick up a changed --browserUrl) or /reload-plugins for a plugin install; a full restart is the fallback, not the default.
(the --load-extension removal is deliberate); a one-time manual Load unpacked or a non-Google Chromium is the only path there.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.