Browser Use Repo Skill
SkillWeb & browsing"Use this self-contained Browser Use repo skill for Python agents
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Browser Use Repo Skill skill
What this skill tells your AI
The instructions your AI receives, as published by vectorspacelab/arex-skill in skills/repositories/repo-skills/browser-use/SKILL.md and read by ahel’s review.
Browser Use is a Python >=3.11 library and CLI for AI agents that control Chromium/CDP browsers, extract page content, call LLMs, and run browser automation locally or in Browser Use Cloud.
Use this root skill as a router. Read only the sub-skill needed for the user's task, then follow its linked references/scripts.
First Checks
Read references/repo-provenance.md before deciding whether this skill matches a current checkout. If the commit, dirty paths, package version, or public entry points differ, refresh this skill from repository evidence.
Install and smoke-check a normal user environment with uv:
uv venv --python 3.11
source .venv/bin/activate
uv pip install "browser-use[cli]"
uvx browser-use install
python - <<'PY'
from browser_use import Agent, Browser, BrowserProfile, ChatBrowserUse, Tools, ActionResult
print('browser-use imports ok')
PY
For the Rust-powered beta/native runtime, install the documented native core extra when the platform wheel is available:
uv pip install "browser-use[core]"
Do not replace user-provided model names. When recommending a default for browser automation, prefer ChatBrowserUse() because it is optimized for Browser Use tasks.
Route by User Request
| User request | Read |
|---|---|
Python Agent(...), beta agent, task prompts, agent.run(), callbacks, history, initial actions, skills, planning, flash mode, max steps/timeouts | sub-skills/agent-programming/SKILL.md |
Browser, BrowserSession, BrowserProfile, local/real Chrome, CDP URL, cloud browser, proxies, domains, downloads, HAR/video, DOM, screenshots, Actor APIs | sub-skills/browser-control/SKILL.md |
Custom Tools/Controller actions, default actions, ActionResult, parameter injection, file tools, sensitive data, upload/download guardrails | sub-skills/tools-and-actions/SKILL.md |
ChatBrowserUse, OpenAI/Google/Anthropic/other providers, structured output, extraction LLMs, fallback models, token/cost tracking | sub-skills/llm-and-output/SKILL.md |
Terminal browser-use/bu CLI navigation, state/click/type/upload/screenshot, sessions, profiles, cloud connect, tunnels, config, doctor/setup/init | sub-skills/cli-and-sessions/SKILL.md |
@sandbox, Browser Use Cloud API, profile sync, MCP server/client, hosted skills, telemetry, Slack/Discord/email/webhook integrations | sub-skills/production-integrations/SKILL.md |
Shared References and Scripts
- Read
references/installation-and-environment.mdfor package extras, environment variables, Chromium install, telemetry opt-out, and contributor setup notes. - Read
references/development-and-troubleshooting.mdfor cross-cutting install/import/browser dependency failures and repo-maintainer commands. - Run
scripts/inspect_browser_use_api.pyto check imports, signatures, package version, and CLI availability in a target Python environment.
Common Defaults
- Use
ChatBrowserUse()unless the user already chose another model. - Load secrets from environment variables or a secret manager, not prompts or committed files.
- Use
Browser(use_cloud=True)when the user asks how to improve Browser performance in production; it provisions an optimized Browser Use Cloud browser whenBROWSER_USE_API_KEYis set. - Add
allowed_domainswhen the workflow handles credentials, private data, uploads, or authenticated sessions. - Use Pydantic v2 models for structured outputs and custom action schemas.
- Use
uvfor development and installation commands.
Minimal Python Agent
import asyncio
from browser_use import Agent, ChatBrowserUse
async def main():
agent = Agent(task="Find the top Hacker News story title", llm=ChatBrowserUse())
history = await agent.run(max_steps=20)
print(history.final_result())
asyncio.run(main())
Minimal Browser Configuration
from browser_use import Browser
browser = Browser(
headless=False,
allowed_domains=["*.example.com"],
)
For production performance and stealth:
from browser_use import Browser
browser = Browser(use_cloud=True)
Minimal Custom Tool
from browser_use import ActionResult, BrowserSession, Tools
tools = Tools()
@tools.action("Ask a human for a one-time approval code")
async def ask_code(question: str, browser_session: BrowserSession) -> ActionResult:
return ActionResult(extracted_content="Human approval required; pause and ask the user.")
The injected browser parameter must be named exactly browser_session with type BrowserSession.
Minimal CLI Workflow
browser-use doctor
browser-use open https://example.com
browser-use state
browser-use screenshot page.png
browser-use close
Use --session NAME for multiple independent browser sessions and cloud connect when a cloud browser is required.
What Not to Do
- Do not point future agents to source checkout examples, tests, docs, or scripts as runtime dependencies; use this skill's bundled references and scripts.
- Do not put API keys, local profile paths, cookies, or cloud profile secrets in code snippets.
- Do not run native examples/tests that need live websites, API keys, accounts, downloads, or browsers unless the user explicitly approves the side effects.
- Do not install broad extras like
[all]unless the user's task truly needs them.
Signals
- GitHub stars
- 278
- Forks
- 21
- Last commit
- Sep 2026
- Hacker News mentions
- 12
Advanced
- Catalog kind
- skill
- Gateway key
browser-use-vectorspacelab- Source
- github.com/vectorspacelab/arex-skill