⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

agent-browser

@shanraisshan⭐ 68.6k stars

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐⭐⭐⭐⭐ 68.6k on GitHubGitHub ↗

Very popular

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

claude-code-best-practice

from vibe coding to agentic engineering - practice makes claude perfect

updated with Claude Code

Best Practice Implemented Orchestration Workflow Claude Boris Community Click on these badges below to see the actual sources = Agents · = Commands · = Skills

[!TIP] Visit the How to Use section to take full advantage of this repo.

🧠 CONCEPTS

FeatureLocationDescription
Subagents.claude/agents/<name>.mdBest Practice Implemented
Commands.claude/commands/<name>.mdBest Practice Implemented
Skills.claude/skills/<name>/SKILL.mdBest Practice Implemented Official Skills · Skills for Mono-repos
Workflows.claude/commands/weather-orchestrator.mdOrchestration Workflow
Hooks.claude/hooks/Best Practice Implemented Guide
MCP Servers.claude/settings.json, .mcp.jsonBest Practice Implemented
Pluginsdistributable packagesMarketplaces · Create Marketplaces
Settings.claude/settings.jsonBest Practice Implemented Permissions · Model Config · Output Styles · Sandboxing · Keybindings · Auto Mode Config
Status Line.claude/settings.jsonBest Practice Implemented
MemoryCLAUDE.md, .claude/rules/, ~/.claude/rules/, ~/.claude/projects/<project>/memory/Best Practice Implemented Auto Memory · Auto Memory Deep-dive · Rules
Checkpointingautomatic (file-edit tracking)
Sessions--resume, --continue, /resume, /branch
Context Window/compact, /clear, /context
CLI Startup Flagsclaude [flags]Best Practice Interactive Mode · Env Vars
AI TermsBest Practice
Best PracticesPrompt Engineering · Extend Claude Code
Prompt Library

🔥 Hot

