ui-verification
Verify UI with rule-keyed Playwright probes: visual states, responsive breakpoints, a11y assertions. Use after building or changing user-facing UI.
SKILL.mdskills/frontend/ui-verification/SKILL.md
GitHubui-verification
Every UI rule gets a probe; every probe maps to the rule it checks.
Activate when
- New/changed screens, responsive work, or design-system updates need proof, not screenshots alone.
Do NOT activate for
- Design decisions themselves (see design-systems, responsive-design).
Procedure
- Map each Observed rule to a probe id; one probe per rule, named for the rule it checks.
- Cover states: loading/empty/error/success, hover/focus/disabled, plus 320→1920 widths and reduced-motion.
- Assert accessibility: roles, labels, focus order, contrast (pair with
../accessibility/). - Run headless in CI; store traces on failure; flake-quarantine with owner and expiry.
- Verify: green run linked from the PR; failures reproduce locally via the trace.
What this proves (and does not)
Distinguish four levels — do not claim a higher one than the probes support:
- Functional: states render, interactions respond, console error-free.
- Layout: bounding boxes, no overflow, no overlap, text wraps within containers.
- Responsive: layout holds across the viewport matrix; touch targets adequate.
- Accessibility: semantics, focus, names, contrast asserted programmatically.
- Visual regression (pixel comparison) is NOT implemented here: no screenshot baselines, no pixel-diff thresholds. Say "layout verified by probes," never "pixel-perfect." If pixel comparison is needed, add a dedicated screenshot-baseline tool first.
Concrete probes where a browser tool exists: viewport widths, element bounding boxes, overflow computed values, visibility, text wrapping, interaction-state screenshots, console errors, failed network requests.
References
- Related:
../accessibility/,../responsive-design/,../component-design/.