Web browser automation with AI-optimized snapshots

Browser Automation Skill

by ruvnet · MIT license · ★ 94,702 on GitHub · v1.0.0 · updated Sep 22

Browser Automation Skill cover

Web browser automation with AI-optimized snapshots for claude-flow agents

---
name: browser
description: Web browser automation with AI-optimized snapshots for claude-flow agents
version: 1.0.0
triggers:
  - /browser
  - browse
  - web automation
  - scrape
  - navigate
  - screenshot
tools:
  - browser/open
  - browser/snapshot
  - browser/click
  - browser/fill
  - browser/screenshot
  - browser/close

Overview

Web browser automation using agent-browser with AI-optimized snapshots. Reduces context by 93% using element refs (@e1, @e2) instead of full DOM.

Manual install (npx, ZIP)
Claude Codenpx skills add ruvnet/RuView --skill browser -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/ruvnet/RuView/tar.gz/33a9e90896a6 \ | tar -xz -C ~/.claude/skills --strip-components=3 RuView-33a9e90896a6/.claude/skills/browser
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/81fe85bb99dd02aea3a5/browser.zip" -OutFile "$env:TEMP\browser.zip"; Expand-Archive "$env:TEMP\browser.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md5.2 KB
Read the files here
ruvnet/33a9e901 file
SKILL.md
Show the full text205 lines

Browser Automation Skill

Web browser automation using agent-browser with AI-optimized snapshots. Reduces context by 93% using element refs (@e1, @e2) instead of full DOM.

Core Workflow

# 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

Quick Reference

Navigation
Command Description
open <url> Navigate to URL
back Go back
forward Go forward
reload Reload page
close Close browser
Snapshots (AI-Optimized)
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)
Interaction
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
Get Info
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
Wait
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
Sessions
Command Description
--session <name> Use isolated session
session list List active sessions

Selectors

# Get refs from snapshot
agent-browser snapshot -i
# Output: button "Submit" [ref=e2]

# Use ref to interact
agent-browser click @e2
CSS Selectors
agent-browser click "#submit"
agent-browser fill ".email-input" "[email protected]"
Semantic Locators
agent-browser find role button click --name "Submit"
agent-browser find label "Email" fill "[email protected]"
agent-browser find testid "login-btn" click

Examples

Login Flow
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"
Form Submission
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"
Data Extraction
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
Multi-Session (Swarm)
# 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

Integration with Claude Flow

MCP Tools

All browser operations are available as MCP tools with browser/ prefix:

  • browser/open
  • browser/snapshot
  • browser/click
  • browser/fill
  • browser/screenshot
  • etc.
Memory Integration
# 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"
Hooks
# 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

Tips

  1. Always use snapshots - They're optimized for AI with refs
  2. Prefer -i flag - Gets only interactive elements, smaller output
  3. Use refs, not selectors - More reliable, deterministic
  4. Re-snapshot after navigation - Page state changes
  5. Use sessions for parallel work - Each session is isolated
