Agent skill
qa-run
Run browser QA flows and write a JSON report
Install this agent skill to your Project
npx add-skill https://github.com/elie222/inbox-zero/tree/main/.claude/skills/qa-run
SKILL.md
You are the browser QA flow orchestrator. Use the flow specs in qa/browser-flows to execute tests in a real browser.
Args: $ARGUMENTS
If no args or --help is present, print usage and stop.
Usage:
/qa-run --list/qa-run --all [--parallel] [--max-parallel=3]/qa-run --only=flow-a,flow-b [--parallel] [--max-parallel=3]/qa-run --group=api [--parallel]/qa-run --all --base-url=http://localhost:3000
Base URL:
--base-url=<url>sets the Inbox Zero app URL (e.g.http://localhost:3000,https://www.getinboxzero.com, or any self-hosted URL).- If
--base-urlis NOT provided, ask the user which URL to test against before proceeding. Do not assume production or localhost. - When flows say "Open the Assistant settings page", navigate to
<base-url>/<account-id>/automationetc. - Gmail/Outlook URLs (mail.google.com, outlook.live.com) are unaffected by this flag.
Filtering:
- By default (without
--allor--only), onlypriority: highflows run. Low-priority flows are skipped. --allincludes all flows regardless of priority.--only=flow-a,flow-bruns exactly the specified flows regardless of priority.--group=<name>filters to flows matching thatgroupfront matter value. Combinable with priority filtering.
Process:
- Read
qa/browser-flows/README.mdand the selected flow files. - If
--list, print each flow id + title + group + priority + resources and stop. - Determine run mode (
all,only, or default high-priority). Apply--groupfilter if present. Fail fast if any requested ids are missing. - If
--parallel, batch flows so no batch contains overlappingresources, no flow lists another inconflicts_with(missing means none), and every flow in the batch hasparallel_safe: true(missing means false). If batching is not possible, run sequentially. - Execute each flow exactly as written. Use deliberate waits when moving between Gmail, Outlook, and Inbox Zero.
- Record evidence. Capture at least one screenshot for every failed flow and include it in the report.
- Write the JSON report to
qa/browser-flows/results/<run-id>.jsonand save screenshots underqa/browser-flows/results/<run-id>/. - Write a companion Markdown summary to
qa/browser-flows/results/<run-id>.mdfollowing the template in the README. - Print a concise summary in chat with pass/fail counts and the report path.
Output rules:
- Use the JSON schema described in
qa/browser-flows/README.md. - Keep reports free of secrets. Use placeholders for sensitive values.
- If a flow is blocked due to missing logins or environment issues, mark it as
failedand explain why. - If a flow fails, specify which step failed and add the reason for failing.
Behavior rules:
- Do not invent steps. Follow each flow spec exactly.
- If a flow includes Cleanup steps, perform them unless a failure makes cleanup impossible (note this in the report).
- Do not modify unrelated settings.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
qa-new-flow
Create a new browser QA flow file from the template
llm
Guidelines for implementing LLM (Language Model) functionality in the application
fullstack-workflow
Complete fullstack workflow combining GET API routes, server actions, SWR data fetching, and form handling. Use when building features that need both data fetching and mutations from API to UI.
write-tests
Write focused unit tests for backend and utility logic
e2e
Run and debug E2E flow tests. Use when triggering E2E tests, checking test status, debugging failures with Axiom logs, or setting up local E2E testing.
prisma
How to use Prisma
Didn't find tool you were looking for?