Screenshot your screens and run them through a vision model against a fixed rubric — hierarchy, contrast, alignment, copy — before any human sees them. It's linting, not critique: the machine catches the mechanical misses so human critique time goes to the judgment calls only humans can make.
Workflow area: Ideation & Critique · Tier: Foundation · Hands-on time: ~25 minutes
Half of every critique session gets spent on findings that needed no taste to find: the truncated label, the orphaned alignment, the button that reads "Submit" next to one that reads "Save changes." Those are lint. A multimodal model with a rubric catches most of them in two minutes, which changes what critique is for — the room stops proofreading and starts designing. The trap to avoid is treating the model's opinions about your design direction as findings. The rubric exists to keep it on lint duty.
Export clean screenshots at real size. One screen per image, realistic content in place (pb-07's states count as screens). Vision models miss less at higher fidelity, and lorem-ipsum screens hide the copy findings entirely.
Run the rubric-anchored lint. In Claude, ChatGPT or Gemini, attach the screenshots and run:
You are a design linter. Review these screens against ONLY this
rubric. Do not comment on design direction, aesthetics, or ideas.
Context: [ONE LINE — product, platform, this screen's job]
Rubric:
1. HIERARCHY — is the primary action visually primary? Do sizes/
weights match importance? Anything competing that shouldn't?
2. ALIGNMENT & SPACING — misalignments, inconsistent gaps, elements
off-grid.
3. CONTRAST & LEGIBILITY — text/background pairs that look
insufficient, type too small for the platform, truncation.
4. COPY — inconsistent terminology across screens, unclear labels,
case inconsistencies, buttons whose labels don't say what
happens, placeholder text left in.
5. CONSISTENCY — same element styled differently across these
screens; interaction patterns that contradict each other.
For each finding: SCREEN | RUBRIC ITEM | WHAT & WHERE | SEVERITY
(fix-before-sharing / fix-before-shipping / judgment-call).
If a rubric category has no findings, say "clean". Do not pad.
Triage in one pass — fix, flag or discard. Good lint output looks like this; note the third line is the model overstepping, and you discard it:
Screen 2 | COPY | Primary button "Submit" vs. Screen 4 "Save
changes" for the same action | fix-before-sharing
Screen 3 | CONTRAST | Secondary text on tinted card looks below
AA at body size | fix-before-shipping (verify with a real checker)
Screen 1 | HIERARCHY | "Consider a card-based layout instead" |
DISCARD — direction opinion, outside rubric
Mechanical findings you fix immediately. Contrast findings get verified with a deterministic checker — the model estimates contrast from pixels; Stark or a WCAG checker computes it, and only the computed number counts (pb-31 owns the full pass). Direction opinions get discarded without guilt.
Bring judgment-calls to the humans. Findings the model marked judgment-call — plus everything it can't see: strategy fit, user context, emotional register — are your critique agenda. Open the session with "it's pre-linted; here's what I actually need eyes on."
Feed repeat findings upstream. The same lint appearing three weeks running is a system gap, not a you gap — a missing component variant, an unwritten copy rule. Route it to pb-27's voice system or your design-system backlog, and the lint stops recurring.
Screenshots of unreleased UI are confidential product material — run pre-critiques in your organization's approved AI tenant, and scrub any real user data visible in test-environment screens before uploading.
Run the lint the evening before critique, not an hour before — the mechanical fixes take longer than the linting, and walking into the room already-clean is the entire payoff.