browser-use

Control a headless browser to navigate URLs, click elements, fill forms, extract content from JavaScript-rendered pages, take screenshots, and automate end-to-end web workflows.

Best use case

browser-use is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Control a headless browser to navigate URLs, click elements, fill forms, extract content from JavaScript-rendered pages, take screenshots, and automate end-to-end web workflows.

Teams using browser-use should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/browser-use/SKILL.md --create-dirs "https://raw.githubusercontent.com/nvdigitalsolutions/mcp-ai-wpoos/main/includes/bundled-skills/browser-use/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/browser-use/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How browser-use Compares

Feature / Agentbrowser-useStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Control a headless browser to navigate URLs, click elements, fill forms, extract content from JavaScript-rendered pages, take screenshots, and automate end-to-end web workflows.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Browser Use

Interact with live web pages using browser automation. Use this skill when you need to:

- Navigate to URLs and interact with dynamic web content
- Fill out forms, click buttons, and follow links programmatically
- Scrape content from JavaScript-rendered pages (SPAs, dashboards)
- Run end-to-end UI tests against local or staging environments
- Research live web pages and synthesize their content
- Take screenshots for visual verification or debugging

## Prerequisites

Install the `browser-use` Python package and Playwright:

```bash
pip install browser-use playwright
playwright install chromium
```

Or use the browser-use CLI skill:

```bash
npx skills add browser-use/claude-skill
```

## Core Patterns

### Navigate and extract

```python
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page()
    page.goto('https://example.com')
    page.wait_for_load_state('networkidle')  # Wait for JS
    content = page.content()
    browser.close()
```

### Click and interact

```python
page.locator('button[type="submit"]').click()
page.fill('input[name="email"]', 'user@example.com')
page.select_option('select#country', 'US')
```

### Screenshot for verification

```python
page.screenshot(path='/tmp/screenshot.png', full_page=True)
```

### Handle authentication

```python
page.goto('https://app.example.com/login')
page.fill('#email', 'user@example.com')
page.fill('#password', 'secret')
page.locator('button[type="submit"]').click()
page.wait_for_url('**/dashboard')
```

## Decision Tree

```
Task requires web interaction?
    ├─ Static HTML → Read file directly; skip browser
    └─ Dynamic webapp / live URL
        ├─ Server not running → Start server first
        └─ Server running →
            1. Navigate and wait for networkidle
            2. Take screenshot or inspect DOM
            3. Identify selectors from rendered state
            4. Execute actions with discovered selectors
```

## End-to-End Test Workflow

```
User: "Verify the signup flow on staging works end-to-end"

Steps:
1. Open https://staging.yourapp.com/signup
2. Fill in test credentials
3. Click "Create account"
4. Wait for redirect to dashboard
5. Screenshot the result
6. Report: success or describe any failures found
```

## Security Rules

- **Never** submit real credentials or payment details in automated tests
- Use test accounts and sandbox environments only
- Confirm with the user before automating any write/purchase action
- Prefer `--dry-run` or review steps when destructive actions are involved

## Common Pitfalls

- ❌ Don't inspect DOM before `wait_for_load_state('networkidle')` on SPAs
- ✅ Always wait for JavaScript to finish before reading dynamic content
- ❌ Don't hardcode selectors that change between deploys
- ✅ Use stable selectors: `text=`, `role=`, data attributes, or IDs

## Tips

- Use `page.pause()` during development to inspect the live browser state
- Use `page.locator('.selector').all()` to discover all matching elements
- Chain `page.wait_for_selector()` before interacting with async-rendered elements
- For multi-page flows, keep one browser context open throughout the session

Related Skills

webapp-testing

5
from nvdigitalsolutions/mcp-ai-wpoos

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

web-artifacts-builder

5
from nvdigitalsolutions/mcp-ai-wpoos

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.

valyu

5
from nvdigitalsolutions/mcp-ai-wpoos

Search the live web and 36+ specialised data sources including SEC filings, PubMed, ChEMBL, clinical trials, FRED economic indicators, and patent databases. Use when current, authoritative, or paywalled data is required.

ui-ux-pro-max

5
from nvdigitalsolutions/mcp-ai-wpoos

AI-powered design intelligence with 67 UI styles, 161 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 15+ tech stacks. Generates complete design systems for any product type with industry-specific reasoning rules.

theme-factory

5
from nvdigitalsolutions/mcp-ai-wpoos

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

slack-gif-creator

5
from nvdigitalsolutions/mcp-ai-wpoos

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack."

skill-creator

5
from nvdigitalsolutions/mcp-ai-wpoos

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

shannon

5
from nvdigitalsolutions/mcp-ai-wpoos

Autonomous AI security pen testing. Executes real exploits against web applications to find SQL injection, XSS, SSRF, authentication flaws, and IDOR vulnerabilities. Reports only confirmed, reproducible findings — no false positives.

remotion

5
from nvdigitalsolutions/mcp-ai-wpoos

Create programmatic videos using React and Remotion. Translate natural language descriptions into working Remotion components for product demos, release announcements, explainer videos, and animated content.

planetscale

5
from nvdigitalsolutions/mcp-ai-wpoos

Design schemas and write queries for PlanetScale serverless MySQL using branch-based workflows. Ensures index coverage, avoids foreign key anti-patterns, and treats every schema change as a reviewable, reversible deploy request.

mcp-builder

5
from nvdigitalsolutions/mcp-ai-wpoos

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

karpathy-coding-principles

5
from nvdigitalsolutions/mcp-ai-wpoos

Apply Karpathy-inspired coding behavior guidelines — think before coding, prefer simplicity, make surgical changes, and execute toward verifiable goals. Reduces wrong assumptions, overengineering, and unintended side-effects.