UX Crit
A plugin for AI code agents that makes the AI reason like a senior designer before it builds, then audits what it built. Works in Claude Code, Cursor and Codex. Rolled out across Incorta.
A ranked audit of a screen.
It checks the screen against all eight skills. A second agent then re-checks every finding against the code and drops the weak ones. Each finding is pinned to an element, with a fix.
From a sentence to a spec, in order.
Describe what you are building. It works out who it is for and what failure costs, draws the wireframe, then lists every state the build needs.
A quick check before a change merges.
It reads only the lines that changed, so it is fast enough for every pull request. Each problem is pinned to its line.
Moves a screen onto the design system.
Hard-coded colours, spacing and corners are replaced with the project’s tokens. How the screen behaves stays the same.
An illustration with sample data. Pick a command to replay it.
In short
Problem
AI coding tools build screens that mirror the database: every field a row, every row a label, and nobody asks what the person came to do.
What I did
Wrote down how a senior designer thinks, as a plugin. It reasons before it builds, then audits what it built.
Result
16 real problems found on one feature before the stakeholder review, all fixed. Rolled out across Incorta.
How a review runs.
- 1
Run /ux-audit
Point it at a screen, a component or a pull request.
- 2
The auditor sweeps
All eight skills, against the real code.
- 3
The verifier argues
Every finding is checked again, and the weak ones are dropped.
- 4
You get a ranked list
From P0, ships broken, to P3, a note. Each with the file, the line and the fix.
The first big run.
Under the hood: 8 skills that decide.
They switch on by themselves when the work needs them. Each one answers one question.
- 1
Intent discovery
Who is this for, what did they come to do, and what does failure cost?
- 2
Information hierarchy
What do they see first, second, and never?
- 3
State completeness
Which states did nobody design: empty, loading, partial, error, offline?
- 4
Forms and inputs
Does this form respect the person filling it in?
- 5
Feedback and affordance
Does the screen answer within 400 ms, and can they undo?
- 6
Motion system
Do the timings and curves feel premium, or broken?
- 7
Design tokens
Is this a system, or a pile of hard-coded colours?
- 8
Visual character
Why does this look cheap, and what makes it look considered?
2 agents. One finds, one argues.
They run in their own context, so the main conversation stays clean.
UX auditor
Reads a screen, a component or a change, and returns ranked findings across all eight skills. It never edits code.
UX verifier
Assumes every finding is wrong until the code proves it right, and throws out the false ones before you see them.
Three calls
A verifier, not a score
A second agent tries to disprove every finding.
Instead of self-rated confidence, always “high”
File and line
Every finding says where, why, and the fix.
Instead of prose reports nobody acted on
Review the change
Fast enough to run before every merge.
Instead of full audits nobody had time for
What it is built on.
A reference layer of 76 UX patterns with real values: timings, contrast ratios, spacing scales and state lists, based on the pattern breakdowns published at designmotionhq.com. Plus an extra layer for dense data products like tables, filters and dashboards. The skills and agents are my own.
Things people ask.
Does it change my code?
How is it different from a linter?
Why a second agent?
Who uses it?
You bring the problem.
I bring the prototype.
A few lines about what you want to fix. The reply comes from me, within two days.
Start a conversation