Agent skill

Chrome Cdp

by MatrixAges in MatrixAges/polywise

Interacts with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect, debug, or interact with pages open in Chrome)

MITAuto-check passedTesting & QA

Install Chrome Cdp

skills CLI
$ npx skills add MatrixAges/polywise --skill chrome-cdp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install MatrixAges/polywise chrome-cdp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/MatrixAges/polywise.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/chrome-cdp .claude/skills/chrome-cdp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
chrome-cdp
GitHub stars
662
Token cost
~800 tokens
SKILL.md length
242 words
Files
2 (incl. scripts)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Interacts with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect, debug, or interact with pages open in Chrome)

  • Tasks that involve Browser testing
  • SKILL.md covers Prerequisites, Commands, Coordinates and Tips
  • Runs JavaScript scripts from its folder

What it does

Chrome Cdp is an agent skill from MatrixAges/polywise. Interacts with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect, debug, or interact with pages open in Chrome)

Its SKILL.md is about 800 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts.

It sits in Testing & QA, covering Browser testing. It works with Chrome DevTools. The repository describes itself as: The open source agentic content system to make your contents alive. Self-hosted on any platform. ◑. The licence is MIT.

When your agent uses it

  • Tasks that involve Browser testing

Example prompts

  • “Use the chrome-cdp skill to interact with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect…”
  • “/chrome-cdp”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit f8d2320. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (JavaScript), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Chrome Cdp loads about 800 tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 242 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~800

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from MatrixAges/polywise at commit f8d2320, republished under its MIT licence (© MatrixAges). 242 words, ~800 tokens.

Download SKILL.mdSave it as .claude/skills/chrome-cdp/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
chrome-cdp
description
Interacts with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect, debug, or interact with pages open in Chrome)

Chrome CDP

Lightweight Chrome DevTools Protocol CLI. Direct connection via WebSocket, no Puppeteer required, supports 100+ tabs, instant connection.

Prerequisites

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

Commands

All commands use scripts/cdp.mjs. <target> is the unique targetId prefix from list output; copy the full prefix shown (e.g., 6BE827FA). CLI rejects ambiguous prefixes.

List Open Pages
bash
scripts/cdp.mjs list
Screenshot
bash
scripts/cdp.mjs shot <target> [file]    # Default: screenshot-<target>.png in runtime directory

Only captures the viewport. If content outside the viewport is needed, use eval to scroll first. Output includes page DPR and coordinate transformation hints (see Coordinates section below).

Accessibility Tree Snapshot
bash
scripts/cdp.mjs snap <target>
Execute JavaScript
bash
scripts/cdp.mjs eval <target> <expr>

Note: Avoid using index-based selections (querySelectorAll(...)[i]) across multiple eval calls, as DOM may change between calls (e.g., after ignoring clicks, indices shift). Collect all data in one eval or use stable selectors.

