What problem does it solve? Visual tests that drive a real page with @uiverify/playwright keep coming back "changed" without any real change, because the archive bakes in whatever the page was at capture time — random A/B variants, live API data, the clock, third-party widgets, lazy content, and animations all inject run-to-run variation that shows up as flaky diffs. ## Core Features & Use Cases - Symptom-to-lever diagnosis: Maps each flaky diff pattern (whole-page reflow, content drift, random element swaps, canvas noise) to its cause class and the exact fix recipe. - Record-time stabilization recipes: Provides copy-paste Playwright code for stubbing feature-flag scripts with 204 fulfills, mocking API responses, freezing the clock, dismissing overlays, triggering lazy content, and hiding unstable DOM regions. - App-side determinism patterns: Covers cases stubs cannot reach — SSR-time Math.random picks, infinite CSS animations, canvas/rAF loops — using an isUIVerify() branch and the UI_VERIFY env var. - Use Case: Your Next.js staging site's visual test flakes every run because a hero image is chosen by Math.random() at server render time; the skill directs you to pin the variant on isUIVerify() with UI_VERIFY=1 set on the app server so SSR and client agree. ## Quick Start Ask the agent to diagnose why my @uiverify/playwright visual test diffs keep flaking and apply the right determinism recipe to my test setup.