All skills
shipshitdev avatar

/agent-browser

@83043c5
by Ship Shitshipshitdev/library37 stars
3

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

Use this Skill: https://skilld.dev/gh/shipshitdev/library/agent-browser

This session only. Nothing lands on disk.

referencescommands.md

≈3.9k tokens on demand. Your agent reads this file only when SKILL.md points to it.

agent-browser Command Reference

Complete reference for all agent-browser CLI commands.

Installation

npm install -g agent-browser

Global Options

Option Description
--session <name> Use named session for parallel testing
--json Output results as JSON
--headed Show browser window (for debugging)
--cdp <port> Connect via Chrome DevTools Protocol

Navigation Commands

open

Navigate to a URL.

agent-browser open <url>
agent-browser open https://example.com
agent-browser open https://example.com --headed  # Show browser

back

Navigate back in history.

agent-browser back

forward

Navigate forward in history.

agent-browser forward

reload

Reload the current page.

agent-browser reload
agent-browser reload --hard  # Clear cache

close

Close the browser.

agent-browser close

Snapshot Commands

Snapshots analyze the page and return element references (@e1, @e2, etc.) for interactions.

snapshot

Get page accessibility tree.

agent-browser snapshot            # Full tree
agent-browser snapshot -i         # Interactive elements only (recommended)
agent-browser snapshot -c         # Compact output
agent-browser snapshot -d 3       # Limit depth to 3 levels
agent-browser snapshot -s "#main" # Scope to CSS selector
agent-browser snapshot -a         # Include ARIA attributes
agent-browser snapshot -f         # Full page (scroll through all)

Options:

Flag Description
-i Interactive elements only
-c Compact output
-d <n> Limit depth
-s <selector> Scope to CSS selector
-a Include ARIA attributes
-f Full page snapshot

Interaction Commands

All interaction commands use @refs from snapshot output.

click

Click an element.

agent-browser click @e1
agent-browser click @e1 --force   # Force click (bypass visibility checks)
agent-browser click @e1 --button right  # Right-click

dblclick

Double-click an element.

agent-browser dblclick @e1

focus

Focus an element.

agent-browser focus @e1

fill

Clear and type into an input.

agent-browser fill @e1 "text to type"
agent-browser fill @e1 ""  # Clear field

type

Type without clearing (append).

agent-browser type @e1 "additional text"

press

Press a key or key combination.

agent-browser press Enter
agent-browser press Tab
agent-browser press Escape
agent-browser press Control+a       # Select all
agent-browser press Control+c       # Copy
agent-browser press Control+v       # Paste
agent-browser press Shift+Tab       # Shift+Tab
agent-browser press Alt+F4          # Close window

keydown / keyup

Hold or release a key.

agent-browser keydown Shift
agent-browser click @e1
agent-browser keyup Shift

hover

Hover over an element.

agent-browser hover @e1

check / uncheck

Toggle checkboxes.

agent-browser check @e1
agent-browser uncheck @e1

select

Select dropdown option.

agent-browser select @e1 "Option Text"
agent-browser select @e1 --value "option_value"
agent-browser select @e1 --index 2

scroll

Scroll the page or element.

agent-browser scroll down 500     # Scroll down 500px
agent-browser scroll up 300       # Scroll up 300px
agent-browser scroll left 200     # Scroll left
agent-browser scroll right 200    # Scroll right
agent-browser scroll top          # Scroll to top
agent-browser scroll bottom       # Scroll to bottom

scrollintoview

Scroll element into viewport.

agent-browser scrollintoview @e1

drag

Drag and drop.

agent-browser drag @e1 @e2        # Drag e1 to e2
agent-browser drag @e1 100 200    # Drag e1 to coordinates

upload

Upload files to file input.

agent-browser upload @e1 file.pdf
agent-browser upload @e1 file1.pdf file2.pdf  # Multiple files

Information Commands

get text

Get element text content.

agent-browser get text @e1
agent-browser get text @e1 --json

get html

Get element innerHTML.

agent-browser get html @e1

get value

Get input value.

agent-browser get value @e1

get attr

Get element attribute.

agent-browser get attr @e1 href
agent-browser get attr @e1 data-id
agent-browser get attr @e1 class

get title

Get page title.

agent-browser get title

get url

Get current URL.

agent-browser get url

get count

Count elements matching selector.

agent-browser get count ".item"
agent-browser get count "button"
agent-browser get count "[data-testid='row']"

get box

Get element bounding box.

agent-browser get box @e1
# Returns: { x, y, width, height }

State Check Commands

is visible

Check if element is visible.

agent-browser is visible @e1
# Returns: true/false

is enabled

Check if element is enabled.

agent-browser is enabled @e1

is checked

Check if checkbox/radio is checked.

agent-browser is checked @e1

Screenshot & Media Commands

screenshot

Capture screenshot.

