Agent skill
agent-browser-prd-playbooks
Generates agent-browser command playbooks for each Daedalus PRD user story (enrich, extract, observe, scout, agent, billing) to guide UI walkthroughs and evidence capture.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/agent-browser-prd-playbooks
SKILL.md
Agent-Browser PRD Playbooks
Use this skill to draft ready-to-run agent-browser command blocks for every Daedalus PRD user story in prd.json (US-001..US-007). It does not run the browser; it outputs scripts to execute manually.
Prerequisites
agent-browser --versionsucceeds; if missing:npm install -g agent-browser- Chromium downloaded:
agent-browser install(Linux:agent-browser install --with-deps) - App base URL known (e.g.,
http://localhost:3000or deployed URL) - Auth: choose one
- Header-based:
--headers '{"Authorization":"Bearer <token>"}' - Saved state: log in once then
agent-browser state save auth.json; reuse withstate load auth.json
- Header-based:
- Keep refs-first flow: always run
snapshot -ibefore interacting; re-snapshot after navigation.
Inputs
prdPath: path to PRD JSON (defaultprd.jsonat repo root)baseUrl: app URLauthHeadersorauthStatePath: for authenticated areas- Optional: feature flags or tenant identifiers per story
Steps
- Read
prdPathand listuserStoriesids/titles. - For each story, set a dedicated session
--session <id>to isolate cookies. - Login (if needed) once per session; then
state savefor reuse. - Build a refs-first command block:
open → snapshot -i → interactions → wait → verify (url/title/text) → screenshot --full. - Prefer semantics (
find role/text/label) when refs are unstable; avoid destructive actions (billing changes) unless explicitly approved. - Capture evidence: final URL, title, key text via
get text @eN, andscreenshot --full <id>.png.
Command Playbooks per PRD Story
Replace
<BASE_URL>with your target, provide real selectors/refs from the latestsnapshot -i, and fill any placeholders like<CSV_PATH>.
US-001 – Enrich a CSV of leads (enrich batch)
bash
agent-browser --session US-001 open <BASE_URL>/enrich/batch
agent-browser snapshot -i
# TODO: click upload control
agent-browser find role button click --name "Upload" || agent-browser click @e?
agent-browser snapshot -i
agent-browser fill @e? "<CSV_PATH>" # if file picker not allowed, attach via UI flow manually
agent-browser snapshot -i
agent-browser click @e? # Submit/process
agent-browser wait --text "Enrichment complete" || agent-browser wait --text "Processing"
agent-browser get url
agent-browser get title
agent-browser get text @e? # Verify row count or success message
agent-browser screenshot --full US-001.png
US-002 – Enrich a single lead (enrich single)
bash
agent-browser --session US-002 open <BASE_URL>/enrich
agent-browser snapshot -i
agent-browser find label "Email" fill "demo@example.com" || agent-browser fill @e? "demo@example.com"
agent-browser find label "Name" fill "Demo User" || true
agent-browser find role button click --name "Enrich" || agent-browser click @e?
agent-browser wait --text "Enrichment complete" || agent-browser wait --text "Profile"
agent-browser get url
agent-browser get title
agent-browser get text @e? # Verify role/company output
agent-browser screenshot --full US-002.png
US-003 – Extract brand identity from a URL (extract)
bash
agent-browser --session US-003 open <BASE_URL>/extract
agent-browser snapshot -i
agent-browser find label "Website" fill "https://example.com" || agent-browser fill @e? "https://example.com"
agent-browser find role button click --name "Extract" || agent-browser click @e?
agent-browser wait --text "Colors" || agent-browser wait --text "Fonts"
agent-browser get url
agent-browser get title
agent-browser get text @e? # Verify brand attributes present
agent-browser screenshot --full US-003.png
US-004 – Monitor critical pages for changes (observe)
bash
agent-browser --session US-004 open <BASE_URL>/observe
agent-browser snapshot -i
agent-browser find label "URL" fill "https://example.com/pricing" || agent-browser fill @e? "https://example.com/pricing"
agent-browser find label "Frequency" fill "daily" || agent-browser select @e? "Daily"
agent-browser find role button click --name "Create monitor" || agent-browser click @e?
agent-browser wait --text "Monitor created" || agent-browser wait --text "Next run"
agent-browser get url
agent-browser get title
agent-browser get text @e? # Verify monitor row appears
agent-browser screenshot --full US-004.png
US-005 – Run scouts to discover new signals (scout)
bash
agent-browser --session US-005 open <BASE_URL>/scout
agent-browser snapshot -i
agent-browser find label "Query" fill "site:news.ycombinator.com fintech" || agent-browser fill @e? "site:news.ycombinator.com fintech"
agent-browser find role button click --name "Run scout" || agent-browser click @e?
agent-browser wait --text "Results" || agent-browser wait --text "New findings"
agent-browser get url
agent-browser get title
agent-browser get text @e? # Verify deduped results listed
agent-browser screenshot --full US-005.png
US-006 – Run research sessions with agents (agent)
bash
agent-browser --session US-006 open <BASE_URL>/agent
agent-browser snapshot -i
agent-browser find label "Prompt" fill "Summarize competitor positioning for Acme" || agent-browser fill @e? "Summarize competitor positioning for Acme"
agent-browser find role button click --name "Run" || agent-browser click @e?
agent-browser wait --text "Thinking" || agent-browser wait --text "Sources"
agent-browser get url
agent-browser get title
agent-browser get text @e? # Verify answer section populated
agent-browser screenshot --full US-006.png
US-007 – Manage plans, usage, and billing (platform/billing)
bash
agent-browser --session US-007 open <BASE_URL>/billing
agent-browser snapshot -i
# Read-only unless explicitly approved; avoid purchasing/upgrading without consent
agent-browser get text @e? # Current plan/limits
agent-browser screenshot --full US-007.png
Session & Resilience
- Use
--session <id>per story to keep cookies separate. - After login in a session:
agent-browser state save auth-<id>.json; preload withstate load auth-<id>.json. - On failure/timeouts: rerun
snapshot -i, usewait --textorwait --url, then retry the action. - If MFA/CAPTCHA blocks progress, stop and request human input.
Outputs
- Per-story command block (above) tailored with real refs/selectors.
- Evidence per story: final URL, title, key text assertion, and screenshot path
<id>.png.
Verification
- Validate command syntax (no missing args; refs exist from latest snapshot).
- Confirm non-destructive intent (especially billing); abort upgrades/changes unless explicitly approved.
- Ensure auth method is scoped (headers per origin or session state file).
- Re-snapshot after each navigation before using
@e?refs.
Didn't find tool you were looking for?