StyleSeed Design Review
Overview
A UI reads as "AI-generated" not because the components are ugly, but because the parts
don't agree with each other — mixed corner radii, three accent colors, pure-black text,
no hierarchy, missing states, robotic copy. This skill reviews a UI file (or a whole
directory) against a concrete design rubric, scores it 0–100, and returns a prioritized
fix list. It reviews and recommends; it never edits or deletes without you asking.
Full rule set (74 rules) and components: https://github.com/bitjaru/styleseed
When to use
- A React / Tailwind / HTML UI "looks off," generic, or unfinished and you can't say why.
- You want a design score / pre-ship check.
- The user asks to make UI "look professional / polished / designed, not AI-generated."
- After generating UI, to verify it before shipping.
How to review
Read the file(s). Score these seven categories (total 100); start each at full marks
and subtract for violations you can cite by line. Be specific and evidence-based.
1. Coherence — 20 (the #1 "AI-generated" tell)
One choice per axis, applied everywhere. Deduct for each mixed axis:
- mixed corner radii — e.g. a sharp card with pill buttons (−6)
- two or more accent colors used for emphasis (−5)
- mixed shadow languages / light directions (−3)
- mixed icon families, fill modes, or stroke weights (−3)
- inconsistent control heights (buttons/inputs differ) (−3)
2. Color discipline — 16
- pure black (
#000 / text-black) text — the refined black is ~`#2A2A2A` (−4 each, cap −8)
- hardcoded hex where a semantic token exists (−2 each, cap −6)
- status conveyed by color alone, no icon/text (−4)
- contrast below WCAG AA (4.5:1 body, 3:1 large/UI) (−6)
3. Hierarchy & typography — 16
- number and its unit not ~2:1 (48px number / 24px unit) (−4)
- everything the same size and weight, no clear primary (−5)
- arbitrary font sizes; no scale (−4)
- wrong line-height (loose on display, cramped on body) (−3)
4. Layout & spacing — 12
- content on a bare page background, not in cards (−6)
- off-grid spacing (7/13/19px instead of an 8px scale) (−3)
- the gap around a group not larger than the gap inside it (−3)
- the same section type repeated in a row (−4)
5. States — 12
- missing empty / loading / error state on a data surface (−5 each, cap −10)
- empty state with no next action; error that blames instead of helping (−4)
6. UX writing — 12
- buttons that don't name the action ("Submit" / "OK" instead of "Send $2,400") (−4)
- error copy that blames or uses system-speak ("Invalid input", "An error occurred") (−4)
- two terms for one concept (delete vs remove); filler words ("please", "successfully") (−2)
7. Motion & polish — 12
- ad-hoc fades instead of one consistent, named feel (−3)
- motion that delays content or blocks an action (−4)
- no
prefers-reduced-motion handling on custom motion (−3)
- a single hard black shadow instead of a layered, low-opacity, tinted one (−2)
Clamp each category at 0; sum to a total. Bands: 90+ A · 80–89 B · 70–79 C · 60–69 D · <60 F.
Output format
## Design Score: 72 / 100 (src/Dashboard.tsx) C
Coherence 13/20 sharp cards (l.22) + pill buttons (l.48); 3 accent hues
Color discipline 12/16 #000 headings (l.12, 40)
Hierarchy & type 15/16 number/unit 1:1 on hero (l.18)
Layout & spacing 10/12 two identical KPI rows (l.22-31)
States 7/12 no empty/loading state on the orders list
UX writing 8/12 "Submit" button (l.55); "Invalid input" (l.61)
Motion & polish 10/12 one hard black shadow (l.22)
### Fix first (highest score gain)
1. Unify radius (pick soft 8–12px) + collapse to one accent → +11 coherence/color
2. Add empty + loading states to the orders list → +7 states
3. Rename "Submit" → "Send $2,400"; "Invalid input" → "Check the card number" → +6 copy
Re-score after: ~90 / 100.
Rules
- Review from real evidence (cite line numbers); never guess.
- Order the fix list by score gain, not severity alone — fastest path to a better number.
- For a directory: one-line score per file, then the lowest file's full breakdown.
- Don't auto-edit. This skill measures and recommends. Apply fixes only when asked.
- The score is a guide, not a gate — a 78 that ships beats a 95 that doesn't.
Based on StyleSeed — an open-source (MIT) design engine that gives Claude Code, Cursor,
and Codex design judgment so AI-built UI stops looking generated. Full 74-rule reference,
components, brand skins, and motion: https://github.com/bitjaru/styleseed
1---2name: styleseed-design-review3description: Reviews UI/frontend code and tells you exactly why it "looks AI-generated" — then how to fix it. Use it when a React/Tailwind/HTML interface looks off, generic, or unfinished, when you want a design score before shipping, or when asked to make UI look more professional, polished, or "designed, not generated." Self-contained; based on the open-source StyleSeed design engine.4license: MIT (https://github.com/bitjaru/styleseed/blob/main/LICENSE)5---6
7# StyleSeed Design Review
8
9## Overview
10
11A UI reads as "AI-generated" not because the components are ugly, but because the **parts
12don't agree with each other** — mixed corner radii, three accent colors, pure-black text,
13no hierarchy, missing states, robotic copy. This skill reviews a UI file (or a whole
14directory) against a concrete design rubric, scores it 0–100, and returns a prioritized
15fix list. It reviews and recommends; it never edits or deletes without you asking.
16
17Full rule set (74 rules) and components: https://github.com/bitjaru/styleseed
18
19## When to use
20
21- A React / Tailwind / HTML UI "looks off," generic, or unfinished and you can't say why.
22- You want a design score / pre-ship check.
23- The user asks to make UI "look professional / polished / designed, not AI-generated."
24- After generating UI, to verify it before shipping.
25
26## How to review
27
28Read the file(s). Score these **seven categories** (total 100); start each at full marks
29and subtract for violations you can cite by line. Be specific and evidence-based.
30
31### 1. Coherence — 20 (the #1 "AI-generated" tell)
32One choice per axis, applied everywhere. Deduct for each **mixed** axis:
33- mixed corner radii — e.g. a sharp card with pill buttons (−6)
34- two or more accent colors used for emphasis (−5)
35- mixed shadow languages / light directions (−3)
36- mixed icon families, fill modes, or stroke weights (−3)
37- inconsistent control heights (buttons/inputs differ) (−3)
38
39### 2. Color discipline — 16
40- pure black (`#000` / `text-black`) text — the refined black is ~`#2A2A2A` (−4 each, cap −8)
41- hardcoded hex where a semantic token exists (−2 each, cap −6)
42- status conveyed by color alone, no icon/text (−4)
43- contrast below WCAG AA (4.5:1 body, 3:1 large/UI) (−6)
44
45### 3. Hierarchy & typography — 16
46- number and its unit not ~2:1 (48px number / 24px unit) (−4)
47- everything the same size and weight, no clear primary (−5)
48- arbitrary font sizes; no scale (−4)
49- wrong line-height (loose on display, cramped on body) (−3)
50
51### 4. Layout & spacing — 12
52- content on a bare page background, not in cards (−6)
53- off-grid spacing (7/13/19px instead of an 8px scale) (−3)
54- the gap *around* a group not larger than the gap *inside* it (−3)
55- the same section type repeated in a row (−4)
56
57### 5. States — 12
58- missing empty / loading / error state on a data surface (−5 each, cap −10)
59- empty state with no next action; error that blames instead of helping (−4)
60
61### 6. UX writing — 12
62- buttons that don't name the action ("Submit" / "OK" instead of "Send $2,400") (−4)
63- error copy that blames or uses system-speak ("Invalid input", "An error occurred") (−4)
64- two terms for one concept (delete vs remove); filler words ("please", "successfully") (−2)
65
66### 7. Motion & polish — 12
67- ad-hoc fades instead of one consistent, named feel (−3)
68- motion that delays content or blocks an action (−4)
69- no `prefers-reduced-motion` handling on custom motion (−3)
70- a single hard black shadow instead of a layered, low-opacity, tinted one (−2)
71
72Clamp each category at 0; sum to a total. Bands: 90+ A · 80–89 B · 70–79 C · 60–69 D · <60 F.
73
74## Output format
75
76```
77## Design Score: 72 / 100 (src/Dashboard.tsx) C
78
79Coherence 13/20 sharp cards (l.22) + pill buttons (l.48); 3 accent hues
80Color discipline 12/16 #000 headings (l.12, 40)
81Hierarchy & type 15/16 number/unit 1:1 on hero (l.18)
82Layout & spacing 10/12 two identical KPI rows (l.22-31)
83States 7/12 no empty/loading state on the orders list
84UX writing 8/12 "Submit" button (l.55); "Invalid input" (l.61)
85Motion & polish 10/12 one hard black shadow (l.22)
86
87### Fix first (highest score gain)
881. Unify radius (pick soft 8–12px) + collapse to one accent → +11 coherence/color
892. Add empty + loading states to the orders list → +7 states
903. Rename "Submit" → "Send $2,400"; "Invalid input" → "Check the card number" → +6 copy
91
92Re-score after: ~90 / 100.
93```
94
95## Rules
96
97- Review from real evidence (cite line numbers); never guess.
98- Order the fix list by **score gain**, not severity alone — fastest path to a better number.
99- For a directory: one-line score per file, then the lowest file's full breakdown.
100- **Don't auto-edit.** This skill measures and recommends. Apply fixes only when asked.
101- The score is a guide, not a gate — a 78 that ships beats a 95 that doesn't.
102
103---
104
105Based on **StyleSeed** — an open-source (MIT) design engine that gives Claude Code, Cursor,
106and Codex design judgment so AI-built UI stops looking generated. Full 74-rule reference,
107components, brand skins, and motion: https://github.com/bitjaru/styleseed