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