my-browser-bot

v1.0.4

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

0· 179·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for handongpu16/my-browser-bot.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "my-browser-bot" (handongpu16/my-browser-bot) from ClawHub.
Skill page: https://clawhub.ai/handongpu16/my-browser-bot
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install my-browser-bot

ClawHub CLI

Package manager switcher

npx clawhub@latest install my-browser-bot
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The name and description (browser automation) match the instructions: navigate pages, snapshot DOM, click/fill elements, take screenshots, and download files. Requiring an external CLI and Chromium is coherent for this purpose.
Instruction Scope
SKILL.md tells the agent to run a pipx install of 'mybrowser-skill' and then run many browser actions (navigate arbitrary URLs, click elements, download files, save screenshots to temp files). These actions are expected for a browser automation tool, but they also imply the agent will access arbitrary web content and local temp files — review how the installed tool handles data, network I/O, and filesystem writes.
!
Install Mechanism
The skill is instruction-only but instructs users/agents to run 'pipx install mybrowser-skill' and to run 'mybrowser-skill install' which will download Chromium. Installing an unvetted PyPI package and downloading a browser binary are moderate risks because the exact sources/URLs and package provenance are not specified.
Credentials
No environment variables, credentials, or config paths are requested. The lack of required secrets is proportionate to the declared functionality.
Persistence & Privilege
The skill is not set to always:true and does not request elevated platform-wide privileges. Autonomous invocation is allowed (default) but not combined with other concerning flags.
Assessment
This skill appears to do what it says, but before installing: (1) verify the package source — check the PyPI package page or the source repository and author identity; (2) inspect the package code or review its repo for how it downloads Chromium (which host/URL and checksum); (3) install and run it in a sandboxed environment or container first, not on a sensitive machine; (4) avoid giving the tool any secrets or credentials and be cautious when automating actions on pages that contain private data; (5) prefer alternatives with clear provenance or an official homepage if you cannot verify this package. If you can provide the package's homepage or repository, I can reassess with higher confidence.

Like a lobster shell, security has layers — review code before you run it.

latestvk971gyh6vftwkvzwr7svpbqycx835a10
179downloads
0stars
5versions
Updated 1mo ago
v1.0.4
MIT-0

mybrowser-skill

Platform Support

  • Linux x86_64: Supported
  • macOS: Not supported
  • Windows: Not supported
  • Other Linux architectures (ARM, etc.) are not supported.

Installation

pipx install mybrowser-skill
mybrowser-skill install   # Download Chromium

Note:

Each command will return a snapshot of the current page after execution, including the index of elements. Please call the standalone mybrowser-skill browser_snapshot command only when necessary to avoid unnecessary token consumption.

Core Workflow

Every browser automation follows this pattern:

  1. Navigate: mybrowser-skill browser_go_to_url --url <url>
  2. Snapshot: mybrowser-skill browser_snapshot (get indexed element refs)
  3. Interact: Use element index to click, fill, select
  4. Re-snapshot: After navigation or DOM changes, get fresh refs
mybrowser-skill browser_go_to_url --url https://example.com/form
mybrowser-skill browser_snapshot
# Output includes element indices: [1] input "email", [2] input "password", [3] button "Submit"

mybrowser-skill browser_input_text --index 1 --text "user@example.com"
mybrowser-skill browser_input_text --index 2 --text "password123"
mybrowser-skill browser_click_element --index 3
mybrowser-skill browser_wait --seconds 2
mybrowser-skill browser_snapshot  # Check result

Essential Commands

# Navigation
mybrowser-skill browser_go_to_url --url <url>       # Navigate to URL
mybrowser-skill browser_go_back                      # Go back
mybrowser-skill browser_wait --seconds 3             # Wait for page load (default 3s)

# Snapshot & Screenshot
mybrowser-skill browser_snapshot                     # Get page content with element indices
mybrowser-skill browser_screenshot                   # Take screenshot (returns temp file path of .webp image)
mybrowser-skill browser_screenshot --full            # Full-page screenshot (returns temp file path)
mybrowser-skill browser_screenshot --annotate        # Annotated screenshot with element labels (returns temp file path)
mybrowser-skill browser_markdownify                  # Convert page to markdown

# Click & Input (use indices from snapshot)
mybrowser-skill browser_click_element --index 1      # Click element
mybrowser-skill browser_dblclick_element --index 1   # Double-click element
mybrowser-skill browser_focus_element --index 1      # Focus element
mybrowser-skill browser_input_text --index 1 --text "hello"  # Input text into element

# Scroll
mybrowser-skill browser_scroll_down                  # Scroll down one page
mybrowser-skill browser_scroll_down --amount 300     # Scroll down 300px
mybrowser-skill browser_scroll_up                    # Scroll up one page
mybrowser-skill browser_scroll_up --amount 300       # Scroll up 300px
mybrowser-skill browser_scroll_to_text --text "Section 3"    # Scroll to text
mybrowser-skill browser_scroll_to_top                # Scroll to top
mybrowser-skill browser_scroll_to_bottom             # Scroll to bottom
mybrowser-skill browser_scroll_by --direction down --pixels 500              # Scroll page by direction
mybrowser-skill browser_scroll_by --direction right --pixels 200 --index 3   # Scroll element by direction
mybrowser-skill browser_scroll_into_view --index 5   # Scroll element into view

