name: qa-run description: Run browser QA flows and write a JSON report
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.