Action Browser is an agent skill for browser work that must happen in a real page: logged-in Chrome sessions, extension state, clicks, form fills, downloads, batch exports, and site adapters.
Start with SKILL.md. It is the runtime contract. This README is only the human entrypoint.
Copy or clone this folder into the agent skills directory:
git clone https://github.com/VintLin/action-browser.git <skills-dir>/action-browserFor an existing local copy:
mkdir -p <skills-dir>/action-browser
rsync -a ./ <skills-dir>/action-browser/Most adapters need the user's Chrome login state, so the default setup path is ActionBook extension mode:
npm install -g @actionbookdev/cli
actionbook --version
actionbook setup --browser extension --non-interactive
cd "<skills-dir>/action-browser"
unzip -o actionbook-extension-v0.5.0.zipThen load the unpacked actionbook-extension-v0.5.0 folder in chrome://extensions/. No API key is required for this setup path.
Full setup and repair details live in references/initialization.md and references/status-check.md.
Open or reuse a browser task tab:
python3 scripts/actionbook_session.py ensure --session task-browser --url "https://example.com" --json
python3 scripts/actionbook_session.py list-tabs --session task-browser --json
actionbook browser snapshot --session task-browser --tab <real-tab-id>Run a long workflow so it can be stopped later:
python3 scripts/actionbook_run.py run \
--id <run-id> \
--cwd "$PWD" \
-- \
python3 scripts/adapters/<site>_workflow.py ...
python3 scripts/actionbook_run.py stop --id <run-id>Capture a rendered webpage to Markdown:
python3 scripts/webpage_markdown.py capture \
--session page-capture \
--url "https://example.com/article" \
--output-dir "$PWD/output/page"| Need | Read / Use |
|---|---|
| Runtime contract | SKILL.md |
| First-run setup or missing extension/CLI | references/initialization.md |
| Session, daemon, bridge, or tab checks | references/status-check.md |
| Shared adapter browser boundaries | references/adapter-operation-boundaries.md |
| Adapter creation or UI drift fixes | references/adapter-authoring.md |
| Scheduler state and retries | references/task-lifecycle.md |
| Webpage-to-Markdown extraction | references/webpage-markdown.md |
| Site commands and output schemas | references/adapters/<site>.md |
Adapter scripts live in scripts/adapters/<site>_workflow.py. The supported site list is maintained in SKILL.md and checked by tests.
Workflow outputs stay under the requested --output-dir or the adapter default. Long-running process state lives outside the repo:
~/.action-browser/runs/
Scheduler-managed adapter contracts use:
<output>/
summary.json
failures.json
contract/
summary.json
progress.json
artifacts/
When a reusable site flow changes, update the matching adapter script and references/adapters/<site>.md; keep SKILL.md site-neutral except for the site id list.
Run the focused check first, then the full local suite when the shared runtime or docs inventory changed:
python3 -m pytest -q