← Back to Skills Marketplace
yorelog

BrowseCTL

by yorelog · GitHub ↗ · v0.1.1 · MIT-0
cross-platform ⚠ suspicious
91
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install browserctl
Description
WebDriver automation CLI for AI-driven browser control. Provides session management, tab control, element interaction, screenshots, batch execution, and an i...
README (SKILL.md)

browsectl

CRITICAL: Before doing anything, run browsectl setup to detect installed browsers and auto-download the matching WebDriver binary. Sessions persist to .browsectl/sessions.json across CLI invocations — you do not need to create a new session every time.

WebDriver automation CLI for AI-driven browser control. browsectl provides subcommands for browser session management, tab control, element interaction, screenshots, batch execution, and an interactive REPL.

Installation

npm install -g @yorelog/browsectl
browsectl setup

Skills

Session & Driver Lifecycle

skills/session.md

Session & driver lifecycle management.

Command Description
setup Detect browsers and download WebDriver binary
status Show driver and session status
driver-start Start the WebDriver server
session-create Create a new browser session
session-list List all active sessions
session-use Switch the default session
session-delete Delete a session

Browser Commands

skills/browser.md

Browser interaction commands — navigate, click, type, screenshot, scroll, read state, wait.

Command Description
run --type open Navigate to a URL
run --type click Click a DOM element by CSS selector
run --type fill Type text into an input field character by character
run --type paste Paste text via clipboard simulation
run --type screenshot Capture a DOM element to PNG
run --type scroll Scroll the page or a specific element
run --type title Get the current page title
run --type last-message-content Extract the last message block (chat UIs)
run --type wait Wait for a condition (visible, hidden, URL, title, JS)

Tab Management

skills/tabs.md

Tab management — list, create, switch, and close browser tabs.

Command Description
tab-list List all open tabs
tab-create Open a new tab
tab-switch Switch to a tab by index, alias, or handle
tab-close Close a tab

Batch Execution

skills/batch.md

Batch execution — run single commands, sequential batches from JSON files, and parallel groups.

Command Description
run Execute a single WebDriver command
batch Run a sequence of commands from a JSON file

Selector Syntax

skills/selectors.md

CSS selectors with ::text(/regex/flags) extension for filtering elements by text content.

Interactive REPL

skills/repl.md

Interactive REPL — live command entry, tab-completion, persistent history.

Command Description
repl Start the interactive REPL

Global CLI Flags

Flag Default Description
--browser chrome Browser to automate: chrome or edge
--server http://127.0.0.1:9515 WebDriver server URL
--chromedriver (auto-detected) Path to WebDriver binary (chromedriver / msedgedriver)
--chrome-binary (auto-detected) Path to browser binary
--user-data-dir ~/.browsectl/\x3Cbrowser>-profile Browser user-data directory
--profile-directory Default Browser profile directory name
--headless false Run browser in headless mode
--viewport 1024,768 Viewport size as width,height
--session (default session) Session ID to operate on

Platform Support

OS x64 arm64
macOS
Linux
Windows
Usage Guidance
This package is coherent with its stated purpose (a WebDriver CLI wrapper) but has two important security considerations: 1) Install behavior: the npm postinstall will download a prebuilt binary from GitHub Releases and place an executable on disk. That binary will be executed via the wrapper. Treat that as running third-party native code — verify the publisher/repo and trustworthiness before installing. 2) Sensitive local data access: the tool is designed to detect your installed browsers and (unless you opt out) can copy cookies and extensions from your real browser profile into the automation profile. If you run it non-interactively (background worker or invoked by an agent), the docs say it defaults to copying cookies and extensions. That can expose authentication cookies and extension data. If you need this skill, either run it in interactive mode and decline copying, use the explicit --no-copy-data flag, or run it in an isolated environment (clean browser profile or VM) to avoid leaking sensitive profile data. Additional recommendations: inspect the GitHub repository/release assets referenced in the SKILL.md, verify the binary checksum if available, and prefer installing only after confirming the upstream source. If you plan to let an AI agent invoke this autonomously, consider restricting that agent's ability to request operations that would trigger profile copying or downloads.
Capability Assessment
Purpose & Capability
Name/description align with the files and runtime behavior: this is an npm wrapper that installs and proxies to a browsectl binary and provides WebDriver-based browser automation. Requiring a browsectl binary and providing npm install instructions is coherent.
Instruction Scope
SKILL.md explicitly instructs running `browsectl setup` which will detect installed browsers and auto-download matching WebDriver binaries. The session-create docs describe copying user browser data (cookies and extensions) into the automation profile — and note that in non-interactive/background mode this copy defaults to enabled. That means the tool will access sensitive local browser profile files (Cookies SQLite DB, extensions) without additional environment variables or credentials. The instructions also persist sessions and driver info to ~/.browsectl, and start detached driver processes.
Install Mechanism
The npm package's postinstall (scripts/install.js) downloads a platform-specific prebuilt binary from GitHub Releases (https://github.com/yorelog/browsectl/releases) and extracts it into the package bin directory. Downloading releases from GitHub is common and reasonable, but it does write and chmod an executable on disk and relies on a network fetch at install time — this is moderate-risk behavior (trusted host but arbitrary binary execution).
Credentials
The skill declares no required environment variables, which is fine, but the documented runtime behavior involves reading local browser installations and profiles and (by default in non-interactive/background worker mode) copying cookies and extensions from the user's real browser profile. Access to these local files is not represented in the package metadata and is sensitive. No external API keys are requested, but local data access can still expose secrets (login cookies, extension state).
Persistence & Privilege
The skill is not marked always:true. It persists runtime state and sessions to ~/.browsectl and can spawn detached WebDriver server processes that remain running after CLI exit. Persisting sessions and storing binaries under the package are expected for a CLI tool, but you should be aware it creates files and running processes on install/use.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install browserctl
  3. After installation, invoke the skill by name or use /browserctl
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.1
- Adds skills, usage, and command references for all browsectl features in new documentation. - Details session management, browser control, tab operations, batch execution, and REPL capabilities. - Outlines required setup, installation steps, and supported platforms. - Documents all global CLI flags for flexible browser automation.
Metadata
Slug browserctl
Version 0.1.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is BrowseCTL?

WebDriver automation CLI for AI-driven browser control. Provides session management, tab control, element interaction, screenshots, batch execution, and an i... It is an AI Agent Skill for Claude Code / OpenClaw, with 91 downloads so far.

How do I install BrowseCTL?

Run "/install browserctl" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is BrowseCTL free?

Yes, BrowseCTL is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does BrowseCTL support?

BrowseCTL is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created BrowseCTL?

It is built and maintained by yorelog (@yorelog); the current version is v0.1.1.

💬 Comments