Skill: Flywheel UI Dogfood
Goal
Continuously dogfood every UI route, capture walkthrough evidence (screenshots + video + scribe), run Gemini-based video/screenshot QA, and iterate until issues stop reproducing.
When to Use
- •Any frontend/UI change
- •Any report of flashing/jank/layout shift
- •Any production regression that needs end-to-end evidence
Inputs
- •Repo checked out and dependencies installed
- •
VITE_CONVEX_URLset for Convex actions/queries - •Gemini API key present in Convex env (server-side)
Outputs
- •Updated dogfood artifacts in
public/dogfood/*(gallery, walkthrough video, frames, scribe) - •Gemini QA runs visible in
/dogfoodUI - •Root-cause fixes merged with verification proof
Protocol (Flywheel Mode)
- •Launch dev server and open
/dogfood - •Poll every 60 seconds for: console errors, runtime exceptions, visual regressions, performance jank
- •Diagnose using 5-whys until reaching the design decision / missing constraint / wrong assumption
- •Fix the cause (make the bug impossible), not a band-aid
- •Verify:
npx tsc --noEmitandnpm run build - •Re-capture evidence:
npm run dogfood:full:local - •Re-run Gemini QA:
npm run dogfood:qa:gemini - •Repeat steps 2-7 until the flywheel converges (no new P0/P1 issues)
Motion Safety (Seizure / Flash Policy)
- •Avoid high-contrast flashes and large-area opacity pulses/fades.
- •Prefer stable backgrounds and subtle (or non-animated) loading states for full-viewport surfaces.
- •Always honor
prefers-reduced-motionand ship a UI toggle when motion is used.
Commands
powershell
npm run dogfood:full:local npm run dogfood:qa:gemini npm run dogfood:verify npx tsc --noEmit npm run build