agent-browser screenshot                    # Output to stdout
agent-browser screenshot page.png           # Save to file
agent-browser screenshot --full page.png    # Full page scroll
agent-browser screenshot @e1 element.png    # Element only

pdf

Export page as PDF.

agent-browser pdf output.pdf
agent-browser pdf output.pdf --format A4
agent-browser pdf output.pdf --landscape

record

Record video.

agent-browser record start ./video.webm     # Start recording
agent-browser record stop                   # Stop and save
agent-browser record restart ./new.webm     # Stop current, start new

Wait Commands

wait (element)

Wait for element to appear.

agent-browser wait @e1
agent-browser wait @e1 --timeout 10000

wait (time)

Wait for milliseconds.

agent-browser wait 2000

wait --text

Wait for text to appear.

agent-browser wait --text "Success"
agent-browser wait --text "Loading" --gone  # Wait for text to disappear

wait --url

Wait for URL pattern.

agent-browser wait --url "**/dashboard"
agent-browser wait --url "https://example.com/success"

wait --load

Wait for page load state.

agent-browser wait --load domcontentloaded
agent-browser wait --load load
agent-browser wait --load networkidle

wait --fn

Wait for JavaScript condition.

agent-browser wait --fn "window.loaded === true"
agent-browser wait --fn "document.querySelectorAll('.item').length > 5"

Mouse Commands

mouse move

Move mouse to coordinates.

agent-browser mouse move 100 200

mouse down / up

Press/release mouse button.

agent-browser mouse down left
agent-browser mouse up left
agent-browser mouse down right

mouse wheel

Scroll with mouse wheel.

agent-browser mouse wheel 100       # Scroll down
agent-browser mouse wheel -100      # Scroll up

Semantic Locators

Alternative to @refs - find elements by semantic properties.

find role

Find by ARIA role.

agent-browser find role button click --name "Submit"
agent-browser find role textbox fill "text" --name "Email"
agent-browser find role link click --name "Home"

find text

Find by text content.

agent-browser find text "Sign In" click
agent-browser find text "Continue" click

find label

Find input by label.

agent-browser find label "Email" fill "user@test.com"
agent-browser find label "Password" fill "<test-password-placeholder>"

find first / nth

Find by CSS selector.

agent-browser find first ".item" click
agent-browser find nth 2 ".item" click     # 0-indexed
agent-browser find last ".item" click

Browser Settings

set viewport

Set browser viewport size.

agent-browser set viewport 1920 1080
agent-browser set viewport 375 812  # Mobile

set device

Emulate device.

agent-browser set device "iPhone 14"
agent-browser set device "iPad Pro"
agent-browser set device "Pixel 7"

set geo

Set geolocation.

agent-browser set geo 37.7749 -122.4194  # San Francisco

set offline

Toggle offline mode.

agent-browser set offline on
agent-browser set offline off

set headers

Set extra HTTP headers.

agent-browser set headers '{"X-Test-Run": "true"}'

set credentials

Set HTTP basic auth credentials.

agent-browser set credentials <test-user> <test-password-placeholder>

set media

Set media features (dark mode, etc.).

agent-browser set media dark
agent-browser set media light
agent-browser set media reduced-motion

Cookies & Storage

cookies

Manage cookies.

agent-browser cookies                     # Get all
agent-browser cookies set test_mode true  # Set non-sensitive cookie
agent-browser cookies get name            # Get specific
agent-browser cookies clear               # Clear all
agent-browser cookies clear --name foo    # Clear specific

storage

Manage localStorage/sessionStorage.

agent-browser storage local               # Get all localStorage
agent-browser storage local key           # Get specific key
agent-browser storage local set key value # Set value
agent-browser storage local clear         # Clear all

agent-browser storage session             # sessionStorage
agent-browser storage session key
agent-browser storage session set key value
agent-browser storage session clear

state

Save/load browser state (cookies + storage).

agent-browser state save auth.json        # Save state
agent-browser state load auth.json        # Load state

Network Commands

network route

Intercept and mock network requests.

agent-browser network route "**/api/data"              # Log requests
agent-browser network route "**/api/data" --abort      # Block requests
agent-browser network route "**/api/data" --body '{}' # Mock response
agent-browser network route "**/api/data" --status 500 # Mock status
agent-browser network route "**/*.png" --abort         # Block images

network unroute

Remove network interception.

agent-browser network unroute              # Remove all
agent-browser network unroute "**/api/*"   # Remove specific

network requests

View intercepted requests.

agent-browser network requests
agent-browser network requests --filter api
agent-browser network requests --method POST

Tab & Window Commands

tab

Manage browser tabs.

agent-browser tab                 # List all tabs
agent-browser tab new             # New blank tab
agent-browser tab new <url>       # New tab with URL
agent-browser tab 2               # Switch to tab index
agent-browser tab close           # Close current tab
agent-browser tab close 2         # Close tab by index

window

