.claude/skills/browser/SKILL.md
Web browser automation with AI-optimized snapshots for claude-flow agents
npx skillsauth add softmg/product-tracker browserInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Web browser automation using agent-browser with AI-optimized snapshots. Reduces context by 93% using element refs (@e1, @e2) instead of full DOM.
# 1. Navigate to page
agent-browser open <url>
# 2. Get accessibility tree with element refs
agent-browser snapshot -i # -i = interactive elements only
# 3. Interact using refs from snapshot
agent-browser click @e2
agent-browser fill @e3 "text"
# 4. Re-snapshot after page changes
agent-browser snapshot -i
| Command | Description |
|---------|-------------|
| open <url> | Navigate to URL |
| back | Go back |
| forward | Go forward |
| reload | Reload page |
| close | Close browser |
| Command | Description |
|---------|-------------|
| snapshot | Full accessibility tree |
| snapshot -i | Interactive elements only (buttons, links, inputs) |
| snapshot -c | Compact (remove empty elements) |
| snapshot -d 3 | Limit depth to 3 levels |
| screenshot [path] | Capture screenshot (base64 if no path) |
| Command | Description |
|---------|-------------|
| click <sel> | Click element |
| fill <sel> <text> | Clear and fill input |
| type <sel> <text> | Type with key events |
| press <key> | Press key (Enter, Tab, etc.) |
| hover <sel> | Hover element |
| select <sel> <val> | Select dropdown option |
| check/uncheck <sel> | Toggle checkbox |
| scroll <dir> [px] | Scroll page |
| Command | Description |
|---------|-------------|
| get text <sel> | Get text content |
| get html <sel> | Get innerHTML |
| get value <sel> | Get input value |
| get attr <sel> <attr> | Get attribute |
| get title | Get page title |
| get url | Get current URL |
| Command | Description |
|---------|-------------|
| wait <selector> | Wait for element |
| wait <ms> | Wait milliseconds |
| wait --text "text" | Wait for text |
| wait --url "pattern" | Wait for URL |
| wait --load networkidle | Wait for load state |
| Command | Description |
|---------|-------------|
| --session <name> | Use isolated session |
| session list | List active sessions |
# Get refs from snapshot
agent-browser snapshot -i
# Output: button "Submit" [ref=e2]
# Use ref to interact
agent-browser click @e2
agent-browser click "#submit"
agent-browser fill ".email-input" "[email protected]"
agent-browser find role button click --name "Submit"
agent-browser find label "Email" fill "[email protected]"
agent-browser find testid "login-btn" click
agent-browser open https://example.com/login
agent-browser snapshot -i
agent-browser fill @e2 "[email protected]"
agent-browser fill @e3 "password123"
agent-browser click @e4
agent-browser wait --url "**/dashboard"
agent-browser open https://example.com/contact
agent-browser snapshot -i
agent-browser fill @e1 "John Doe"
agent-browser fill @e2 "[email protected]"
agent-browser fill @e3 "Hello, this is my message"
agent-browser click @e4
agent-browser wait --text "Thank you"
agent-browser open https://example.com/products
agent-browser snapshot -i
# Iterate through product refs
agent-browser get text @e1 # Product name
agent-browser get text @e2 # Price
agent-browser get attr @e3 href # Link
# Session 1: Navigator
agent-browser --session nav open https://example.com
agent-browser --session nav state save auth.json
# Session 2: Scraper (uses same auth)
agent-browser --session scrape state load auth.json
agent-browser --session scrape open https://example.com/data
agent-browser --session scrape snapshot -i
All browser operations are available as MCP tools with browser/ prefix:
browser/openbrowser/snapshotbrowser/clickbrowser/fillbrowser/screenshot# Store successful patterns
npx @claude-flow/cli memory store --namespace browser-patterns --key "login-flow" --value "snapshot->fill->click->wait"
# Retrieve before similar task
npx @claude-flow/cli memory search --query "login automation"
# Pre-browse hook (get context)
npx @claude-flow/cli hooks pre-edit --file "browser-task.ts"
# Post-browse hook (record success)
npx @claude-flow/cli hooks post-task --task-id "browse-1" --success true
-i flag - Gets only interactive elements, smaller outputdocumentation
Task tracking and plan management. Used by planner to create plans and persist tasks, by orchestrator to read tasks and update progress, by documenter to create completion reports, and by any agent to log non-critical issues.
development
Create, edit, evaluate, and package agent skills. Use when building a new skill from scratch, improving an existing skill, running evals to test a skill, benchmarking skill performance, optimizing a skill's description for better triggering, reviewing third-party skills for quality, or packaging skills for distribution. Not for using skills or general coding tasks.
development
Simple implementation workflow - code, test, document. Use when user invokes /implement, wants to create code with automatic testing and documentation, or for simple single-purpose tasks that don't need planning.
development
Security best practices covering authentication, input validation, API security, secrets management, data protection, and OWASP Top 10. Use when implementing auth flows, API endpoints, file uploads, or any feature touching passwords, tokens, PII, or sensitive data. Do NOT use for code style reviews or architecture decisions.