/crisp-ux-laws
Find out why an interaction feels wrong.
(What it does)
Cognitive science as a diagnostic tool. /crisp-ux-laws applies seven laws of perception and movement (Fitts, Hick, Miller, Doherty, Von Restorff, Proximity, and Common Region) to a component or flow. It names each violation, links it to the CRISP dimension it breaks, and specifies the fix.
The point is diagnosis, not theory. When an interaction feels wrong, these laws explain why. A named cause leads to a specific fix instead of more guesswork.
(When to use it)
Use it when a problem needs a name:
- An interaction feels wrong and nobody can explain why
- An audit flagged a C, R, or P problem and you want the root cause
- A design debate needs settling with evidence instead of preference
- You want to check how complex an interaction is before it is locked into the final design
(What you get)
- Each law linked to a CRISP dimension
- Diagnosis of interaction complexity
- One actionable rule per law
- Ways to cut choices and mental effort
(Example output)
Illustrative example only. This is not a real audit.
(The laws and their dimensions)
- Fitts's Law · Seamless: small or distant targets are slower to hit, so the interface should not fight the user's body
- Hick's Law · Powerful: more choices mean slower decisions, so reveal options progressively
- Miller's Law · Intelligent: group information into chunks, because users process grouped units, not long inventories
- Doherty Threshold · Responsive: feedback within 400ms is where a system stops feeling instant. Treat it as a boundary, not a target
- Von Restorff Effect · Contextual: one clear point of emphasis per view, because the item that stands out is the one people notice
- Law of Proximity · Contextual: items placed far apart read as unrelated
- Law of Common Region · Contextual: borders create groups, and unclear containers confuse the user's sense of structure
(Common questions)
Is this just design theory?
No. Every law arrives as a table of problems with specific fixes, in the same style as the other CRISP commands. "Delete button is 12px with no padding. Expand the tap area to 44px" is diagnosis. A lecture on Fitts (1954) is not, and the skill does not produce one.
When does it run inside other commands?
The audits use it to find root causes. An R problem checks Doherty first. A C problem checks Von Restorff, Proximity, and Common Region. A P problem checks Hick and Miller. Run it on its own when you want that analysis without a full audit.
Why 400 milliseconds?
That is the Doherty Threshold. Below roughly 400ms a system feels instant; above it, users consciously notice the wait. These are different experiences, not points on a scale, which is why the Responsive dimension treats 400ms as a boundary.
Which law is most often misapplied?
Miller's. It is not about limiting menus to seven items. It is about chunking: grouping information so users take in meaning rather than a long inventory. The skill applies it to forms, tables, and dashboards in that way.
(Install)
Installs all fourteen CRISP skills and detects which AI coding tool you use. Run /crisp-teach once per project, before the other skills.
(Related skills)