1---
2name: browser
3description: Web browser automation with AI-optimized snapshots for claude-flow agents
4version: 1.0.0
5triggers:
6 - /browser
7 - browse
8 - web automation
9 - scrape
10 - navigate
11 - screenshot
12tools:
13 - browser/open
14 - browser/snapshot
15 - browser/click
16 - browser/fill
17 - browser/screenshot
18 - browser/close
19---
20 
21# Browser Automation Skill
22 
23Web browser automation using agent-browser with AI-optimized snapshots. Reduces context by 93% using element refs (@e1, @e2) instead of full DOM.
24 
25## Core Workflow
26 
27```bash
28# 1. Navigate to page
29agent-browser open <url>
30 
31# 2. Get accessibility tree with element refs
32agent-browser snapshot -i # -i = interactive elements only
33 
34# 3. Interact using refs from snapshot
35agent-browser click @e2
36agent-browser fill @e3 "text"
37 
38# 4. Re-snapshot after page changes
39agent-browser snapshot -i
40```
41 
42## Quick Reference
43 
44### Navigation
45| Command | Description |
46|---------|-------------|
47| `open <url>` | Navigate to URL |
48| `back` | Go back |
49| `forward` | Go forward |
50| `reload` | Reload page |
51| `close` | Close browser |
52 
53### Snapshots (AI-Optimized)
54| Command | Description |
55|---------|-------------|
56| `snapshot` | Full accessibility tree |
57| `snapshot -i` | Interactive elements only (buttons, links, inputs) |
58| `snapshot -c` | Compact (remove empty elements) |
59| `snapshot -d 3` | Limit depth to 3 levels |
60| `screenshot [path]` | Capture screenshot (base64 if no path) |
61 
62### Interaction
63| Command | Description |
64|---------|-------------|
65| `click <sel>` | Click element |
66| `fill <sel> <text>` | Clear and fill input |
67| `type <sel> <text>` | Type with key events |
68| `press <key>` | Press key (Enter, Tab, etc.) |
69| `hover <sel>` | Hover element |
70| `select <sel> <val>` | Select dropdown option |
71| `check/uncheck <sel>` | Toggle checkbox |
72| `scroll <dir> [px]` | Scroll page |
73 
74### Get Info
75| Command | Description |
76|---------|-------------|
77| `get text <sel>` | Get text content |
78| `get html <sel>` | Get innerHTML |
79| `get value <sel>` | Get input value |
80| `get attr <sel> <attr>` | Get attribute |
81| `get title` | Get page title |
82| `get url` | Get current URL |
83 
84### Wait
85| Command | Description |
86|---------|-------------|
87| `wait <selector>` | Wait for element |
88| `wait <ms>` | Wait milliseconds |
89| `wait --text "text"` | Wait for text |
90| `wait --url "pattern"` | Wait for URL |
91| `wait --load networkidle` | Wait for load state |
92 
93### Sessions
94| Command | Description |
95|---------|-------------|
96| `--session <name>` | Use isolated session |
97| `session list` | List active sessions |
98 
99## Selectors
100 
101### Element Refs (Recommended)
102```bash
103# Get refs from snapshot
104agent-browser snapshot -i
105# Output: button "Submit" [ref=e2]
106 
107# Use ref to interact
108agent-browser click @e2
109```
110 
111### CSS Selectors
112```bash
113agent-browser click "#submit"
114agent-browser fill ".email-input" "[email protected]"
115```
116 
117### Semantic Locators
118```bash
119agent-browser find role button click --name "Submit"
120agent-browser find label "Email" fill "[email protected]"
121agent-browser find testid "login-btn" click
122```
123 
124## Examples
125 
126### Login Flow
127```bash
128agent-browser open https://example.com/login
129agent-browser snapshot -i
130agent-browser fill @e2 "[email protected]"
131agent-browser fill @e3 "password123"
132agent-browser click @e4
133agent-browser wait --url "**/dashboard"
134```
135 
136### Form Submission
137```bash
138agent-browser open https://example.com/contact
139agent-browser snapshot -i
140agent-browser fill @e1 "John Doe"
141agent-browser fill @e2 "[email protected]"
142agent-browser fill @e3 "Hello, this is my message"
143agent-browser click @e4
144agent-browser wait --text "Thank you"
145```
146 
147### Data Extraction
148```bash
149agent-browser open https://example.com/products
150agent-browser snapshot -i
151# Iterate through product refs
152agent-browser get text @e1 # Product name
153agent-browser get text @e2 # Price
154agent-browser get attr @e3 href # Link
155```
156 
157### Multi-Session (Swarm)
158```bash
159# Session 1: Navigator
160agent-browser --session nav open https://example.com
161agent-browser --session nav state save auth.json
162 
163# Session 2: Scraper (uses same auth)
164agent-browser --session scrape state load auth.json
165agent-browser --session scrape open https://example.com/data
166agent-browser --session scrape snapshot -i
167```
168 
169## Integration with Claude Flow
170 
171### MCP Tools
172All browser operations are available as MCP tools with `browser/` prefix:
173- `browser/open`
174- `browser/snapshot`
175- `browser/click`
176- `browser/fill`
177- `browser/screenshot`
178- etc.
179 
180### Memory Integration
181```bash
182# Store successful patterns
183npx @claude-flow/cli memory store --namespace browser-patterns --key "login-flow" --value "snapshot->fill->click->wait"
184 
185# Retrieve before similar task
186npx @claude-flow/cli memory search --query "login automation"
187```
188 
189### Hooks
190```bash
191# Pre-browse hook (get context)
192npx @claude-flow/cli hooks pre-edit --file "browser-task.ts"
193 
194# Post-browse hook (record success)
195npx @claude-flow/cli hooks post-task --task-id "browse-1" --success true
196```
197 
198## Tips
199 
2001. **Always use snapshots** - They're optimized for AI with refs
2012. **Prefer `-i` flag** - Gets only interactive elements, smaller output
2023. **Use refs, not selectors** - More reliable, deterministic
2034. **Re-snapshot after navigation** - Page state changes
2045. **Use sessions for parallel work** - Each session is isolated
205 
View all files on GitHub →

Details

Version
1.0.0
Updated
Sep 22, 2026
License
MIT
Stars on the repo
★ 94,702
Checked
Source
ruvnet/RuView ↗
Creator
ruvnet · 8 listings
View creator