FeatureLocationDescription
Ultrareview beta/code-review ultra, claude ultrareview [target]Tasks tracking
Devcontainers.devcontainer/
Channels beta--channels, plugin-basedReference
No Flicker Mode beta/tui fullscreen, CLAUDE_CODE_NO_FLICKER=1Best Practice
Auto Mode`--permiss

// HOW IT'S BUILT

// FILES

2 files shipped with this skill. Inline text is the catalog copy. The upstream link is the source repository.

  • .claude/skills/agent-browser/SKILL.md7.4 KB5cd897ad16abupstream ↗
    ---
    name: agent-browser
    description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
    allowed-tools: Bash(agent-browser:*)
    ---
    
    # Browser Automation with agent-browser
    
    ## Core Workflow
    
    Every browser automation follows this pattern:
    
    1. **Navigate**: `agent-browser open <url>`
    2. **Snapshot**: `agent-browser snapshot -i` (get element refs like `@e1`, `@e2`)
    3. **Interact**: Use refs to click, fill, select
    4. **Re-snapshot**: After navigation or DOM changes, get fresh refs
    
    ```bash
    agent-browser open https://example.com/form
    agent-browser snapshot -i
    # Output: @e1 [input type="email"], @e2 [input type="password"], @e3 [button] "Submit"
    
    agent-browser fill @e1 "[email protected]"
    agent-browser fill @e2 "password123"
    agent-browser click @e3
    agent-browser wait --load networkidle
    agent-browser snapshot -i  # Check result
    ```
    
    ## Essential Commands
    
    ```bash
    # Navigation
    agent-browser open <url>              # Navigate (aliases: goto, navigate)
    agent-browser close                   # Close browser
    
    # Snapshot
    agent-browser snapshot -i             # Interactive elements with refs (recommended)
    agent-browser snapshot -i -C          # Include cursor-interactive elements (divs with onclick, cursor:pointer)
    agent-browser snapshot -s "#selector" # Scope to CSS selector
    
    # Interaction (use @refs from snapshot)
    agent-browser click @e1               # Click element
    agent-browser fill @e2 "text"         # Clear and type text
    agent-browser type @e2 "text"         # Type without clearing
    agent-browser select @e1 "option"     # Select dropdown option
    agent-browser check @e1               # Check checkbox
    agent-browser press Enter             # Press key
    agent-browser scroll down 500         # Scroll page
    
    # Get information
    agent-browser get text @e1            # Get element text
    agent-browser get url                 # Get current URL
    agent-browser get title               # Get page title
    
    # Wait
    agent-browser wait @e1                # Wait for element
    agent-browser wait --load networkidle # Wait for network idle
    agent-browser wait --url "**/page"    # Wait for URL pattern
    agent-browser wait 2000               # Wait milliseconds
    
    # Capture
    agent-browser screenshot              # Screenshot to temp dir
    agent-browser screenshot --full       # Full page screenshot
    agent-browser pdf output.pdf          # Save as PDF
    ```
    
    ## Common Patterns
    
    ### Form Submission
    
    ```bash
    agent-browser open https://example.com/signup
    agent-browser snapshot -i
    agent-browser fill @e1 "Jane Doe"
    agent-browser fill @e2 "[email protected]"
    agent-browser select @e3 "California"
    agent-browser check @e4
    agent-browser click @e5
    agent-browser wait --load networkidle
    ```
    
    ### Authentication with State Persistence
    
    ```bash
    # Login once and save state
    agent-browser open https://app.example.com/login
    agent-browser snapshot -i
    agent-browser fill @e1 "$USERNAME"
    agent-browser fill @e2 "$PASSWORD"
    agent-browser click @e3
    agent-browser wait --url "**/dashboard"
    agent-browser state save auth.json
    
    # Reuse in future sessions
    agent-browser state load auth.json
    agent-browser open https://app.example.com/dashboard
    ```
    
    ### Data Extraction
    
    ```bash
    agent-browser open https://example.com/products
    agent-browser snapshot -i
    agent-browser get text @e5           # Get specific element text
    agent-browser get text body > page.txt  # Get all page text
    
    # JSON output for parsing
    agent-browser snapshot -i --json
    agent-browser get text @e1 --json
    ```
    
    ### Parallel Sessions
    
    ```bash
    agent-browser --session site1 open https://site-a.com
    agent-browser --session site2 open https://site-b.com
    
    agent-browser --session site1 snapshot -i
    agent-browser --session site2 snapshot -i
    
    agent-browser session list
    ```
    
    ### Visual Browser (Debugging)
    
    ```bash
    agent-browser --headed open https://example.com
    agent-browser highlight @e1          # Highlight element
    agent-browser record start demo.webm # Record session
    ```
    
    ### Local Files (PDFs, HTML)
    
    ```bash
    # Open local files with file:// URLs
    agent-browser --allow-file-access open file:///path/to/document.pdf
    agent-browser --allow-file-access open file:///path/to/page.html
    agent-browser screenshot output.png
    ```
    
    ### iOS Simulator (Mobile Safari)
    
    ```bash
    # List available iOS simulators
    agent-browser device list
    
    # Launch Safari on a specific device
    agent-browser -p ios --device "iPhone 16 Pro" open https://example.com
    
    # Same workflow as desktop - snapshot, interact, re-snapshot
    agent-browser -p ios snapshot -i
    agent-browser -p ios tap @e1          # Tap (alias for click)
    agent-browser -p ios fill @e2 "text"
    agent-browser -p ios swipe up         # Mobile-specific gesture
    
    # Take screenshot
    agent-browser -p ios screenshot mobile.png
    
    # Close session (shuts down simulator)
    agent-browser -p ios close
    ```
    
    **Requirements:** macOS with Xcode, Appium (`npm install -g appium && appium driver install xcuitest`)
    
    **Real devices:** Works with physical iOS devices if pre-configured. Use `--device "<UDID>"` where UDID is from `xcrun xctrace list devices`.
    
    ## Ref Lifecycle (Important)
    
    Refs (`@e1`, `@e2`, etc.) are invalidated when the page changes. Always re-snapshot after:
    
    - Clicking links or buttons that navigate
    - Form submissions
    - Dynamic content loading (dropdowns, modals)
    
    ```bash
    agent-browser click @e5              # Navigates to new page
    agent-browser snapshot -i            # MUST re-snapshot
    agent-browser click @e1              # Use new refs
    ```
    
    ## Semantic Locators (Alternative to Refs)
    
    When refs are unavailable or unreliable, use semantic locators:
    
    ```bash
    agent-browser find text "Sign In" click
    agent-browser find label "Email" fill "[email protected]"
    agent-browser find role button click --name "Submit"
    agent-browser find placeholder "Search" type "query"
    agent-browser find testid "submit-btn" click
    ```
    
    ## Deep-Dive Documentation
    
    | Reference | When to Use |
    |-----------|-------------|
    | [references/commands.md](references/commands.md) | Full command reference with all options |
    | [references/snapshot-refs.md](references/snapshot-refs.md) | Ref lifecycle, invalidation rules, troubleshooting |
    | [references/session-management.md](references/session-management.md) | Parallel sessions, state persistence, concurrent scraping |
    | [references/authentication.md](references/authentication.md) | Login flows, OAuth, 2FA handling, state reuse |
    | [references/video-recording.md](references/video-recording.md) | Recording workflows for debugging and documentation |
    | [references/proxy-support.md](references/proxy-support.md) | Proxy configuration, geo-testing, rotating proxies |
    
    ## Ready-to-Use Templates
    
    | Template | Description |
    |----------|-------------|
    | [templates/form-automation.sh](templates/form-automation.sh) | Form filling with validation |
    | [templates/authenticated-session.sh](templates/authenticated-session.sh) | Login once, reuse state |
    | [templates/capture-workflow.sh](templates/capture-workflow.sh) | Content extraction with screenshots |
    
    ```bash
    ./templates/form-automation.sh https://example.com/form
    ./templates/authenticated-session.sh https://app.example.com/login
    ./templates/capture-workflow.sh https://example.com ./output
    ```
    
  • README.mdupstream ↗

    Contents are not inlined in the catalog. Open the upstream file.

Plain-text copy, no login: /skill-bundles/shanraisshan-claude-code-best-practice-claude-skills-agent-browser.md

// REPO STATS

68.6k stars