Skip to content
Automation
Skill

/ubrowser

Control a headless browser with 98% token reduction compared to Playwright MCP and Dev Browser. Uses batch execution, minimal responses, and efficient HTML formatting.

From plugin
ubrowser
121 skill1 command

Claude Code

$ npx -y skills add Lulzx/ubrowser --skill ubrowser --agent claude-code

SKILL.md

ubrowser.SKILL.md

μBrowser

Control a headless browser with 98% token reduction compared to Playwright MCP and Dev Browser. Uses batch execution, minimal responses, and efficient HTML formatting.

Setup

Start the ubrowser server before using browser tools:

./skills/ubrowser/server.sh &

Wait for "μBrowser MCP server started" message. First run installs dependencies and downloads Playwright Chromium.

Use `--headless` flag for headless mode:

./skills/ubrowser/server.sh --headless &

Key Optimization: Batch Execution

**Always prefer `browser_batch` for multi-step workflows.** This is the key to 98% cost savings.

Instead of:

browser_navigate → browser_type → browser_type → browser_click (4 calls, 4 snapshots)

Use:

{
  "tool": "browser_batch",
  "steps": [
    {"tool": "navigate", "args": {"url": "/login"}},
    {"tool": "type", "args": {"selector": "#email", "text": "user@test.com"}},
    {"tool": "type", "args": {"selector": "#password", "text": "secret"}},
    {"tool": "click", "args": {"selector": "button[type=submit]"}}
  ],
  "snapshot": {"when": "final"}
}

**Result: 1 call, 1 snapshot = 80%+ token reduction**

Available Tools

browser_navigate

Navigate to a URL.

{"url": "https://example.com"}

browser_click

Click element by ref or selector.

{"ref": "e1"}
{"selector": "button.submit"}

browser_type

Type text into input.

{"ref": "e2", "text": "hello@example.com", "clear": true, "pressEnter": true}

browser_select

Select dropdown option.

{"selector": "#country", "label": "United States"}

browser_scroll

Scroll page or element.

{"direction": "down", "amount": 500}
{"toBottom": true}

browser_snapshot

Get interactive elements with refs (e1, e2, e3...).

{"scope": "#main", "format": "full"}

browser_batch (KEY)

Execute multiple actions, snapshot only at end.

{
  "steps": [
    {"tool": "navigate", "args": {"url": "/search"}},
    {"tool": "type", "args": {"selector": "input[name=q]", "text": "query"}},
    {"tool": "click", "args": {"selector": "button[type=submit]"}}
  ],
  "snapshot": {"when": "final", "scope": ".results"}
}

browser_pages

Manage multiple browser pages.

{"action": "create", "name": "login"}
{"action": "switch", "name": "dashboard"}
{"action": "list"}
{"action": "close", "name": "login"}

browser_inspect

Inspect specific element.

{"selector": ".form", "includeText": true, "depth": 3}

Element References

Snapshots return elements with short refs:

<input id="e1" type="email" placeholder="Email">
<input id="e2" type="password">
<button id="e3">Sign In</button>

Use refs in subsequent commands: `{"ref": "e1", "text": "user@test.com"}`

Best Practices

1. **Always batch** - Use `browser_batch` for multi-step flows 2. **Request snapshots sparingly** - Default is no snapshot, add `snapshot: {include: true}` only when needed 3. **Scope snapshots** - Use `scope` parameter to limit to relevant DOM region 4. **Use refs** - Short IDs save tokens vs full selectors 5. **Use diff format** - After first snapshot, use `format: "diff"` for changes only

Cost Comparison (Opus 4.5)

| Approach | Per Task | Monthly (3000) | |----------|----------|----------------| | Playwright MCP | $3.28 | $9,827 | | μBrowser | $0.01 | $45 | | **Savings** | **$3.26** | **$9,782** |

Read more
@lulzx
Ships withubrowser

The fastest, cheapest browser automation for Claude.

Stars on GitHub

Momentum

stars in total
12
Star history of Lulzx/ubrowser on GitHub, a chart by star-history.com

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about ubrowser.

Which coding agents can use ubrowser?
ubrowser installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.