# Keyboard
mybrowser-skill browser_keypress --key Enter         # Press a key
mybrowser-skill browser_keyboard_op --action type --text "hello"        # Type text
mybrowser-skill browser_keyboard_op --action inserttext --text "hello"  # Insert text without key events
mybrowser-skill browser_keydown --key Shift          # Hold down a key
mybrowser-skill browser_keyup --key Shift            # Release a key

# Dropdown
mybrowser-skill browser_get_dropdown_options --index 2           # Get dropdown options
mybrowser-skill browser_select_dropdown_option --index 2 --text "Option A"  # Select option

# Checkbox
mybrowser-skill browser_check_op --index 4 --value               # Check checkbox
mybrowser-skill browser_check_op --index 4                        # Uncheck checkbox (omit --value)

# Get Information
mybrowser-skill browser_get_info --type text --index 1   # Get element text
mybrowser-skill browser_get_info --type url              # Get current URL
mybrowser-skill browser_get_info --type title            # Get page title
mybrowser-skill browser_get_info --type html --index 1   # Get element HTML
mybrowser-skill browser_get_info --type value --index 1  # Get element value
mybrowser-skill browser_get_info --type attr --index 1 --attribute href   # Get attribute
mybrowser-skill browser_get_info --type count            # Get element count
mybrowser-skill browser_get_info --type box --index 1    # Get bounding box
mybrowser-skill browser_get_info --type styles --index 1 # Get computed styles
mybrowser-skill browser_check_state --state visible --index 1    # Check visibility
mybrowser-skill browser_check_state --state enabled --index 1    # Check if enabled
mybrowser-skill browser_check_state --state checked --index 1    # Check if checked

# Find and Act (semantic locators)
mybrowser-skill browser_find_and_act --by role --value button --action click --name "Submit"
mybrowser-skill browser_find_and_act --by text --value "Sign In" --action click
mybrowser-skill browser_find_and_act --by label --value "Email" --action fill --actionValue "user@test.com"
mybrowser-skill browser_find_and_act --by placeholder --value "Search" --action type --actionValue "query"
mybrowser-skill browser_find_and_act --by testid --value "submit-btn" --action click

# Download
mybrowser-skill browser_download_file --index 5      # Download file by clicking element
mybrowser-skill browser_download_url                 # Download from URL

# Tab Management
mybrowser-skill browser_tab_open --url <url>         # Open URL in new tab
mybrowser-skill browser_tab_list                     # List open tabs
mybrowser-skill browser_tab_switch --tabId 2         # Switch to tab
mybrowser-skill browser_tab_close --tabId 2          # Close tab

# Dialog
mybrowser-skill browser_dialog --action accept       # Accept dialog
mybrowser-skill browser_dialog --action dismiss      # Dismiss dialog
mybrowser-skill browser_dialog --action accept --text "input text"  # Accept prompt with text

# Task Completion
mybrowser-skill browser_done --success --text "Task completed"      # Mark task as done
mybrowser-skill browser_done --text "Still in progress"              # Mark task as incomplete

# Help
mybrowser-skill list                                 # List all available skills
mybrowser-skill <skill_name> --help                  # Show help for a specific skill

# Skill Status 
mybrowser-skill status                               # Check status

Common Patterns

Form Submission

mybrowser-skill browser_go_to_url --url https://example.com/signup
mybrowser-skill browser_snapshot
mybrowser-skill browser_input_text --index 1 --text "Jane Doe"
mybrowser-skill browser_input_text --index 2 --text "jane@example.com"
mybrowser-skill browser_select_dropdown_option --index 3 --text "California"
mybrowser-skill browser_check_op --index 4 --value
mybrowser-skill browser_click_element --index 5
mybrowser-skill browser_wait --seconds 2
mybrowser-skill browser_snapshot  # Verify result

Data Extraction

mybrowser-skill browser_go_to_url --url https://example.com/products
mybrowser-skill browser_snapshot
mybrowser-skill browser_get_info --type text --index 5    # Get specific element text
mybrowser-skill browser_markdownify                        # Get full page as markdown

Infinite Scroll Pages

mybrowser-skill browser_go_to_url --url https://example.com/feed
mybrowser-skill browser_scroll_to_bottom     # Trigger lazy loading
mybrowser-skill browser_wait --seconds 2     # Wait for content
mybrowser-skill browser_snapshot             # Get updated content

Element Index Lifecycle (Important)

Element indices are invalidated when the page changes. Always re-snapshot after:

  • Clicking links or buttons that navigate
  • Form submissions
  • Dynamic content loading (dropdowns, modals, AJAX)
mybrowser-skill browser_click_element --index 5   # May navigate to new page
mybrowser-skill browser_snapshot                   # MUST re-snapshot
mybrowser-skill browser_click_element --index 1   # Use new indices

Comments

Loading comments...