Manage browser windows.

agent-browser window new          # New window
agent-browser window close        # Close window

Frame Commands

frame

Switch between frames.

agent-browser frame "#iframe-id"  # Switch to iframe
agent-browser frame "[name=foo]"  # By name attribute
agent-browser frame main          # Back to main frame

Dialog Commands

dialog

Handle JavaScript dialogs (alert, confirm, prompt).

agent-browser dialog accept       # Accept dialog
agent-browser dialog accept "text" # Accept with input (for prompt)
agent-browser dialog dismiss      # Dismiss dialog

JavaScript Commands

eval

Execute JavaScript in page context.

agent-browser eval "document.title"
agent-browser eval "window.scrollY"
agent-browser eval "Object.keys(localStorage)"
agent-browser eval "document.querySelectorAll('.item').length"

Session Commands

Run parallel browser instances.

agent-browser --session test1 open site-a.com
agent-browser --session test2 open site-b.com
agent-browser --session test1 snapshot -i
agent-browser --session test2 snapshot -i
agent-browser session list
agent-browser session close test1

Debugging Commands

console

View browser console output.

agent-browser console             # View messages
agent-browser console --clear     # Clear console
agent-browser console --filter error  # Filter by type

errors

View page errors.

agent-browser errors
agent-browser errors --clear

highlight

Highlight element on page (headed mode).

agent-browser highlight @e1

trace

Record performance trace.

agent-browser trace start
# ... perform actions ...
agent-browser trace stop trace.zip

Common Patterns

Login Flow (with saved auth state)

# Login
agent-browser open https://app.example.com/login
agent-browser snapshot -i
agent-browser fill @e1 "testuser"
agent-browser fill @e2 "<test-password-placeholder>"
agent-browser click @e3
agent-browser wait --url "**/dashboard"

# Save auth state for reuse
agent-browser state save auth.json

# Load state in a new session
agent-browser state load auth.json
agent-browser open https://app.example.com/protected

Form Validation Testing

agent-browser open https://app.example.com/signup
agent-browser snapshot -i

# Test empty submission
agent-browser click @e5  # Submit button
agent-browser snapshot -i  # Check for error messages

# Test invalid email
agent-browser fill @e1 "invalid-email"
agent-browser click @e5
agent-browser get text @e1  # Check error

# Test valid submission
agent-browser fill @e1 "valid@email.com"
agent-browser fill @e2 "<test-password-placeholder>"
agent-browser click @e5
agent-browser wait --url "**/dashboard"

Visual Regression Testing

agent-browser open https://app.example.com
agent-browser set viewport 1920 1080
agent-browser screenshot desktop.png --full

agent-browser set device "iPhone 14"
agent-browser reload
agent-browser screenshot mobile.png --full

Multi-Step Checkout Testing

agent-browser open https://shop.example.com/cart
agent-browser snapshot -i

# Step 1: Cart
agent-browser click @e3  # Proceed to checkout

# Step 2: Shipping
agent-browser wait @e1
agent-browser snapshot -i
agent-browser fill @e1 "123 Test St"
agent-browser fill @e2 "Test City"
agent-browser select @e3 "CA"
agent-browser fill @e4 "90210"
agent-browser click @e5  # Continue

# Step 3: Payment
agent-browser wait --text "Payment"
agent-browser snapshot -i
agent-browser fill @e1 "<payment-test-token>"
agent-browser fill @e2 "<test-expiry>"
agent-browser fill @e3 "<test-cvc>"
agent-browser click @e4  # Place order

agent-browser wait --text "Order confirmed"
agent-browser screenshot order-confirmation.png

API Response Mocking

# Mock slow API response
agent-browser network route "**/api/data" --body '{"items":[]}'
agent-browser open https://app.example.com
agent-browser snapshot -i  # Verify empty state UI

# Block external analytics
agent-browser network route "**/analytics/**" --abort

Source: SKILL.md on GitHub

1 warning16d4 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides powerful browser automation tools that handle untrusted web page content and facilitate form interaction. While it includes robust guidelines for prompt injection boundaries and secret handling, the surface area for indirect prompt injection from processing external web data warrants a low severity rating. All referenced upstream repositories and authors align properly with safe developer practices.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    2/3 files flagged

Signed by skilld at 83043c5. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 3 months ago
What it can do
Runs commands
All 1 allowed tools
Bash(agent-browser:*)
Other metadata
metadata
{
  "version": "1.0.1",
  "source": "https://github.com/vercel-labs/agent-browser/blob/main/skills/agent-browser/SKILL.md",
  "upstream_repo": "vercel-labs/agent-browser",
  "upstream_ref": "main",
  "upstream_commit": "d33bdb36f3f7",
  "last_synced": "2026-06-12",
  "license": "Apache-2.0",
  "tags": "browser, automation, testing"
}

README badge

README badge for shipshitdev/library/agent-browser