browser-use browser-harness-js
COMMUNITYLABSCO SUMMARY
The cdp skill installs a small CLI, browser-harness-js, that spawns a long-lived Bun HTTP server holding one persistent CDP session; every call runs a JS snippet against that same session, so the active tab, target, and any variables you set survive across calls. The wrapper types are generated directly from Chrome's own browser_protocol.json and js_protocol.json, covering 56 domains — there is no click(), upload_file(), or goto(), only session.Domain.method(params) with full parameter autocomplete drawn from the CDP reference itself.
This is for someone building a browser-driving agent who already knows, or is willing to look up, the CDP method they need — mouse and keyboard dispatch, DOM queries, network interception, target management — and would rather have every parameter available than a curated subset. It needs Chrome running with the remote-debugging flag on, and the CLI installs Bun on first run unless BROWSER_HARNESS_SKIP_BUN_INSTALL is set. If you want an agent that can click a button today without reading the CDP method list first, this is the wrong layer — there is deliberately no helper for that.
READ THE FULL ANALYSIS
We could not verify this one runs end to end. Its dependency class is unverified: it needs an external binary (Bun) and a live Chrome instance with a debugging port open, neither of which our check can provision, so browser-use's "652 typed wrappers, zero drift" description of the code generation is the vendor's own claim, not something we confirmed by running it.
WHAT'S INSIDE
1 showing · 1 totalcdp
Chrome's own remote-control protocol, driven one line of JavaScript at a time from a terminal: every line lands on the same live connection, so the tab you opened and the variables you set are still waiting on the next one.
HOW TO GET IT
npx skills add browser-use/browser-harness-jsnpx skills add browser-use/browser-harness-js --skill <name> --full-depthPick the skill name from the Skills tab — each entry there installs independently.