Chrome CDP Skill
Give your AI agent access to your live Chrome session — no extra setup.
Evidence: The tool requires access to Chrome's remote debugging port, but the permission scope is not explicitly limited; on first access to a tab, Chrome's 'Allow debugging' modal appears, providing user confirmation; README explains data flow (WebSocket connection, screenshots, HTML reading, etc.) but does not detail how data is stored or transmitted; may handle sensitive data (e.g., logged-in page content) but no encryption or anonymization is mentioned; dependencies are only Node.js 22+, no third-party npm packages, but no dependency security audit is provided; external effects include opening new tabs, navigation, clicking, etc., but no mention of reversibility; no rollback mechanism; source attribution is only MIT license and author name, identity not verified. Deductions: permissions not least-privilege, data flow transparency insufficient, sensitive data handling not specified, dependency security not audited, external effects irreversible, no rollback, source not verified.
Evidence: README and package.json descriptions are consistent; command list matches description; dependencies are only Node.js 22+, but no specific version range is given, which may affect availability; error handling is not detailed, e.g., messages when target not found or connection fails. Deduction: unclear error messages.
Evidence: Target audience is AI agent developers; scenarios include reading logged-in pages, interacting with tabs; capability boundaries are clear (command list), but limitations like cross-origin restrictions are not mentioned; trigger is command-line arguments, precise but fuzzy matching rules not specified; environment support includes multiple browsers and OSes, but non-standard paths are only partially supported. Deductions: capability boundaries and trigger precision not fully detailed.
Evidence: Information architecture is clear, README well-structured; installation instructions are detailed, including pi skill and other agents; naming is stable, but version numbers are inconsistent between README and package.json (v1.0.1 vs 1.1.0); examples only list commands, no FAQ; known limitations not explicitly listed; license is MIT, but copyright year is 2026 (possibly erroneous); versioning changelog missing; maintenance responsibility not clear. Deductions: naming inconsistency, insufficient examples, missing known limitations, missing changelog, unclear maintenance.
Evidence: Outputs include screenshots, HTML, accessibility tree, etc., practical formats; marginal value is high, solving existing tool pain points; cost is low, only Node.js required, no extra dependencies. Deductions: none.
Evidence: Claims in README (e.g., handling 100+ tabs) are not supported by tests or benchmarks; no external sources corroborate; facts and inferences are not clearly separated. Deductions: claims lack verifiable evidence.
- This tool allows AI agents to access live Chrome sessions, potentially reading sensitive data (e.g., logged-in pages); ensure use in a controlled environment.
- Permissions are not least-privilege; it can execute arbitrary JavaScript (eval command), so authorize with caution.
- Version numbers are inconsistent (README v1.0.1 vs package.json 1.1.0), which may affect installation.
- No rollback mechanism; external actions (e.g., navigation, clicks) are irreversible.
What does this agent do, and when should you use it?
chrome-cdp-skill is a lightweight tool that connects to your existing Chrome session via the Chrome DevTools Protocol. It enables AI agents to read and interact with tabs you already have open, utilizing logged-in accounts and current page state without re-login. The skill provides a CLI script that lists tabs, takes screenshots, fetches accessibility trees, extracts HTML, evaluates JavaScript, navigates, clicks, types, and more. It uses persistent daemons to avoid repeated authorization prompts and reliably handles over 100 open tabs. With only Node.js 22+ as a runtime, no npm install required, it is easy to deploy.
It connects directly to Chrome's remote debugging WebSocket, without Puppeteer. On first access to a tab, it spawns a background daemon holding the session, triggering Chrome's 'Allow debugging' modal once; subsequent commands reuse the daemon silently. Provides commands: list open tabs (list), screenshot (shot), accessibility tree (snap), HTML extraction (html), evaluate JS in page context (eval), navigate (nav), network resource timing (net), click element by selector (click) or coordinates (clickxy), type at focused element (type), click 'load more' until gone (loadall), and raw CDP passthrough (evalraw). Also supports opening a new tab (open) and stopping daemons (stop).
- Developers testing a web page can let an AI agent directly view and operate the current page state without restarting the browser.
- For sites requiring login (e.g., Gmail, GitHub), the AI agent can access authenticated sessions, avoiding repeated logins.
- In multi-tab workflows, the AI agent can monitor many tabs simultaneously, reliably handling over 100 open tabs.
- Automation tasks needing interaction, like clicking buttons, filling forms, or scrolling through load-more content, can be executed via CLI commands.
- Integrating with agents like Claude Code or Amp by copying the skill directory provides immediate browser capabilities.
- For frontend debugging, the AI agent can evaluate custom JavaScript expressions and retrieve results.
What are this agent's strengths and limitations?
- Directly connects to an existing Chrome session, no new browser instance, preserving login state.
- Persistent daemons avoid repeated authorization modals and support over 100 tabs.
- No npm dependencies, only Node.js 22+ required, easy install.
- Supports multiple browsers (Chrome, Chromium, Brave, Edge, Vivaldi) and OSes.
- Rich CLI commands covering common interactions (click, type, navigate, screenshot, etc.).
- Requires manually enabling Chrome remote debugging and user authorization once per tab.
- Depends on Node.js 22+, which may not be available in older environments.
- Daemons auto-exit after 20 minutes of inactivity, long-running tasks may need to restart.
- Only works with desktop Chromium-based browsers, not mobile or non-Chromium.
How do you install or deploy this agent?
Install as a pi skill: pi install git:github.com/pasky/[email protected]. For other agents, clone or copy the skills/chrome-cdp/ directory to your agent's skills location. Runtime only requires Node.js 22+, no npm install needed. Enable Chrome remote debugging by navigating to chrome://inspect/#remote-debugging and toggling the switch.
How do you use this agent?
Use the CLI script, e.g., scripts/cdp.mjs list to list open tabs, scripts/cdp.mjs snap <target> for accessibility tree, scripts/cdp.mjs eval <target> "expression" to evaluate JS. <target> is a unique prefix of the targetId shown by list. Set the CDP_PORT_FILE environment variable to specify a non-standard DevToolsActivePort path.
How does this agent compare with similar options?
Compared to chrome-devtools-mcp, chrome-cdp uses persistent daemons, avoiding frequent reconnection modals and target enumeration timeouts with many tabs open.