원클릭으로
browser-harness
Always use browser-harness for any web interaction: automation, scraping, testing, or site/app work.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Always use browser-harness for any web interaction: automation, scraping, testing, or site/app work.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | browser-harness |
| description | Always use browser-harness for any web interaction: automation, scraping, testing, or site/app work. |
Direct browser control via CDP. For task-specific edits, use agent-workspace/agent_helpers.py. For setup, install, or connection problems, read references/install.md.
Domain skills are off by default. Set BH_DOMAIN_SKILLS=1 to enable them; see the bottom section.
If BH_DOMAIN_SKILLS=1 and the task is site-specific, read every file in the matching $BH_AGENT_WORKSPACE/domain-skills/<site>/ directory before inventing an approach.
browser-harness <<'PY'
print(page_info())
PY
browser-harness. Use heredocs for multi-line commands.run.py calls ensure_daemon() before exec.new_tab(url), not goto_url(url).If the daemon cannot connect, run diagnostics:
browser-harness --doctor
If Chrome remote debugging is not enabled, the harness opens:
chrome://inspect/#remote-debugging
Ask the user to tick "Allow remote debugging for this browser instance" and click Allow if Chrome shows a permission popup. Then retry the same browser-harness command.
capture_screenshot() to understand visible state.click_at_xy(x, y) -> screenshot again.wait_for_load().ensure_real_tab().js(...) for DOM inspection or extraction when coordinates are the wrong tool.cdp("Domain.method", ...).For temporal proof — motion, sequence, timing, or a demo flow — capture a walkthrough with Recorder and read interaction-skills/recording.md first.
Recording Axiom: no asynchronous background recording state the agent cannot inspect from the last command's return. The supported recording path is polling screenshots with Recorder, which writes a manifest beside the artifact. Do not use CDP screencast as the default recording path.
If you get stuck on a browser mechanic, read the matching file in interaction-skills/:
BU_NAME, BU_CDP_URL, or BU_CDP_WS.$BH_AGENT_WORKSPACE/agent_helpers.py.chrome://inspect/#remote-debugging must be enabled for local Chrome control.BU_CDP_URL is an HTTP DevTools endpoint; the daemon resolves it to WebSocket.Only applies when BH_DOMAIN_SKILLS=1. Otherwise ignore domain skills.
When enabled, search $BH_AGENT_WORKSPACE/domain-skills/<host>/ before inventing an approach. goto_url(...) returns up to 10 skill filenames for the navigated host.