Catalog
affaan-m/browser-qa

affaan-m

browser-qa

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.

NewUpdated Sep 27, 2026

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 URL
2. Check for console errors (filter noise: analytics, third-party)
3. Verify no 4xx/5xx in network requests
4. Screenshot above-the-fold on desktop + mobile viewport
5. 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 links
2. Submit forms with valid data — verify success state
3. Submit forms with invalid data — verify error state
4. 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 PASS
3. Flag layout shifts > 5px, missing elements, overflow
4. Check dark mode if applicable

Phase 4: Accessibility

1. Run axe-core or equivalent on each page
2. Flag WCAG 2.2 AA violations (contrast, labels, focus order)
3. Verify keyboard navigation works end-to-end
4. 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

## 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.

Files1
1 files · 1.0 KB

Select a file to preview

Overall Score

82/100

Grade

B

Good

Grades are signals, not a certification. Always review a skill yourself before use.

Safety

85

Quality

84

Clarity

85

Completeness

75

Summary

Browser QA is an automated post-deploy testing skill that guides agents through UI verification workflows using browser automation MCPs (claude-in-chrome, Playwright, Puppeteer). It orchestrates smoke tests, interaction tests, visual regression checks, and accessibility audits, culminating in a SHIP/DO-NOT-SHIP verdict. The skill emphasizes read-only operations by default, with explicit opt-in required for mutating journeys against staging/preview environments only.

Detected Capabilities

browser automation (navigation, clicking, form submission)screenshot capture at multiple viewpointsnetwork request inspection (HTTP status codes)console error detection and filteringCore Web Vitals measurement (LCP, CLS, INP)accessibility audit execution (axe-core)visual regression comparisonkeyboard navigation testing

Trigger Keywords

Phrases that agents use to match this skill to user intent.

post-deploy verificationvisual regression testingaccessibility auditresponsive layout testingui interaction testingcore web vitals checkfrontend pr reviewstaging deployment check

Risk Signals

INFO

Interaction tests drive auth flows and user journeys against live URLs

Phase 2: Interaction Test section
INFO

Skill explicitly documents read-only-by-default stance; mutating operations require staging URL + explicit opt-in

Safety first section and Phase 2
INFO

Test credentials used for auth flows, not production credentials

Phase 2: Interaction Test section
INFO

Screenshots must redact credentials, tokens, PII before saving

Safety first section

Use Cases

  • Verify deployed features on staging before production release
  • Test responsive layouts across mobile, tablet, and desktop breakpoints
  • Run accessibility audits against live web pages using axe-core
  • Test auth flows and user interactions without modifying data
  • Perform visual regression testing against baseline screenshots
  • Review frontend PRs by validating UI behavior and interactions
  • Check Core Web Vitals and performance metrics after deployment

Quality Notes

  • Clear phased structure (smoke → interaction → visual → accessibility) makes the workflow easy to follow
  • Explicit safety guardrails documented: read-only default, staging-only for mutations, test credentials mandatory, PII redaction required
  • Well-defined output format with example verdict verdicts (SHIP / SHIP WITH FIXES / DO NOT SHIP / INCONCLUSIVE)
  • Core Web Vitals thresholds clearly stated (LCP < 2.5s, CLS < 0.1, INP < 200ms) with March 2024 INP update noted
  • Important caveat about axe-core limitations: ~30-40% WCAG coverage, automated pass is necessary but not sufficient — requires manual verification
  • Visual regression defaults to INCONCLUSIVE if no baseline exists, preventing silent passes
  • Console error filtering guidance: acknowledges noise from analytics and third-party scripts
  • Integration section clearly specifies compatible browser MCPs (claude-in-chrome preferred, Playwright, Puppeteer)
  • Blast radius explicitly addressed throughout with repeated emphasis on staging-only for mutations
  • Breakpoint coverage specified (375px, 768px, 1440px) for visual regression tests
Model: claude-haiku-4-5-20251001Analyzed: Sep 27, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Version History

  1. v2.0

    Contract changed: description

    ✦ AIExpands activation scope: adds explicit MCP tool requirements (claude-in-chrome, Playwright, Puppeteer), specific test categories (console errors, Core Web Vitals, form/auth flows, visual regression…

    triggering2026-09-27

    LATEST
  2. v1.2

    Content updated

    ✦ AIAdds explicit safety guidance: read-only by default for journeys, staging-only for mutations, test credentials only; redaction required. Updates Core Web Vitals and WCAG thresholds; baseline…

    2026-07-14

    View This Version
  3. v1.1

    Content updated

    ✦ AIAdds LICENSE file.

    2026-04-20

    View This Version
  4. v1.0

    2026-04-12

    View This VersionInitial version

Use affaan-m/browser-qa in your dev environment

Command Palette

Search for a command to run...