← All craftbooks

Browser QA Audit

Review and QAevalv2.0.8released 2026-09-05

Exercise a running app in a real browser, triage what breaks, and produce a report-only QA findings list with a health score — no code changes.

Steps

Entry step: plan-coverage. Each step names the specialist role it wants; the full working prompt is expandable.

  1. Plan observable coverageQA analystentry

    Confirm the target and turn user intent into bounded journeys, states, and evidence requirements.

    Show working prompt
    Confirm the target URL, requested scope, authentication constraints, viewport requirements, destructive-action limits, and expected behavior from the task context. Ask only for missing information that blocks browser use, and never store credentials in output. Open the target with the configured browser toolset to verify reachability. Map the visible navigation and prioritize core journeys. Define happy, empty, invalid, error, loading, permission, and responsive states to exercise, plus a clear tested versus excluded boundary.
    
    Observable handoff: write the completed result to `qa/test-plan.md` in the workspace with `write_file`. Do not merely describe what the file would contain. Re-read it with `read_file` before finishing this phase and repair any incomplete sections.
  2. Exercise the applicationbrowser QA engineer

    Run the planned journeys in a real browser and capture reproducible, redacted evidence.

    Show working prompt
    Execute `qa/test-plan.md` with the configured browser tools, using `run_playwright_script` for repeatable multi-step journeys when useful. At every journey, record URL, viewport, input state, actions, visible result, console errors, and screenshot path. Test keyboard focus and basic accessible naming, realistic invalid input, browser back and forward behavior, and at least one narrow viewport. Retry each suspected issue once. Save screenshots beneath `qa/screenshots/` and a machine-readable issue summary to `qa/baseline.json`. Redact secrets and never submit destructive or externally visible actions without explicit permission.
    
    Observable handoff: write the completed result to `qa/browser-evidence.md` in the workspace with `write_file`. Do not merely describe what the file would contain. Re-read it with `read_file` before finishing this phase and repair any incomplete sections.
  3. Write the QA reportQA reporter

    Triage observed defects, compute the health score, and provide owners with exact reproduction evidence.

    Show working prompt
    Write the report only from `qa/test-plan.md`, `qa/browser-evidence.md`, screenshots, and baseline data. For every issue include severity, confidence, category, affected journey, exact reproduction steps, expected versus actual behavior, screenshot or console evidence, frequency, and user impact. Keep blocked checks separate from passes. Compute category scores and the weighted health score with visible arithmetic. End with the top three fixes by user impact, but do not edit code or prescribe speculative implementation details.
    
    Observable handoff: write the completed result to `qa/browser-qa-report.md` in the workspace with `write_file`. Do not merely describe what the file would contain. Re-read it with `read_file` before finishing this phase and repair any incomplete sections.
  4. Evaluate the deliverableQA reviewer

    Independently grade the observable deliverable and route it to finish, repair, or user escalation.

    Show working prompt
    Review `qa/browser-qa-report.md`, `qa/test-plan.md`, `qa/browser-evidence.md`, `qa/baseline.json` against every criterion below. Inspect the underlying evidence files named by the workflow; do not grade from the author's summary alone.
    
    1. Every claimed pass, fail, and blocked check traces to an actual browser journey in the evidence log.
    2. Each defect was reproduced twice or its confidence was reduced, and includes expected versus actual behavior plus screenshot or console evidence.
    3. Core journeys cover meaningful state changes, invalid input, navigation, console health, responsive layout, and accessibility basics in proportion to scope.
    4. Credentials and sensitive data are redacted, and no destructive or externally visible action was taken without permission.
    5. Severity reflects user impact and reach, while untested surfaces are never counted as passing.
    6. The category and overall health-score arithmetic is reproducible from the report.
    
    Open `qa/browser-qa-report.md`, `qa/test-plan.md`, `qa/browser-evidence.md`, `qa/baseline.json` with `read_file`. Write the evidence-backed review to `{{workPath}}/reviews/browser-qa-audit-review.md` in the artifacts drawer with `write_artifact`. Give each criterion a PASS or FAIL with a concrete path, excerpt, measurement, or observed behavior. End with exactly `Verdict: PASS` or `Verdict: REVISE`. Then use `advance_task_step` for the active task: PASS routes to `finish`; REVISE routes to `repair` for review rounds 1 through 2, and the 3th REVISE routes to `needs-user`. Never route to finish while a criterion is unmet.
  5. Repair the deliverableQA reporter

    Fix only the concrete gaps from the latest independent review.

    Show working prompt
    Read `{{workPath}}/reviews/browser-qa-audit-review.md` with `read_artifact` and repair every failed criterion in `qa/browser-qa-report.md`, `qa/test-plan.md`, `qa/browser-evidence.md`, `qa/baseline.json`. Make changes on each file's declared surface (`write_artifact` for artifact inputs, `write_file` for workspace inputs), not in task notes or a reply. Preserve evidence that already passed. Re-run or re-check anything the reviewer found unproven. Ensure `qa/browser-qa-report.md` is genuinely updated this turn so the repair is observable, then hand it back for independent evaluation.
  6. Finishproject lead

    All deterministic and reviewer criteria passed.

    Show working prompt
    The independent review passed. Read `{{workPath}}/reviews/browser-qa-audit-review.md` with `read_artifact`, then use `write_task_note` to record a concise DONE summary with the final deliverable paths (`qa/browser-qa-report.md`, `qa/test-plan.md`, `qa/browser-evidence.md`, `qa/baseline.json`) and the evidence that each acceptance criterion passed. Report DONE without starting new work.
  7. Escalate unresolved concernsproject lead

    The bounded repair loop ended without a defensible pass.

    Show working prompt
    The deliverable did not pass after 3 review rounds. Do not claim success. Read `{{workPath}}/reviews/browser-qa-audit-review.md` with `read_artifact`, then use `write_task_note` to record DONE_WITH_CONCERNS: the unmet criteria, what was attempted, the affected paths, and the smallest user decision or missing input needed to continue.

Triggers

Phrases that suggest this craftbook to a crew.

Toolsets

Source

View this craftbook on GitHub · MIT license