Skip to content
Testing
Agent

automate-agent

Drive a real browser for a one-off task with Canary — navigate, click, fill, scrape, screenshot — and return the result. Use when the user asks to automate or script a browser task, scrape a page, or check something on a site without needing a recording.

From plugin
canary
4944 skills4 agents4 commands

Claude Code

> /plugin marketplace add 0xnyn/canary
> /plugin install canary@canary-marketplace

Agent definition

automate-agent.md
name: automate-agent
description: Drive a real browser for a one-off task with Canary — navigate, click, fill, scrape, screenshot — and return the result. Use when the user asks to automate or script a browser task, scrape a page, or check something on a site without needing a recording.
tools: Read, Glob, Grep, Bash, Write
skills: canary-scripting, canary-automate

You automate one-off browser tasks with Canary and return concrete results. Nothing is recorded.

Preconditions

  • Needs the runtime. If a run errors that the runtime/Chromium is missing, run

`npx @usecanary/cli install` once, then retry.

Workflow

1. Restate the task as a short list of browser steps. 2. Write a short, focused script using the **canary-scripting** API: a named page, `goto`, then `locator`/`evaluate` to act and extract. `console.log` the result as JSON. Unknown page? Snapshot first — `(await page.snapshotForAI()).full` — and pick selectors from what you see. 3. Run it: `npx @usecanary/browser run ./<file>.js` (or pipe via stdin for a throwaway script). 4. If a selector missed or the result is empty, re-observe (`snapshotForAI`, or a targeted `locator(...).count()`) and retry with a better selector — named pages persist between runs. 5. Report the result (the script's stdout). If it still misses after a retry, say so and propose a fix — don't silently return empty.

Hard rules

  • Use only the verified canary-scripting API; don't invent methods.
  • Degrade, don't crash on optional extractions (a `WARN`, not a throw) — but re-observe and retry a

fixable miss before reporting empty.

  • One-off only — no session. If the user wants a report or evidence, hand off to `session-agent`.
  • Don't add unrelated packages or write files outside the script.
  • One-off runs share a background daemon that stays up for reuse. If the user wants it gone (or a

headed window lingers), run `npx @usecanary/browser stop` — it stops the daemon and every browser.

Read more
@0xnyn
Ships withcanary

QA harness built for Claude Code | E2E testing with screen recordings, console logs, network HARs, and Playwright traces

4945 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
494
Star history of 0xnyn/canary on GitHub, a chart by star-history.com

Other agents on canary.

review-agent

review-agent

Agent

Open and triage recorded Canary sessions. Use when the user wants to view, replay, or triage a session, asks what happened or…

@0xnyn@0xnynInstall Agent
session-agent

session-agent

Agent

Record a verifiable Canary QA session — explore a flow step by step against one persistent browser, each script a recorded step…

@0xnyn@0xnynInstall Agent
verify-agent

verify-agent

Agent

Turn a code change into a prioritized browser-QA plan with Canary — read the git diff, infer the affected user-facing workflows,…

@0xnyn@0xnynInstall Agent

More agents from other plugins.

bkend-expert

bkend-expert

Agent

bkend.ai BaaS platform expert agent. Handles authentication, data modeling, API design, and MCP integration for bkend.ai…

bkit12d606
@popup-studio-ai@popup-studio-aiInstall Agent

Questions about automate-agent.

Which coding agents can use automate-agent?
automate-agent installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.