Actionbook actionbook
Browser action engine. Provides up-to-date action manuals for the modern web — operate any website instantly, one tab or dozens, concurrently.
git clone https://github.com/actionbook/actionbook
T=$(mktemp -d) && git clone --depth=1 https://github.com/actionbook/actionbook "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/actionbook" ~/.claude/skills/actionbook-actionbook-actionbook-e8ac7d && rm -rf "$T"
skills/actionbook/SKILL.mdWhen to Use This Skill
Activate when the user:
- Needs to do anything on a website ("Send a LinkedIn message", "Book an Airbnb", "Search Google for...")
- Asks how to interact with a site ("How do I post a tweet?", "How to apply on LinkedIn?")
- Wants to fill out forms, click buttons, navigate, search, filter, or browse on a specific site
- Wants to take a screenshot of a web page or monitor changes
- Builds browser-based AI agents, web scrapers, or E2E tests for external websites
- Automates repetitive web tasks (data entry, form submission, content posting)
- Needs to operate multiple websites or tabs concurrently
How It Works
Actionbook provides up-to-date action manuals for the modern web. Action manuals tell agents exactly what to do on a page — no parsing, no guessing.
Why this matters:
- 10x faster — action manuals provide selectors and page structure upfront. No snapshot-per-step loop needed.
- Accurate — handles SPAs, streaming components, dropdowns, date pickers, and dynamic content reliably.
- Concurrent — stateless architecture with explicit
/--session
. Operate dozens of tabs in parallel.--tab
The workflow:
- Start a browser session
- Navigate to the target page
- Snapshot to get the page structure with element refs
- Automate using refs from the snapshot
Run
actionbook <command> --help for full usage and examples of any command.
Browser Automation
Every browser command is stateless — pass
--session and --tab explicitly. No "current tab" — you can run commands on any session/tab in parallel.
Start a session
actionbook browser start --set-session-id s1
Core workflow: snapshot, act, wait
actionbook browser goto <url> --session s1 --tab t1 actionbook browser snapshot --session s1 --tab t1 # Get page structure with refs actionbook browser fill @e3 "text" --session s1 --tab t1 # Use refs from snapshot actionbook browser click @e7 --session s1 --tab t1 actionbook browser wait navigation --session s1 --tab t1 # Wait for page load
Snapshot refs
snapshot labels every element with a ref (e.g. @e3, @e7). Use these refs as selectors in any command — they are the recommended way to target elements.
Refs are stable across snapshots — if the element stays the same, the ref stays the same. This lets you chain multiple commands without re-snapshotting after every step.
Command categories
All commands support
--help for full usage and examples.
| Category | Key commands | Help |
|---|---|---|
| Search | | |
| Manual | (alias: ) | |
| Session | , , , , | |
| Tab | , , | |
| Navigation | , , , | |
| Observation | , , , , , , , , , , , , , , , | |
| Interaction | , , , , , , , , , , , , | |
| Wait | , , , | |
| Cookies | , , , , | |
| Storage | , | |
| Logs | , | |
| Network | , , , | |
| Query | | |
| Batch | , , | |
| Extension | , , , , | |
| Daemon | | |
Full command reference: command-reference.md
Cloud providers
Use
-p / --provider with browser start to run sessions on a remote browser instead of launching local Chrome. Supported providers: driver, hyperbrowser, browseruse. Each reads its own <PROVIDER>_API_KEY from the shell env.
export HYPERBROWSER_API_KEY="your-key" actionbook browser start -p hyperbrowser --session s1 actionbook browser goto "https://example.com" --session s1 --tab t1 actionbook browser snapshot --session s1 --tab t1
All browser commands work the same way regardless of mode.
browser restart --session <id> mints a fresh remote session while preserving the session_id.
Example: End-to-End
User request: "Find a room next week in SF on Airbnb"
actionbook browser start --set-session-id s1 actionbook browser goto "https://airbnb.com" --session s1 --tab t1 actionbook browser snapshot --session s1 --tab t1 actionbook browser fill @e3 "San Francisco" --session s1 --tab t1 actionbook browser click @e7 --session s1 --tab t1 actionbook browser wait navigation --session s1 --tab t1
Selectors
Selectors should come from
actionbook browser snapshot — not from prior knowledge or memory. Always snapshot first to get current refs, then use those refs to interact with the page.
Login Page Handling
When you hit a login/auth wall (sign-in page, password prompt, MFA/OTP, CAPTCHA, account chooser):
- Pause automation and keep the current browser session open (same tab/profile/cookies).
- Ask the user to complete login manually in that same browser window.
- After user confirms login is done, continue in the same session.
- If the post-login page is different, run
to get the new page structure before continuing.actionbook browser snapshot
Do not switch tools just because a login page appears.
References
| Reference | Description |
|---|---|
| command-reference.md | Complete command reference with all flags and options |
| authentication.md | Login flows, OAuth, 2FA handling, session persistence |