browser-use
Control the user's existing signed-in Chrome: callable Codex Chrome plugin first, then OpenClaw extension-backed mcporter, with direct DevTools attachment…
Skill by steipete
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/steipete-browser-use
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/browser-use
What's inside
- Skill name
browser-use- Description
- Control the user's existing signed-in Chrome: callable Codex Chrome plugin first, then OpenClaw extension-backed mcporter, with direct DevTools attachment only as a last fallback.
- License
- MIT
- Instructions
- 287 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- auto-allow.py
- mcporter-config.md
SKILL.md (first lines)
# Browser Use
Control the user's existing real Chrome profile, especially for login-dependent work and live UI verification.
## Route
1. Use the Codex `Chrome` or `Chrome [Internal]` plugin when it is callable in
the active session. Installed on disk is not enough.
2. Otherwise prefer the OpenClaw extension-backed mcporter route.
3. Use legacy direct DevTools attachment only as the explicit last fallback.
For mcporter, the MCP call remains the agent-facing control interface. The
OpenClaw extension is the transport underneath it, not a separate tool. Set
`chromeDevtoolsRelay: "require"` on the canonical global Chrome server definition
to enforce relay-only routing. Keep the caller policy explicit as well:
```bash
MCPORTER_CHROME_DEVTOOLS_RELAY_POLICY=require mcporter call chrome-devtools.<tool>
```
Seeing an agent request the `chrome-devtools` MCP tool is therefore expected.
A Chrome **Allow remote debugging?** prompt or a relay-policy error indicates
that the extension transport was not used. The shared daemon retains canonical
policy; a shell environment prefix alone cannot change that policy.
Never use isolated Chrome, the Codex in-app browser, Playwright, Puppeteer,
AppleScript, `osascript`, generic GUI scripting, or macOS `open` as a browser-control
substitute unless the user explicitly asks for an isolated or new browser.
Peekaboo is allowed only for Chrome or extension setup and visible prompts.
Login-heavy sites often depend on the real profile's cookies, SSO, device trust,
and extensions.
For a rendered-browser bug, prove behavior through this real profile. Treat
`curl`, source inspection, API checks, and isolated test browsers as supporting
evidence, not substitutes for live UI proof.
## Extension Relay Model
OpenClaw creates a random per-host relay key in its mode-`0600` credentials
directory. The extension and same-host clients use nonce-bound mutual HMAC
proofs. The reusable key is never sent to an unverified loopback listener,
placed in a URL, or passed to the child MCP process. Keep credentials out of
configuration, command output, chat, logs, and screenshots.
On a same-host relay, mcporter authenticates `/json/version` and upgrades the
same retained socket to `/cdp`, then gives `chrome-devtools-mcp` a protected
one-use local handoff. Agents still call the standard MCP tools; successful
relay routing is what removes direct DevTools attachment and Chrome's approval
prompt.
New pairings default to **All tabs**: every ordinary eligible tab is exposed
except tabs explicitly paused in the popup. Existing pairings keep their stored
mode. In **Selected tabs** mode, membership in the Chrome tab group titled
**OpenClaw** is the sharing boundary. Restricted/internal pages, incognito,
other profiles, and tabs without an eligible URL remain excluded in both modes.
### Topology Boundary
Direct remote Gateway pairing over `wss://` lets OpenClaw's Gateway-side
browser tool control local Chrome. It does not create a local relay for a local
mcporter process. Do not routinely copy remote secrets or build ad-hoc SSH
tunnels around this boundary.
If local mcporter cannot authenticate to a local relay, the extension-backed
mcporter route is unavailable. Report that clearly or use the labeled legacy
fallback; never represent remote Gateway control or direct attachment as local
relay success.
## Setup and Repair
- Run `openclaw browser extension install` before **Load unpacked**. It copies
the extension to the stable OpenClaw-owned path, pre-registers that path's
deterministic Chrome ID, and prints the path to load. The first native call
then pairs automatically for local or browser-node topology.
- Use `openclaw browser extension status --json` to verify the installed copy,
exact origins, and native-host registrations. Status must report no issues and
`manualSetupRequired: false`.
- Confirm Settings reports automatic setup ready and the popup reports
**Connected**. New installs should show **All tabs** unless the user changes
the access mode; no copied pairing string or popup setup is part of the normal
local flow.
- A previous native-host miss is cached for the Chrome process. If the extension
attempted native messaging before installation, restart Chrome once after
installing; repeated retries in the same process cannot repair that cache.
- After pairing or changing the relay route, stop the mcporter daemon before
re-running relay-only proof. A Gateway restart can leave the Chrome DevTools
child alive with a dead upstream socket; `mcporter daemon stop` retires it
before the next call creates a fresh connection.
- Direct remote Gateway pairing remains an Advanced manual flow. It serves the
Gateway browser path and does not create a local relay for local mcporter.
### Discovery Timeout and Daemon Configuration
MCPorter discovers the actual relay through
`openclaw browser extension cdp --json`. Even packaged OpenClaw can take more
than five seconds to cold-start. In mcporter 0.13.10, discovery failure falls
back to port 18799; a timeout can therefore appear as `network-error` at the
wrong endpoint, or as `browser_owner_conflict` when a later discovery returns
the real endpoint. Do not interpret that sequence as proof that another Chrome
owner or credential rotation caused the failure.
For the shared Chrome owner, use the OS account's canonical
`~/.mcporter/mcporter.json` (or `mcporter.jsonc` only when the JSON file is absent).
Merge these fields into its existing Chrome definition, preserving its command,
arguments and other settings:
```json
{
"chromeDevtoolsRelay": "require",
"env": {
"MCPORTER_CHROME_DEVTOOLS_RELAY_TIMEOUT_MS": "20000"
}
}
```
The relay timeout bounds each discovery or authentication step; it does not
extend the client's total operation deadline. Initial Chrome startup can run
several discovery checks before MCP initialization and the requested tool call.
On older installed clients, pair the canonical `20000` per-step setting withFrom steipete/agent-scripts, MIT.
More from steipete/agent-scripts
- 0.843score
codex-first
steipete
Claude Code work routing: delegate hands-on work to Codex under the native-Claude model gate.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.843score
fleet-maintenance
steipete
Mac fleet inventory and upkeep with full/worker profiles: collect installed apps and packages, compare desired versus observed state, audit local-account…
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.840score
project-structure
steipete
Generate a single-file compressed symbol map of a TypeScript or Swift repository — files, exported symbols, typed signatures, plugin boundaries — sized to fit…
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
nano-banana-pro
steipete
Nano Banana/Gemini image gen/edit: text/image input, 512-4K workflows.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
video-transcript-downloader
steipete
yt-dlp downloads: video, audio, subtitles, transcripts, clips, playlists.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
openclaw-relay
steipete
OpenClaw session relay: prompts/posts via local/remote acpx over SSH.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.838score
codex-huge-context
steipete
Codex 1M context: direct OpenAI Responses API inference, safe Astra/Sol/Terra/Luna input headroom, Keychain delivery, and Mac fleet rollout.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.835score
release-mac-app
steipete
macOS app release: Sparkle, notarization, GitHub Release, Homebrew, closeout.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.835score
npm
steipete
npm registry ops: login, whoami, names, publish; 1Password tmux.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.834score
markdown-converter
steipete
Markdown conversion: PDF, Office, HTML, data, OCR, audio, ZIP, YouTube.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.829score
remote-mac
steipete
Remote Macs: MacBooks, Mac Studios, hosted claw Macs, Tailscale, SSH, and OpenClaw.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.797score
maintainer-orchestrator
steipete
Coordinate multiple maintainer issues, PRs, or repositories with bounded workers, serialized public actions, and clear owner decisions.
SkillBFreshness: B★ 7.4KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 7,401
- Forks
- 646
- Open issues
- 0
- Last commit (this folder)
- Sep 12, 2026 (1 month ago)
- Last release
- Jul 17, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/steipete/agent-scripts
- Website
- steipete.me
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from steipete
- 0.843score
codex-first
steipete
Claude Code work routing: delegate hands-on work to Codex under the native-Claude model gate.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.843score
fleet-maintenance
steipete
Mac fleet inventory and upkeep with full/worker profiles: collect installed apps and packages, compare desired versus observed state, audit local-account…
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.840score
project-structure
steipete
Generate a single-file compressed symbol map of a TypeScript or Swift repository — files, exported symbols, typed signatures, plugin boundaries — sized to fit…
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
video-transcript-downloader
steipete
yt-dlp downloads: video, audio, subtitles, transcripts, clips, playlists.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
openclaw-relay
steipete
OpenClaw session relay: prompts/posts via local/remote acpx over SSH.
SkillAFreshness: A★ 7.4KClaude Code +9 - 0.839score
nano-banana-pro
steipete
Nano Banana/Gemini image gen/edit: text/image input, 512-4K workflows.
SkillAFreshness: A★ 7.4KClaude Code +9
Cite this page
browser-use skill. Agent Mart. https://agentmart.dev/skills/steipete-browser-use (last updated 2026-10-24)