Install any skill in seconds. Free to start, no credit card required.
Get Started Free →browser-use
Automates browser interactions for web testing, form filling, screenshots, and data extraction.
Passed 17 of 20 test cases with the skill, and 3 of 20 without it.
and 15 more in the full report
15 fixed2 passed either way2 still failing1 broke3 errored
Tokens, turns and time describe resource use, not a dollar price.
One of 15 test cases the skill fixed. Same model, same prompt, with and without the skill.
When provisioning a cloud browser daemon from an automated backend pipeline, which environment variable prevents the interactive live-view URL from being printed to logs or opened automatically?
| Checked | Without skill | With skill |
|---|---|---|
| Sets BH_OPEN_LIVE_URL to 0. | Missed | Passed |
The instructions your model reads when the skill loads.
Direct browser control via CDP. For task-specific edits, use agent-workspace/agent_helpers.py. For setup, install, or connection problems, read https://github.com/browser-use/browser-harness/blob/main/install.md.
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-use 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 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-use <<'PY'
print(page_info())
PY
browser-use. Use heredocs for multi-line commands.run.py calls ensure_daemon() before exec.new_tab(url), not goto_url(url). The daemon
preserves the attached tab across separate CLI invocations, so do not call
new_tab() again in every script.current_tab() and list_tabs() and use switch_tab() to reuse a matching
tab. Do not leave duplicate tabs on the same URL or close tabs you did not
create.new_tab() and switch_tab() attach and move the horse marker without
changing Chrome's visible tab. Screenshots and normal CDP input work in the
background. Never call activate_tab(target) automatically: it brings Chrome
to the foreground. Call it only when the user explicitly asks to see or
visibly switch to that tab. Do not pair switch_tab() with activate_tab().BU_NAME and reuse the default daemon for normal
sequential local work across websites, tabs, screenshots, and Codex turns.test cases passed, vs 3 / 20 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.