Claude Code Plugins

Community-maintained marketplace

Feedback

agent-browser-automate

@OWENLEEzy/agent-browser-skill
3
1

[INTERNAL TEMPLATE] Task automation execution protocol. Called by agent-browser orchestrator.

Install Skill

Shared

Installs to .agents/skills, used by Codex, Amp, Warp, Cursor, OpenCode, and more.

CodexAmp
Warp
CursorOpenCode
Cline
Gemini CLI
GitHub Copilot
Personal

Available across projects.

$npx skills-installer add @OWENLEEzy/agent-browser-skill/agent-browser-automate --client shared
Project

Writes to .agents/skills.

$npx skills-installer add @OWENLEEzy/agent-browser-skill/agent-browser-automate -p --client shared
Note: Review the skill instructions before using it.

SKILL.md

name agent-browser-automate
description [INTERNAL TEMPLATE] Task automation execution protocol. Called by agent-browser orchestrator.

Task Automation — Execution Protocol

Internal template. Entry point: agent-browser skill.


NEVER

NEVER use `fill` when you want to append — it clears first; use `type` to append
NEVER upload a file with `click` then `fill` — use dedicated `upload <sel> <path>` command
NEVER submit a form without showing field values first — judgment gate required

Auth Setup (choose one, in priority order)

# Option 1 (recommended): Auth Vault — encrypted, reusable
agent-browser auth login <vault-name>
agent-browser open <url>

# Option 2: Persistent profile (local only)
agent-browser --profile ~/.myapp open <url>

# Option 3: Token injection
agent-browser open <url>
agent-browser storage local set authToken "<token>"
agent-browser reload

# Option 4: HTTP Basic Auth
agent-browser open <url>
agent-browser set credentials <user> <pass>

# Option 5: Bearer header
agent-browser --headers '{"Authorization":"Bearer <token>"}' open <url>

Form Automation Sequence

agent-browser snapshot -i                                    # get refs
agent-browser find label "Email" fill "user@example.com"
agent-browser find label "Password" fill "<password>"
agent-browser find role button click --name "Submit"
agent-browser wait --load networkidle
agent-browser screenshot --full step-complete.png           # evidence

File Operations

# Upload
agent-browser find label "Attachment" upload ./file.pdf

# Download (triggers on button click, waits for completion)
agent-browser find role button click --name "Export CSV"
agent-browser wait --download ~/report.csv

# Generate PDF
agent-browser pdf ./report.pdf

Multi-Tab Flows

agent-browser tab new
agent-browser open <second-url>
agent-browser tab 0       # switch back to first tab (0-based index)
agent-browser tab list    # see all tabs with URLs

Clipboard

# Read clipboard
agent-browser clipboard read

# Write to clipboard
agent-browser clipboard write "text to copy"

# Copy element text to clipboard
agent-browser clipboard copy @e3

# Paste clipboard into element
agent-browser clipboard paste @e5

# macOS: paste system clipboard into focused element
agent-browser keyboard inserttext "$(pbpaste)"

Fine Mouse Control (canvas / Kanban / drawing apps)

agent-browser mouse move <x> <y>
agent-browser mouse down
agent-browser mouse move <x2> <y2>   # drag
agent-browser mouse up

Waiting Patterns

# Page load
agent-browser wait --load networkidle

# Wait for element to appear
agent-browser wait "#success-toast"

# Wait for element to disappear (loading spinner)
agent-browser wait "#spinner" --state hidden

# Wait for URL to change (after form submit / redirect)
agent-browser wait --url "**/dashboard"

# Wait for text to appear
agent-browser wait --text "Upload complete"

# Wait for download to finish
agent-browser wait --download ./report.xlsx

Recovery Patterns

Failure Recovery
Auth expired auth login <name> re-authenticate
Auth Vault password changed auth delete <name> then auth save <name>
Unexpected popup/dialog dialog status to confirm, then dialog dismiss
fill overwrites existing content Use type to append
Modal won't scroll scroll down --selector ".modal-body"

Judgment Gates

Pause when:

  • About to submit a form (show field values → ask confirm)
  • About to trigger download / delete / payment
  • Auth fails after retry (need fresh credentials)

Pitfalls

Mistake Fix
Auth Vault password changed auth delete + auth save again — no in-place update
fill clears content unintentionally Use type to append
File upload fails Use find label "..." upload <path>, not click then fill
Can't scroll inside modal scroll down --selector ".modal-body"
Download not captured Use wait --download <path> after clicking the download button
JS dialog blocks daemon completely Playwright intercepts at CDP level — eval "window.confirm = () => true" does NOT work (JS layer override can't reach CDP). Only reliable fix: dialog accept must be called from a second concurrent process while click is blocking.
Read-only DOM nodes missing from snapshot (<p>, <span>, <div> without ARIA roles) snapshot only exposes the accessibility tree — interactive elements only. Read non-interactive node content with eval "document.querySelector('#id').textContent" or eval "document.querySelector('.class').innerText".