QA
Browser-based QA testing with the browse CLI. Test real user flows, capture
visual evidence, and fix issues with atomic commits.
Phase 0: Setup
- Verify browse is available:
browse status - If not found, report error — browse binary must be installed
- Get the target URL from the task description or ask the user
Phase 1: Orient
- Navigate to the target:
browse goto <url> - Take a baseline snapshot:
browse snapshot -i - Check console for errors:
browse console - Extract navigation links:
browse links - Build a site map of pages to test (limit to 10 most important pages)
Phase 2: Page-by-Page Audit
For each page in the site map:
- Navigate:
browse goto <page-url> - Snapshot interactive elements:
browse snapshot -i - Check console for errors:
browse console - Screenshot for evidence:
browse screenshot <page-name>.png - Note issues found: broken links, console errors, missing elements, layout problems visible in snapshot
Phase 3: User Flow Testing
Test the primary user flows (signup, login, checkout, etc.):
- Identify the flow steps from the snapshot
- Execute each step using refs:
browse click @e3— click buttons/linksbrowse fill @e5 "test@example.com"— fill inputsbrowse select @e7 "option-value"— select dropdownsbrowse press Enter— submit forms
- After each step, snapshot and verify the expected outcome
- Screenshot at each step for evidence
Phase 4: Health Score
Rate the site on a 0-10 scale across these dimensions:
- Console health: errors / warnings count
- Link health: broken links / total links
- Interactivity: do buttons and forms work?
- Visual completeness: are there missing images, broken layouts?
Report format:
Health Score: 7/10
- Console: 9/10 (2 warnings, 0 errors)
- Links: 8/10 (1 broken link out of 45)
- Interactivity: 6/10 (signup form submit fails silently)
- Visual: 5/10 (hero image 404, footer misaligned on mobile)
Phase 5: Fix Loop
For each issue found (in severity order):
- Locate the root cause in the source code
- Write the minimal fix
- Run the test suite
- Commit atomically: one fix per commit
- Re-test in the browser to confirm the fix:
browse goto <url>+browse screenshot - Move to the next issue
Stop conditions:
- All Critical/High issues fixed
- 20-fix cap reached (report remaining as known issues)
- Test suite regression detected — stop and report
Phase 6: Report
Summarize all findings:
- Pages tested (count and list)
- Issues found (by severity)
- Issues fixed (with commit hashes)
- Issues remaining (if any)
- Health score before and after
- Screenshot evidence (file paths)
Rules
- Always take screenshots as evidence — never claim "it looks fine" without proof
- One fix per commit, atomic and revertable
- Do not fix style preferences — only fix real bugs and broken functionality
- If you cannot reproduce an issue in the browser, note it as "not reproduced"
- Stop after 20 fixes to avoid scope creep