agent-browser · v1.0.0 · 2026-08-28 · sha256 1e8dfc4af31d8dda

agent-browser v1.0.0A

Immutable. This exact content is served forever at /api/v1/blob/1e8dfc4af31d8dda.

---
name: agent-browser
display-name: Agent Browser
description: Advanced browser automation for AI agents with snapshot-ref interaction pattern - navigate, snapshot interactive elements with refs, click/fill/select by refs, manage sessions, and extract structured data
version: 1.0.0
category: automation
user-invocable: true
tags: [browser, agent, automation, snapshot, form, screenshot, session, ref]
capabilities:
  [
    snapshot-navigation,
    ref-interaction,
    session-management,
    form-automation,
    data-extraction,
    screenshot-capture,
    state-persistence,
  ]
execution-capabilities: [data:result, data:task, host:browser, host:logger, runtime:time, runtime:timers]
handler: ./handler.js
os: [win32, darwin, linux]
tools:
  [
    agent-browse,
    agent-snapshot,
    agent-click,
    agent-fill,
    agent-screenshot,
    agent-extract,
    agent-wait,
    agent-session,
  ]
dependencies: [browser-automation, computer-use]
instructions: |
  Use this skill for advanced browser automation with the snapshot-ref pattern:
  1. Navigate to URL  2. Snapshot to get element refs (@e1, @e2...)
  3. Interact using refs  4. Re-snapshot after DOM changes.
  Supports session persistence, form filling, data extraction, and screenshots.
  Integrates with the built-in browser engine and Computer Use agent.
examples:
  - input: "open https://example.com and snapshot"
    action: open
  - input: "fill @e1 with user@example.com"
    action: fill
  - input: "click @e3 and wait for navigation"
    action: click
  - input: "screenshot the current page"
    action: screenshot
author: ChainlessChain
license: MIT
---

# Agent Browser Skill

Advanced browser automation using the snapshot-ref interaction pattern.

## Core Workflow

Every browser automation follows this pattern:

1. **Navigate**: `open <url>`
2. **Snapshot**: Get interactive elements with refs (`@e1`, `@e2`, ...)
3. **Interact**: Use refs to click, fill, select
4. **Re-snapshot**: After DOM changes, get fresh refs

```
/agent-browser open https://example.com
/agent-browser snapshot
# Output: @e1 [input email], @e2 [input password], @e3 [button] "Login"
/agent-browser fill @e1 "user@example.com"
/agent-browser fill @e2 "secret"
/agent-browser click @e3
/agent-browser snapshot   # Check result
```

## Commands

| Command | Description | Example |
| --- | --- | --- |
| `open` | Navigate to URL | `open https://example.com` |
| `snapshot` | Get interactive elements with refs | `snapshot` |
| `click` | Click element by ref | `click @e1` |
| `fill` | Clear and type into element | `fill @e2 "text"` |
| `type` | Type without clearing | `type @e2 "text"` |
| `select` | Select dropdown option | `select @e3 "option"` |
| `screenshot` | Capture page screenshot | `screenshot` |
| `extract` | Extract text/data from element | `extract @e5` |
| `wait` | Wait for element or condition | `wait @e1` or `wait 2000` |

## Session Management

```
/agent-browser session-save auth.json     # Save cookies/state
/agent-browser session-load auth.json     # Restore state
```

## Common Patterns

### Form Submission

```
open https://example.com/signup → snapshot → fill fields → click submit → snapshot
```

### Data Extraction

```
open <url> → snapshot → extract @e5 → extract body
```

### Multi-Page Navigation

```
open <url> → snapshot → click @link → wait → snapshot → repeat
```

## Element Refs

- Refs like `@e1`, `@e2` are assigned by snapshot to interactive elements
- Refs are reset on each new snapshot
- Use descriptive selectors as fallback: `click "Login button"`