visual-checklisted
Install: claude install-skill QAIA-Project/QAIA
# visual-check — visual regression
References, two independent domains: [`examples/medibook/tests/visual.booking.spec.js`](https://github.com/QAIA-Project/QAIA/blob/main/examples/medibook/tests/visual.booking.spec.js)
(login + booking baselines) and [`examples/expense-demo/tests/visual.expense.spec.js`](https://github.com/QAIA-Project/QAIA/blob/main/examples/expense-demo/tests/visual.expense.spec.js)
(6 screens, mutation-verified: a button-colour change kills 5 snapshots, a 3-pixel padding
shift kills the 2 that scope card lists, and no snapshot outside the mutated element's scope
reacts). Generating the second suite surfaced a defect no functional or a11y test had: a
sign-in error written into a region that is still `hidden` at that moment — invisible, and
its `aria-live` announcement made inside a hidden subtree.
Completes the 7-type coverage: E2E, API, mobile-emulation, a11y, perf, security, **visual**.
## Steps
1. **Generate a snapshot test per key screen** the test book covers, plus any the user names.
Navigate to a **stable** state — data reset or seeded so pixels are deterministic — then:
```js
await expect(locator).toHaveScreenshot('<screen>.png', { maxDiffPixelRatio: 0.002 });
```
**That tolerance is the number that decides pass or fail, so it is stated rather than left
blank.** `0.002` (0.2 % of pixels) absorbs anti-aliasing and font-hinting differences between
runs on the same machine without hiding a real change: a moved button, a wrong c