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.

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 requestRead
Python Agent(...), beta agent, task prompts, agent.run(), callbacks, history, initial actions, skills, planning, flash mode, max steps/timeoutssub-skills/agent-programming/SKILL.md
Browser, BrowserSession, BrowserProfile, local/real Chrome, CDP URL, cloud browser, proxies, domains, downloads, HAR/video, DOM, screenshots, Actor APIssub-skills/browser-control/SKILL.md
Custom Tools/Controller actions, default actions, ActionResult, parameter injection, file tools, sensitive data, upload/download guardrailssub-skills/tools-and-actions/SKILL.md
ChatBrowserUse, OpenAI/Google/Anthropic/other providers, structured output, extraction LLMs, fallback models, token/cost trackingsub-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/initsub-skills/cli-and-sessions/SKILL.md
@sandbox, Browser Use Cloud API, profile sync, MCP server/client, hosted skills, telemetry, Slack/Discord/email/webhook integrationssub-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

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