Similar skills

See all →
SkillDeepEval evaluation workflow for AI agentsconfident-ai/deepeval · by confident-aiDeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent, tool-using workflow, multi-turn chatbot, RAG pipeline, or LLM app; add evals; generate datasets or goldens; use deepeval generate; use deepeval test run; send results to Confident AI; monitor production; run online evals; inspect traces; or iterate on prompts, tools, retrieval, or agent behavior from eval failures. AI agents are the primary use case. Covers Python SDK, pytest eval suites, CLI generation, traced evals, Confident AI reporting, and agent-driven improvement loops. DO NOT TRIGGER for unrelated generic pytest, non-AI test setup, or non-DeepEval observability work unless the user asks to compare or migrate to DeepEval; for instrumenting an app with DeepEval tracing, @observe, or framework integrations (use the `deepeval-tracing` skill); or for raw OpenTelemetry / OTLP export without the deepeval package (use the `deepeval-otel` skill).★ 18.7k GitHub starsSkillBrowser automation with persistent named pagesDev browserSawyerHood/dev-browser · by SawyerHoodBrowser automation with persistent named pages via the dev-browser CLI. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, log into sites, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", "open the browser", or any browser interaction request.★ 6.7k GitHub starsSkillTurn visible project context, a proven thread, skillTurn into appBuilderIO/skills · by BuilderIOTurn visible project context, a proven thread, skill, or workflow into a runnable Agent-Native app with simple buttons, visible agent steps, preview, and deployment handoff. Use when a user invokes `/turn-into-app` or asks to make a workflow into an app, including from Claude or ChatGPT on the web, including when the source is a spreadsheet link or upload.★ 4.5k GitHub starsSkillComplete browser automation with PlaywrightPlaywright Browser Automationlackeyjb/playwright-skill · by lackeyjbComplete browser automation with Playwright. Auto-detects dev servers, writes reusable test scripts, and supports screenshots, responsive checks, UX validation, login flows, link checks, and arbitrary browser automation. Use when the user wants to test a website, automate browser interactions, validate web functionality, or perform browser-based testing.★ 3.2k GitHub starsSkillUse TinyFish for web search, fetching URLs, reading pagesTinyFish CLItinyfish-io/tinyfish-cookbook · by tinyfish-ioUse TinyFish for web search, fetching URLs, reading pages, current information, source-backed answers, research, docs, pricing/product pages, extraction, scraping, and browser automation. Use whenever the user asks to search, find, look up, research, compare, get information from the web, summarize a URL, fetch page content, or automate a website.★ 2.2k GitHub starsSkillBrowser automation CLI for AI agentsAgent browser23blocks-OS/ai-maestro · by 23blocks-OSBrowser 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. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.★ 800 GitHub stars

More from ruvnet

SkillMaster advanced AgentDB features including QUICAgentDB Advanced Featuresruvnet/RuView · by ruvnetMaster advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid search, and distributed systems integration. Use when building distributed AI systems, multi-agent coordination, or advanced vector search applications.★ 94.7k GitHub starsSkillReach RuView sensing hardware from the machine it isDevice accessruvnet/RuView · by ruvnetReach RuView sensing hardware from the machine it is attached to — ESP32 CSI nodes (serial + UDP stream), 60 GHz MR60BHA2 / 24 GHz LD2410 mmWave radars, RPLIDAR and iPhone LiDAR — and from other machines over SSH, read-only.★ 94.7k GitHub starsSkillComprehensive GitHub code review with AI-powered swarmGitHub Code Review Skillruvnet/RuView · by ruvnetComprehensive GitHub code review with AI-powered swarm coordination★ 94.7k GitHub starsSkillComprehensive GitHub release orchestration with AI swarmGitHub Release Management Skillruvnet/RuView · by ruvnetComprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management★ 94.7k GitHub starsSkillAutomated coordination, formattingHooks automationruvnet/RuView · by ruvnetAutomated coordination, formatting, and learning from Claude Code operations using intelligent hooks with MCP integration. Includes pre/post task hooks, session management, Git integration, memory coordination, and neural pattern training for enhanced development workflows.★ 94.7k GitHub starsSkillESP32-S3 / ESP32-C6 firmware build, flash, WiFi provisioningRuview hardware setupruvnet/RuView · by ruvnetESP32-S3 / ESP32-C6 firmware build, flash, WiFi provisioning, and serial monitoring for RuView CSI sensing nodes. Use when setting up physical hardware, reflashing a node, or debugging a device that isn't streaming CSI.★ 94.7k GitHub stars