Web debug
Ported in spirit from amosblomqvist/pi-config's web-debug.
Claude Code drives a real Chrome tab through the mcp__claude-in-chrome__*
tools. This skill is the order of operations — not new tools.
Setup
tabs_context_mcp— see the user's existing tabs. Never reuse an old tab id.tabs_create_mcp— open a fresh tab for the debugging work.navigateto the failing URL (localhost dev server or live site).
The loop
- Reproduce. Do the exact steps the user described (
computerfor clicks/typing/scrolling,form_inputfor form fields,findto locate an element). Confirm you see the same broken behavior. - Read the evidence — before theorizing:
read_console_messages(usepattern:to filter, e.g. the app name orerror) — JS exceptions, failed assertions, warnings.read_network_requests— non-2xx responses, CORS failures, wrong payloads, slow calls.read_page/get_page_text— what the DOM actually contains vs expected.javascript_tool— evaluate expressions in page context to check state (component props, global vars, computed styles). Never triggeralert,confirm, orprompt— they freeze the tab.
- Form one hypothesis. State it to the user: "X is failing because Y."
- Fix in the source (outside the browser).
- Verify. Reload the tab, re-run the reproduction, confirm console/network are clean and the behavior is correct.
- If you want the user to see the fix,
gif_creatora short before/after.
Guardrails
- Stop and ask the user after 2–3 failed tool attempts, a dialog freeze, or if the page won't load — don't keep retrying or wander to unrelated pages.
- Don't click "Delete" / "Pay" / destructive buttons to reproduce unless the user explicitly said to; warn first.