Individual skill
cdp
Drive Chrome via the DevTools Protocol from JavaScript. Run JS snippets through the `browser-harness-js` CLI — it auto-spawns a long-lived bun HTTP server holding a fully-typed CDP `Session`, and every call (`browser-harness-js 'await session.Page.navigate(...)'`) executes against the same persistent connection. Session, active target, and globals survive across calls. Use when the user wants to automate, script, or inspect a Chrome browser via CDP — single tab or multi-tab, attach to existing Chrome or to a new one launched with --remote-debugging-port.
SKILL.md
Source commit 2d9a5ed37ed11f31b2622cd69c4b55f979cb905f
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 498
- Repository last updated
- Aug 30, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- testing Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.gitignoreasset · 52 bytesLICENSEasset · 1,068 bytesREADME.mddoc · 4,228 bytesSKILL.mdcore · 13,228 bytesSKILL.mdcore · 13,228 bytesSKILL.mdcore · 13,228 bytesSKILL.mdcore · 13,228 bytesSKILL.mdcore · 13,228 bytesSKILL.mdcore · 13,228 bytesSKILL.mdcore · 13,228 bytesSKILL.mdcore · 13,228 bytesdocs/setup-remote-debugging.pngasset · 50,720 bytesinteraction-skills/connection.mddoc · 4,062 bytesinteraction-skills/cookies.mddoc · 2,117 bytesinteraction-skills/cross-origin-iframes.mddoc · 3,153 bytesinteraction-skills/dialogs.mddoc · 2,540 bytesinteraction-skills/downloads.mddoc · 3,123 bytesinteraction-skills/drag-and-drop.mddoc · 3,387 bytesinteraction-skills/dropdowns.mddoc · 3,543 bytesinteraction-skills/iframes.mddoc · 2,655 bytesinteraction-skills/network-requests.mddoc · 3,933 bytesinteraction-skills/print-as-pdf.mddoc · 3,004 bytesinteraction-skills/screenshots.mddoc · 2,340 bytesinteraction-skills/scrolling.mddoc · 3,156 bytesinteraction-skills/shadow-dom.mddoc · 3,015 bytesinteraction-skills/tabs.mddoc · 2,652 bytesinteraction-skills/uploads.mddoc · 2,580 bytesinteraction-skills/viewport.mddoc · 2,938 bytessdk/browser-harness-jsruns · 4,159 bytessdk/browser_protocol.jsonasset · 1,406,521 bytessdk/bun.lockasset · 1,169 bytessdk/gen.tsruns · 9,361 bytessdk/generated.tsruns · 655,460 bytessdk/js_protocol.jsonasset · 181,640 bytessdk/package.jsonruns · 239 bytessdk/repl.tsruns · 4,170 bytessdk/session.test.tsruns · 991 bytessdk/session.tsruns · 15,218 bytessdk/tsconfig.jsonasset · 335 bytes
Read excerpt
# CDP — `browser-harness-js` skill
Custom codegen'd CDP SDK (every method from browser_protocol.json + js_protocol.json gets a typed wrapper) plus a tiny HTTP server that holds one persistent CDP `Session`. The `browser-harness-js` CLI auto-starts the server on first use and forwards JS snippets to it.
The SDK lives in the skill's `sdk/` directory. In the rest of this doc, `<skill-dir>` refers to wherever `npx skills add` installed the skill (Claude Code: `~/.claude/skills/cdp`; Cursor: `~/.cursor/skills/cdp`; other agents vary). The CLI should be on PATH as `browser-harness-js`.
## Setup (once, first use)
`npx skills add` drops the skill into your agent's skills directory but does NOT put the CLI on PATH. Before the first call, verify it's reachable and symlink it into any directory on your PATH if not:
```bash
# macOS (Apple Silicon + Homebrew)
command -v browser-harness-js >/dev/null || ln -sf <skill-dir>/sdk/browser-harness-js /opt/homebrew/bin/browser-harness-js