browser-harness
Control a real browser via CDP: clicking, typing, navigation, logged-in sessions, JS-rendered or bot-protected pages. Not for plain HTTP fetches of public content - use curl for those.
Install
git clone https://github.com/browser-use/browser-harness ~/.claude/skills/browser-harness
From README
browser-harness Direct browser control via CDP. For task-specific edits, use agent-workspace/agenthelpers.py. For , , or connection problems, read https://github.com/browser-use/browser-harness/blob/main/ .md. When Not to Use A basic fetch of public information needs no browser. If a plain HTTP request can read it — a public page, an API, docs — use curl or your fetch tool, and leave the browser alone. Use browser-harness when the task needs interaction (click, type, navigate), the user's logged-in session, JS rendering, or a bot-protected page. If a direct fetch fails or returns a shell page, then escalate to the browser. Domain skills are off by default. Set BHDOMAINSKILLS=1 to enable them; see the bottom section. If BHDOMAINSKILLS=1 and the task is site-specific, read every file in the matching $BHAGENTWORKSPACE/domain-skills/ / directory before inventing an approach. Invoke as browser-harness. Use heredocs for multi-line commands. Helpers are pre-imported.
More skills
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work.
cloud
Documentation reference for using Browser Use Cloud — the hosted API and SDK for browser automation.
open-source
Documentation reference for writing Python code using the browser-use open-source library.
