Browser Qa

affaan-m/ECC/skills/browser-qa

by affaan-mef648e01899ba3e8dc6371642deaaf64b4477775No license275K starsListed Oct 9, 2026Updated Oct 9, 2026Repository updated 4 days ago

Run automated post-deploy UI verification with a browser automation MCP (claude-in-chrome, Playwright, or Puppeteer): console-error and Core Web Vitals smoke checks, form and auth-flow interaction tests, screenshot visual regression across three breakpoints, and axe-core accessibility audits ending in a SHIP / DO-NOT-SHIP verdict. Use when testing a deployed feature on staging or preview, before shipping frontend changes, reviewing a frontend PR, or checking responsive layout and accessibility.

Instructions onlySoftware Development
AI-generated overview

Runs post-deploy browser QA: smoke checks, interaction tests, visual regression and accessibility audits with a SHIP verdict.

What it does
Guides an agent through four phases of browser-based quality assurance on a deployed page: a smoke test for console errors, failed requests and Core Web Vitals; interaction tests for nav links, forms and auth flows; visual regression screenshots at three breakpoints against committed baselines; and axe-core accessibility checks against WCAG 2.2 AA. It produces a structured markdown QA report with findings per phase and a final verdict of SHIP, SHIP WITH FIXES, DO NOT SHIP, or INCONCLUSIVE when no visual baseline exists. It defaults to read-only journeys and requires staging URLs and test credentials for any mutating flow.
When to use it
Use after deploying a feature to staging or a preview environment, before shipping frontend changes, or when reviewing a frontend pull request. It also fits responsive layout checks and accessibility audits of live pages.
Requirements
A browser automation MCP such as claude-in-chrome, Playwright (for example via Browserbase) or Puppeteer, plus network access to the target URL. Mutating journeys need an explicit opt-in, a staging or preview URL, and seeded test credentials. Ships no scripts; instructions only.

Browser QA — Automated Visual Testing & Interaction

When to Use

  • After deploying a feature to staging/preview
  • When you need to verify UI behavior across pages
  • Before shipping — confirm layouts, forms, interactions actually work
  • When reviewing PRs that touch frontend code
  • Accessibility audits and responsive testing

How It Works

Uses the browser automation MCP (claude-in-chrome, Playwright, or Puppeteer) to interact with live pages like a real user.

Safety first — blast radius (run read-only by default)

Browser QA drives real auth and real user journeys, so treat the blast radius explicitly. Default to read-only: never run a mutating journey (checkout, payment, delete, mass-update) against a production URL — require an explicit opt-in and a staging/preview URL. Use seeded test credentials, never real production logins, and redact credentials/tokens/PII before saving any screenshot.

Phase 1: Smoke Test

1. Navigate to target URL2. Check for console errors (filter noise: analytics, third-party)3. Verify no 4xx/5xx in network requests4. Screenshot above-the-fold on desktop + mobile viewport5. Check Core Web Vitals: LCP < 2.5s, CLS < 0.1, INP < 200ms   (INP replaced FID in March 2024; thresholds per web.dev)

Phase 2: Interaction Test

1. Click every nav link — verify no dead links2. Submit forms with valid data — verify success state3. Submit forms with invalid data — verify error state4. Test auth flow: login → protected page → logout (test creds only, never prod)5. Test critical user journeys (checkout, onboarding, search)   — read-only by default; only exercise mutating journeys against staging     with explicit opt-in (see "Safety first" above)

Phase 3: Visual Regression

1. Screenshot key pages at 3 breakpoints (375px, 768px, 1440px)2. Compare against committed baseline screenshots   — no baseline ⇒ report INCONCLUSIVE, never a silent PASS3. Flag layout shifts > 5px, missing elements, overflow4. Check dark mode if applicable

Phase 4: Accessibility

1. Run axe-core or equivalent on each page2. Flag WCAG 2.2 AA violations (contrast, labels, focus order)3. Verify keyboard navigation works end-to-end4. Check screen reader landmarks

Note: axe-core automatically covers roughly 30–40% of WCAG. A clean run is necessary, not sufficient — keyboard nav, focus order, and a screen-reader pass still need a manual check. Don't report "accessible" from an automated pass alone.

Output Format

markdown
## QA Report — [URL] — [timestamp]
### Smoke Test- Console errors: 0 critical, 2 warnings (analytics noise)- Network: all 200/304, no failures- Core Web Vitals: LCP 1.2s ✓, CLS 0.02 ✓, INP 89ms ✓
### Interactions- [✓] Nav links: 12/12 working- [✗] Contact form: missing error state for invalid email- [✓] Auth flow: login/logout working
### Visual- [✗] Hero section overflows on 375px viewport- [✓] Dark mode: all pages consistent
### Accessibility- 2 AA violations: missing alt text on hero image, low contrast on footer links
### Verdict: SHIP WITH FIXES (2 issues, 0 blockers)# verdict ∈ SHIP / SHIP WITH FIXES / DO NOT SHIP; use INCONCLUSIVE if no visual baseline

Integration

Works with any browser MCP:

  • mChild__claude-in-chrome__* tools (preferred — uses your actual Chrome)
  • Playwright via mcp__browserbase__*
  • Direct Puppeteer scripts

Pair with /canary-watch for post-deploy monitoring.

Source and attribution

Source:affaan-m/ECCinskills/browser-qaat commitef648e0

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal