Before you start
How to let Claude Code debug a web page
This tutorial
What you’ll set up: debugging a web page normally means a person clicking around a browser — an
agent can’t do that. cckit debug exposes the same browser tools (screenshots, accessibility
snapshots, console and network logs, Lighthouse) as plain commands an agent can run and read. Output
is TOON-encoded, so results stay small in the agent’s context.
-
Check availability first. cckit is pure bash; the browser bridge needs Node and Chrome. Check without running anything:
Terminal window cckit debug --checkIf Node/npx and Chrome are present,
cckit debugdrives the bridge. Otherwise it prints how to enable it and exits0— an unattended run is never hard-failed by a missing optional tool. -
Enable the bridge. Install chrome-devtools-axi, or rely on
npxif Node is present:Terminal window npm i -g chrome-devtools-axi # or: npx -y chrome-devtools-axi -
Let the agent drive it. Everything after
cckit debugis forwarded verbatim to the bridge, so the agent can take a screenshot, read the console, or run Lighthouse and act on the result:Terminal window cckit debug <axi-args...> # passed straight through — see the axi docs
How it works
Section titled “How it works”cckit debug wraps chrome-devtools-axi (by Kun Chen), a self-contained Chrome DevTools bridge for
agents. cckit only auto-detects and forwards to it — it never tracks the bridge’s evolving subcommand
surface, so args pass straight through. Because it’s optional and auto-detected, a missing Node or
Chrome degrades cleanly to a 0 exit with instructions rather than breaking a run.
Troubleshooting
Section titled “Troubleshooting”cckit debug --check says it’s unavailable. Node/npx or Chrome is missing. Install Node and
Chrome, then re-check; cckit won’t hard-fail without them.
The agent’s context filled with output. Results are TOON-encoded to stay compact, but a broad capture (full network log) is still large. Ask for the specific artifact — one screenshot, the console only — rather than everything.
A subcommand isn’t recognized. cckit forwards args verbatim to the bridge; the subcommand surface is the bridge’s, not cckit’s. Check the axi docs.
Related tutorials
Section titled “Related tutorials”Independent, educational project — not affiliated with or endorsed by Anthropic. Claude and Claude Code are trademarks of Anthropic PBC. Disclaimer & trademarks
From Mexico with love by josegtz