Chrome CDP
Skill
Attaches to an already-open local Chrome tab over the Chrome DevTools Protocol to inspect accessibility trees, screenshots, or live DOM state.
By Petr Baudis · Forked by Vedang Manerikar · git:github.com/vedang/chrome-cdp-skill · View source
What it does
Instead of launching a fresh headless browser that lacks your cookies, extensions, and authenticated state, Chrome CDP connects directly to your running Chrome instance via ws://127.0.0.1:9222. A lightweight background daemon holds the WebSocket connection open for 20 minutes of idle time so subsequent commands run without repeated permission popups.
This fork adds an explicit privacy guardrail: before listing tabs or attaching to any target, the agent must ask for approval in chat so you can close private tabs first.
When to reach for it
Invocation: Ask the agent to inspect or debug an open Chrome tab, or invoke /skill:chrome-cdp.
- Debugging a local or authenticated web app
- Capture the accessibility tree (snap), take screenshots (shot), or evaluate JavaScript (eval) in the exact tab you already have open.
- Reproducing a UI interaction
- Drive clicks, navigation, and form fills against the live page and inspect network or console state.
What it adds
- A zero-dependency Node.js CLI (cdp.mjs) supporting list, snap, eval, shot, html, nav, net, click, clickxy, type, loadall, and stop.
- Mandatory pre-connection user approval before inspecting open browser tabs.
Commands: /skill:chrome-cdp
How it fits
- Pi Exa — Use Pi Exa for normal public web searches and URL reading; use Chrome CDP only when you need a live browser session or local DOM.
Good to know
- Enable remote debugging in Chrome at chrome://inspect/#remote-debugging, and run cdp.mjs stop when you are done.
Source and setup
- Loaded via
git:github.com/vedang/chrome-cdp-skill- Attribution
- By Petr Baudis · Forked by Vedang Manerikar