agent-browser-automation
Headless browser automation CLI for AI agents using native Rust binary with Chrome DevTools Protocol
What this skill does
# agent-browser > Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. `agent-browser` is a headless browser automation CLI built in Rust, designed for AI agents. It wraps Chrome via the Chrome DevTools Protocol (CDP) and exposes a fast, ergonomic command-line interface for navigation, interaction, accessibility snapshots, screenshots, network interception, and more — with no Node.js or Playwright runtime required. ## Installation ### Recommended (npm global) ```bash npm install -g agent-browser agent-browser install # Download Chrome for Testing (first time only) ``` ### macOS (Homebrew) ```bash brew install agent-browser agent-browser install ``` ### Rust / Cargo ```bash cargo install agent-browser agent-browser install ``` ### Local project dependency ```bash npm install agent-browser # Add to package.json scripts or invoke via npx ``` ### Linux (with system dependencies) ```bash agent-browser install --with-deps ``` ## Quick Start ```bash agent-browser open https://example.com agent-browser snapshot # Accessibility tree with @refs (best for AI) agent-browser click @e2 # Click by ref from snapshot agent-browser fill @e3 "[email protected]" # Fill by ref agent-browser get text @e1 # Get text content agent-browser screenshot page.png agent-browser close ``` ## Core Commands ### Navigation ```bash agent-browser open <url> # Navigate (aliases: goto, navigate) agent-browser get url # Get current URL agent-browser get title # Get page title agent-browser close # Close browser (aliases: quit, exit) ``` ### Accessibility Snapshot (recommended for AI agents) ```bash agent-browser snapshot # Returns accessibility tree with @ref IDs agent-browser snapshot -i # Interactive / compact mode ``` Snapshot output includes `@eN` refs you can use directly: ``` @e1 [button] "Submit" @e2 [textbox] "Email" value="" @e3 [link] "Sign in" ``` Then act on them: ```bash agent-browser fill @e2 "[email protected]" agent-browser click @e1 ``` ### Interaction ```bash agent-browser click <sel> # Click element agent-browser dblclick <sel> # Double-click agent-browser fill <sel> <text> # Clear and fill input agent-browser type <sel> <text> # Type into element agent-browser press <key> # Press key (Enter, Tab, Control+a) agent-browser keyboard type <text> # Type at current focus (real keystrokes) agent-browser keyboard inserttext <text> # Insert text without key events agent-browser hover <sel> # Hover element agent-browser select <sel> <value> # Select dropdown option agent-browser check <sel> # Check checkbox agent-browser uncheck <sel> # Uncheck checkbox agent-browser scroll down 500 # Scroll (up/down/left/right, optional px) agent-browser scroll down --selector "#feed" # Scroll within element agent-browser scrollintoview <sel> # Scroll element into view agent-browser drag <src> <target> # Drag and drop agent-browser upload <sel> /path/file.pdf # Upload file ``` ### Screenshots & PDF ```bash agent-browser screenshot # Save to temp dir, print path agent-browser screenshot page.png # Save to path agent-browser screenshot --full page.png # Full-page screenshot agent-browser screenshot --annotate # Numbered element labels overlay agent-browser screenshot --screenshot-dir ./shots # Custom output directory agent-browser screenshot --screenshot-format jpeg --screenshot-quality 80 agent-browser pdf output.pdf # Save page as PDF ``` ### Getting Element Info ```bash agent-browser get text <sel> # Text content agent-browser get html <sel> # innerHTML agent-browser get value <sel> # Input value agent-browser get attr <sel> <attr> # Attribute value agent-browser get count <sel> # Count matching elements agent-browser get box <sel> # Bounding box agent-browser get styles <sel> # Computed styles agent-browser get cdp-url # CDP WebSocket URL ``` ### State Checks ```bash agent-browser is visible <sel> agent-browser is enabled <sel> agent-browser is checked <sel> ``` ### Semantic Locators (find) ```bash agent-browser find role button click --name "Submit" agent-browser find text "Sign In" click agent-browser find label "Email" fill "[email protected]" agent-browser find placeholder "Search..." fill "rust" agent-browser find testid "login-btn" click agent-browser find first ".item" click agent-browser find nth 2 "a" text agent-browser find role textbox fill "hello" --name "Username" ``` **Actions:** `click`, `fill`, `type`, `hover`, `focus`, `check`, `uncheck`, `text` ### Waiting ```bash agent-browser wait "#modal" # Wait for element visible agent-browser wait 2000 # Wait N milliseconds agent-browser wait --text "Welcome back" # Wait for text agent-browser wait --url "**/dashboard" # Wait for URL pattern agent-browser wait --load networkidle # Wait for load state agent-browser wait --fn "window.appReady === true" # Wait for JS condition agent-browser wait "#spinner" --state hidden # Wait for element to disappear ``` **Load states:** `load`, `domcontentloaded`, `networkidle` ### JavaScript Eval ```bash agent-browser eval "document.title" agent-browser eval "JSON.stringify(window.__STATE__)" agent-browser eval -b "BASE64_ENCODED_JS" echo "return document.body.innerHTML" | agent-browser eval --stdin ``` ### Batch Execution (efficient multi-step) ```bash echo '[ ["open", "https://example.com"], ["snapshot", "-i"], ["fill", "@e2", "[email protected]"], ["click", "@e1"], ["screenshot", "result.png"] ]' | agent-browser batch --json # Stop on first failure agent-browser batch --bail < commands.json ``` ### Tabs & Frames ```bash agent-browser tab # List tabs agent-browser tab new https://... # New tab with URL agent-browser tab 2 # Switch to tab 2 agent-browser tab close # Close current tab agent-browser frame "#my-iframe" # Switch into iframe agent-browser frame main # Return to main frame ``` ### Cookies & Storage ```bash agent-browser cookies agent-browser cookies set session_id "abc123" agent-browser cookies clear agent-browser storage local agent-browser storage local set theme dark agent-browser storage local clear agent-browser storage session set cart '{"items":[]}' ``` ### Network ```bash agent-browser network route "**/api/users" --body '{"users":[]}' # Mock response agent-browser network route "**/ads/**" --abort # Block requests agent-browser network unroute # Remove all routes agent-browser network requests --filter api # View requests agent-browser network har start agent-browser network har stop recording.har ``` ### Browser Settings ```bash agent-browser set viewport 1280 800 agent-browser set viewport 375 812 2 # With device pixel ratio (retina) agent-browser set device "iPhone 14" agent-browser set geo 37.7749 -122.4194 agent-browser set offline on agent-browser set headers '{"X-Custom":"value"}' agent-browser set credentials admin secret agent-browser set media dark ``` ### Auth State ```bash agent-browser state save ./auth.json # Save cookies + localStorage agent-browser state load ./auth.json # Restore auth state agent-browser state list # List saved states agent-browser state show auth.json # Summary of saved state ``` ### Dialogs ```bash agent-browser dialog accept # Accept alert/confirm/prompt agent-browser dialog accept "My input" # Ac
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.