design-review-gatelisted
Install: claude install-skill F-e-u-e-r/opus-pack
# Design Review Gate
Posture: **default to flagging; approval is earned, not assumed.** A surface
that "works" but breaks a budget, ships one state, or drifts from the
project's design contract is a finding, not a pass. Review the RENDERED
surface at real breakpoints - source code is evidence about intent, never
about appearance.
## 1. Measure before judging
Taste words ("feels off", "not premium") are not findings. Extract the
facts first, in the running page:
- **Font census** - one pass tells you if hierarchy is real:
`[...new Set([...document.querySelectorAll('body *')].map(e => { const s =
getComputedStyle(e); return s.fontFamily.split(',')[0] + ' ' + s.fontSize
+ '/' + s.fontWeight; }))].sort()`
More than ~6-8 distinct size/weight combos on one screen is a hierarchy
finding.
- **Touch-target audit** (app surfaces; set MIN = 48 for Android-targeted
surfaces, 44 for iOS-only - the floor's home is ui-design-craft §5):
`const MIN = 48;
[...document.querySelectorAll('a,button,textarea,summary,input,select,
[role="button"],[role="link"],[role="tab"],[role="switch"],
[role="checkbox"],[role="menuitem"]')]
.map(e => ({ t: (e.textContent || e.ariaLabel || '').trim().slice(0, 24),
r: e.getBoundingClientRect() })).filter(x => x.r.width > 0 && x.r.height
> 0 && (x.r.width < MIN || x.r.height < MIN))`
(zero-area rects are hidden elements - excluded, not findings). The
snippet is a screen, not the law: a small control wrapped in a large
clickable l