Other Commands
bash
scripts/cdp.mjs html    <target> [selector]   # Full page or element HTML
scripts/cdp.mjs nav     <target> <url>         # Navigate and wait for load complete
scripts/cdp.mjs net     <target>               # Resource timing entries
scripts/cdp.mjs click   <target> <selector>    # Click element via CSS selector
scripts/cdp.mjs clickxy <target> <x> <y>       # Click at CSS pixel coordinates
scripts/cdp.mjs type    <target> <text>         # Type text at current focus; works in cross-origin iframes
scripts/cdp.mjs loadall <target> <selector> [ms]  # Repeatedly click "load more" until it disappears (default 1500ms interval)
scripts/cdp.mjs evalraw <target> <method> [json]  # Raw CDP command passthrough
scripts/cdp.mjs open    [url]                  # Open new tab (allows prompt per trigger)
scripts/cdp.mjs stop    [target>               # Stop daemon

Coordinates

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

CSS px = Screenshot pixels / DPR

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

Tips

  • Prefer snap --compact over html for viewing page structure.
  • For typing text in cross-origin iframes, use type (not eval) — first focus with click/clickxy, then type.
  • Chrome shows "Allow debugging" modal on first access to each tab. Background daemon keeps session alive, subsequent commands don't need re-approval. Daemon auto-exits after 20 minutes of inactivity.

© MatrixAges, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in .opencode/skills/chrome-cdp of MatrixAges/polywise.

  • SKILL.md
  • scripts/cdp.mjs

Open the folder on GitHubat commit f8d2320

Compare with similar skills

Chrome Cdp next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Chrome Cdp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Chrome Cdp this skillMatrixAges/polywise662—~800Automated safety check: PassMIT
Browser Testing with Chrome DevToolsaddyosmani/agent-skills103k4 repos~3.5kAutomated safety check: WarnMIT
Browsingobra/superpowers-chrome3561 repos~8kAutomated safety check: PassMIT
Chrome Devtools Axilayer5io/sistent1382 repos~989Automated safety check: PassApache-2.0
Idleon Live CdpMrJoiny/Idleon-Injector112—~1.2kAutomated safety check: PassNone
Web Browsermitsuhiko/agent-stuff3.2k—~1.5kAutomated safety check: WarnApache-2.0

Similar skills

  • Connects an agent to a real Chrome instance through the Chrome DevTools MCP server, so it can inspect the DOM, read console errors and profile performance directly.

    103k GitHub starsUsed in 4 repos~3.5k tokens
    Testing & QAAuto-check: warnings
  • Browsing

    obra/superpowers-chrome

    A skill your agent uses when you need direct browser control - teaches Chrome DevTools Protocol for controlling existing browser sessions, multi-tab management, form automation, and content…

    356 GitHub starsUsed in 1 repo~8k tokens
    Testing & QAAuto-check passed
  • Chrome Devtools Axi

    layer5io/sistent

    Control a Chrome browser session through the chrome-devtools-axi CLI - navigate, snapshot, click, fill forms, run JavaScript, inspect console and network, take screenshots, audit performance.

    138 GitHub starsUsed in 2 repos~989 tokens
    Testing & QAAuto-check passed
  • Idleon Live Cdp

    MrJoiny/Idleon-Injector

    Inspect and interact with a running Legends of Idleon session through the Chrome DevTools Protocol on port 32123.

    112 GitHub stars~1.2k tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Web Browser

    mitsuhiko/agent-stuff

    Automate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take screenshots, and debug console or network…

    3.2k GitHub stars~1.5k tokensUpdated 10 days ago
    Testing & QAAuto-check: warnings
  • Diff-Driven Smoke Tests

    Skyvern-AI/skyvern

    Reads your git diff, writes a handful of happy-path browser smoke tests, runs them with Skyvern or Chrome DevTools MCP and posts screenshot evidence to the PR.

    23k GitHub stars~5.2k tokensUpdated today
    Testing & QAAuto-check passed

More from MatrixAges/polywise

All 11 skills in this repo
  • Skill Generator

    MatrixAges/polywise

    Called when users need to create new OpenCode skills. An agent skill from MatrixAges/polywise.

    662 GitHub stars~333 tokensUpdated 3 mo ago
    Auto-check passed
  • Agentmap Generator

    MatrixAges/polywise

    Guides the generation, reading, and updating of agentmap.md files.

    662 GitHub stars~489 tokensUpdated 3 mo ago
    Auto-check passed
  • CSS

    MatrixAges/polywise

    Guides styling implementation using TailwindCSS + CSS Modules.

    662 GitHub stars~1.3k tokensUpdated 3 mo ago
    Auto-check passed
  • Erpc Communication

    MatrixAges/polywise

    Guides using eRPC (electron-tRPC) for inter-process communication (IPC) between Electron main and renderer processes.

    662 GitHub stars~618 tokensUpdated 3 mo ago
    Auto-check passed
  • I18n

    MatrixAges/polywise

    Guides internationalization (i18n) implementation using i18next with TypeScript.

    662 GitHub stars~898 tokensUpdated 3 mo ago
    Auto-check passed
  • Mobx

    MatrixAges/polywise

    Guides state management implementation using MobX + tsyringe.

    662 GitHub stars~1.3k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Questions about Chrome Cdp

What does Chrome Cdp do?

Interacts with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect, debug, or interact with pages open in Chrome). Chrome Cdp is an agent skill from MatrixAges/polywise.

When should I use Chrome Cdp?

Chrome Cdp fits situations like: tasks that involve Browser testing.

How do I install Chrome Cdp in Claude Code?

Run `npx skills add MatrixAges/polywise --skill chrome-cdp -a claude-code`. Or copy the skill folder (.opencode/skills/chrome-cdp in MatrixAges/polywise) into .claude/skills/chrome-cdp in your project. Claude Code loads it when a task matches its description.

How do I install Chrome Cdp in Codex?

Run `npx skills add MatrixAges/polywise --skill chrome-cdp -a codex`. Or copy the skill folder (.opencode/skills/chrome-cdp in MatrixAges/polywise) into .agents/skills/chrome-cdp in your project. Codex loads it when a task matches its description.

Can I use Chrome Cdp in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MatrixAges/polywise --skill chrome-cdp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chrome-cdp, .gemini/skills/chrome-cdp, .github/skills/chrome-cdp and .opencode/skills/chrome-cdp in your project.

What does Chrome Cdp need to run?

Going by SKILL.md and its folder, Chrome Cdp needs JavaScript for the scripts in its folder. Our summary lists: Node.js.

Does Chrome Cdp access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Chrome Cdp safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Chrome Cdp use?

Chrome Cdp is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Chrome Cdp use?

About 800 tokens (SKILL.md is roughly 3.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Chrome Cdp?

Skills that share tags, products or a category with Chrome Cdp: Browser Testing with Chrome DevTools (addyosmani/agent-skills, 103k stars), Browsing (obra/superpowers-chrome, 356 stars), Chrome Devtools Axi (layer5io/sistent, 138 stars) and Idleon Live Cdp (MrJoiny/Idleon-Injector, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Chrome Cdp?

MatrixAges (a GitHub organization) maintains it in MatrixAges/polywise, which has 662 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on June 11, 2026.

Source: MatrixAges/polywise on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.