"Use this self-contained Browser Use repo skill for Python agents
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill browser-use --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Browser Use?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-browser-use)More formats (shields.io, HTML) on the badges page.
---
name: browser-use
description: "Use this self-contained Browser Use repo skill for Python agents
that automate websites, browser sessions, custom tools, LLM/provider setup,
persistent CLI sessions, cloud/sandbox production deployment, MCP, skills, and
troubleshooting. Prefer ChatBrowserUse by default and route to focused
sub-skills for implementation details."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Browser Use Repo Skill
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`:
```bash
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:
```bash
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.md` for package extras, environment variables, Chromium install, telemetry opt-out, and contributor setup notes.
- Read `references/development-and-troubleshooting.md` for cross-cutting install/import/browser dependency failures and repo-maintainer commands.
- Run `scripts/inspect_browser_use_api.py` to 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 when `BROWSER_USE_API_KEY` is set.
- Add `allowed_domains` when the workflow handles credentials, private data, uploads, or authenticated sessions.
- Use Pydantic v2 models for structured outputs and custom action schemas.
- Use `uv` for development and installation commands.
## Minimal Python Agent
```python
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
```python
from browser_use import Browser
browser = Browser(
headless=False,
allowed_domains=["*.example.com"],
)
```
For production performance and stealth:
```python
from browser_use import Browser
browser = Browser(use_cloud=True)
```
## Minimal Custom Tool
```python
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
```bash
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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!