Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pasky avatar

Chrome Cdp

  • 1.9k installs
  • 3.2k repo stars
  • Updated June 28, 2026
  • pasky/chrome-cdp-skill

chrome-cdp is an agent skill that Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or inter.

About

Lightweight Chrome DevTools Protocol CLI Connects directly via WebSocket no Puppeteer works with 100 tabs instant connection Chrome or Chromium Brave Edge Vivaldi with remote debugging enabled open chrome inspect remote debugging and toggle the switch Node js 22 uses built in WebSocket If your browser s DevToolsActivePort is in a non standard location set CDP_PORT_FILE to its full path All commands use scripts cdp mjs The target is a unique targetId prefix from list copy the full prefix shown in the list output for example 6BE827FA The CLI rejects ambiguous prefixes bash scripts cdp mjs shot target file default screenshot target png in runtime dir Captures the viewport only Scroll first with eval if you need content below the fold Output includes the page s DPR and coordinate conversion hint see Coordinates below

  • description: Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, de
  • Lightweight Chrome DevTools Protocol CLI. Connects directly via WebSocket — no Puppeteer, works with 100+ tabs, instant
  • - Chrome (or Chromium, Brave, Edge, Vivaldi) with remote debugging enabled: open `chrome://inspect/#remote-debugging` an
  • Follow chrome-cdp SKILL.md steps and documented constraints.
  • Follow chrome-cdp SKILL.md steps and documented constraints.

Chrome Cdp by the numbers

  • 1,942 all-time installs (skills.sh)
  • +13 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #642 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

chrome-cdp capabilities & compatibility

Capabilities
description: interact with local chrome browser · lightweight chrome devtools protocol cli. connec · chrome (or chromium, brave, edge, vivaldi) wit · follow chrome cdp skill.md steps and documented
Use cases
orchestration
From the docs

What chrome-cdp says it does

description: Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or interact with a page open in Chrome)
SKILL.md
Lightweight Chrome DevTools Protocol CLI. Connects directly via WebSocket — no Puppeteer, works with 100+ tabs, instant connection.
SKILL.md
- Chrome (or Chromium, Brave, Edge, Vivaldi) with remote debugging enabled: open `chrome://inspect/#remote-debugging` and toggle the switch
SKILL.md
npx skills add https://github.com/pasky/chrome-cdp-skill --skill chrome-cdp

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.9k
repo stars3.2k
Security audit2 / 3 scanners passed
Last updatedJune 28, 2026
Repositorypasky/chrome-cdp-skill

When should an agent use chrome-cdp and what problem does it solve?

Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or interact with a page open in Chrome)

Who is it for?

Developers invoking chrome-cdp as documented in the skill source.

Skip if: Skip when requirements fall outside chrome-cdp documented scope.

When should I use this skill?

Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or interact with a page open in Chrome)

What you get

Outputs aligned with the chrome-cdp SKILL.md workflow and stated deliverables.

  • Browser screenshots
  • CDP command results

By the numbers

  • Requires Node 22+ for built-in WebSocket support
  • Per-tab daemons auto-exit after 20 minutes idle
  • Default 15000ms command timeout and 30000ms navigation timeout

Files

SKILL.mdMarkdownGitHub ↗

Chrome CDP

Lightweight Chrome DevTools Protocol CLI. Connects directly via WebSocket — no Puppeteer, works with 100+ tabs, instant connection.

Prerequisites

  • Chrome (or Chromium, Brave, Edge, Vivaldi) with remote debugging enabled: open chrome://inspect/#remote-debugging and toggle the switch
  • Node.js 22+ (uses built-in WebSocket)
  • If your browser's DevToolsActivePort is in a non-standard location, set CDP_PORT_FILE to its full path

Commands

All commands use scripts/cdp.mjs. The <target> is a unique targetId prefix from list; copy the full prefix shown in the list output (for example 6BE827FA). The CLI rejects ambiguous prefixes.

List open pages

scripts/cdp.mjs list

Take a screenshot

scripts/cdp.mjs shot <target> [file]    # default: screenshot-<target>.png in runtime dir

Captures the viewport only. Scroll first with eval if you need content below the fold. Output includes the page's DPR and coordinate conversion hint (see Coordinates below).

Accessibility tree snapshot

scripts/cdp.mjs snap <target>

Evaluate JavaScript

scripts/cdp.mjs eval <target> <expr>
Watch out: avoid index-based selection (querySelectorAll(...)[i]) across multiple eval calls when the DOM can change between them (e.g. after clicking Ignore, card indices shift). Collect all data in one eval or use stable selectors.

Other commands

scripts/cdp.mjs html    <target> [selector]   # full page or element HTML
scripts/cdp.mjs nav     <target> <url>         # navigate and wait for load
scripts/cdp.mjs net     <target>               # resource timing entries
scripts/cdp.mjs click   <target> <selector>    # click element by CSS selector
scripts/cdp.mjs clickxy <target> <x> <y>       # click at CSS pixel coords
scripts/cdp.mjs type    <target> <text>         # Input.insertText at current focus; works in cross-origin iframes unlike eval
scripts/cdp.mjs loadall <target> <selector> [ms]  # click "load more" until gone (default 1500ms between clicks)
scripts/cdp.mjs evalraw <target> <method> [json]  # raw CDP command passthrough
scripts/cdp.mjs open    [url]                  # open new tab (each triggers Allow prompt)
scripts/cdp.mjs stop    [target]               # stop daemon(s)

Coordinates

shot saves an image at native resolution: image pixels = CSS pixels × DPR. CDP Input events (clickxy etc.) take CSS pixels.

CSS px = screenshot image px / DPR

shot prints the DPR for the current page. Typical Retina (DPR=2): divide screenshot coords by 2.

Tips

  • Prefer snap --compact over html for page structure.
  • Use type (not eval) to enter text in cross-origin iframes — click/clickxy to focus first, then type.
  • Chrome shows an "Allow debugging" modal once per tab on first access. A background daemon keeps the session alive so subsequent commands need no further approval. Daemons auto-exit after 20 minutes of inactivity.

Related skills

Forks & variants (1)

Chrome Cdp has 1 known copy in the catalog totaling 223 installs. They canonicalize to this original listing.

How it compares

Pick chrome-cdp for minimal CDP shell control in agents; choose Playwright or Puppeteer when you need cross-browser test suites and rich selector APIs.

FAQ

What is chrome-cdp?

Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or interact with a page open in Chrome)

When should I use chrome-cdp?

Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or interact with a page open in Chrome)

Is chrome-cdp safe to install?

Review the Security Audits panel on this page before production use.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.