UI UX Pro Max — Design Lead
"Full UI/UX system"
When to use
- A product is about to be built or rebuilt and needs its foundation first — "set up the design
system for our app".
- Screens disagree on colors, sizes or spacing — "make everything consistent".
- Tokens are requested explicitly — "give me design tokens / CSS variables for this brand".
- A component library is planned — "spec our buttons, inputs and cards with all their states".
- Downstream skills (
frontend-design, web-artifacts) need a system to consume.
Workflow
- Interrogate the product. Capture audience, platform (web/mobile/both), information density
(dashboard-dense vs marketing-airy), three mood adjectives, and one product it must NOT
resemble. If a BRAND.md exists, inherit its palette and type — never invent parallel ones.
- Build the color system. From the brand hue derive a 10-step scale (50–900), plus
temperature-tinted neutrals (never flat gray) and semantic sets for success, warning, danger,
info. Then map role tokens onto steps:
--color-surface, --color-text, --color-accent.
- Set the type scale. Two families max (display + text). Pick a modular ratio — 1.2 for dense
products, 1.25 for marketing — and define seven roles (display, h1–h3, body, small, mono),
each with size, weight, line-height and letter-spacing.
- Define space, radius, elevation. Spacing on a 4px base (4/8/12/16/24/32/48/64), three
radius tokens (sm/md/full), three shadows tied to meaning: raised, overlay, modal.
- Inventory components. List every component the product needs. For each interactive one,
spec all seven states: default, hover, focus, disabled, error, loading, empty.
- Fix the layout grid. 12 columns desktop, 4 mobile; container max-widths; gutter tokens;
named breakpoints (sm 640, md 768, lg 1024, xl 1280).
- Run the contrast pass. Every text/background pair must hit WCAG AA — 4.5:1 body, 3:1 large
text and UI borders. Repair failures by shifting scale steps, never by one-off hex tweaks.
- Emit deliverables. Write
tokens.css and COMPONENTS.md. No token may exist in one file
and not the other.
Output format
/* tokens.css — generated by ui-ux-pro-max */
:root {
/* color scale */
--teal-50: #f0fdfa; /* ...steps 100-800... */ --teal-900: #134e4a;
/* color roles — components reference ONLY these */
--color-surface: var(--gray-50);
--color-text: var(--gray-900);
--color-accent: var(--teal-600);
--color-danger: var(--red-600);
/* type */
--font-display: "Fraunces", Georgia, serif;
--font-text: "Inter", system-ui, sans-serif;
--text-h1: 600 2.44rem/1.15 var(--font-display);
/* space / radius / shadow */
--space-4: 1rem;
--radius-md: 8px;
--shadow-overlay: 0 8px 24px rgb(16 24 40 / 0.12);
}
# COMPONENTS.md (excerpt)
## Text input — text | search | password
| State | Spec |
|---|---|
| default | border --gray-300, bg --color-surface, radius --radius-md |
| hover | border --gray-400 |
| focus | 2px ring --teal-400, border --teal-600 |
| disabled | bg --gray-100, text --gray-400, cursor not-allowed |
| error | border --red-600, 13px message in --red-700 below |
| loading | right-slot spinner during async validation |
| empty | placeholder in --gray-500 — a hint, never the label |
Quality bar
Example
Invocation: "Set up the UI system for a B2B analytics dashboard — dense but calm, and it must
not look like Linear."
Produces: tokens.css (~70 variables: slate-tinted neutrals, a teal accent scale, 1.2-ratio
type on IBM Plex Sans + Plex Mono, 4px spacing, three shadows) and COMPONENTS.md speccing twelve
components — button, input, select, table, card, tabs, toast, modal, badge, tooltip, sidebar nav,
empty state — each with seven states and AA-verified contrast pairs.
1---2name: ui-ux-pro-max3description: Builds an end-to-end UI system for a product — design tokens (color scale, type scale, spacing, radii, shadows), a component inventory covering every interaction state, a layout grid, and WCAG contrast checks — emitted as CSS variables plus a component spec doc. Use when the user says "set up a design system", "create design tokens", "make my app consistent", "define the visual foundation", or before any build that spans more than one screen.4---56# UI UX Pro Max — Design Lead78> "Full UI/UX system"910## When to use1112- A product is about to be built or rebuilt and needs its foundation first — "set up the design13 system for our app".14- Screens disagree on colors, sizes or spacing — "make everything consistent".15- Tokens are requested explicitly — "give me design tokens / CSS variables for this brand".16- A component library is planned — "spec our buttons, inputs and cards with all their states".17- Downstream skills (`frontend-design`, `web-artifacts`) need a system to consume.1819## Workflow20211. **Interrogate the product.** Capture audience, platform (web/mobile/both), information density22 (dashboard-dense vs marketing-airy), three mood adjectives, and one product it must NOT23 resemble. If a BRAND.md exists, inherit its palette and type — never invent parallel ones.242. **Build the color system.** From the brand hue derive a 10-step scale (50–900), plus25 temperature-tinted neutrals (never flat gray) and semantic sets for success, warning, danger,26 info. Then map role tokens onto steps: `--color-surface`, `--color-text`, `--color-accent`.273. **Set the type scale.** Two families max (display + text). Pick a modular ratio — 1.2 for dense28 products, 1.25 for marketing — and define seven roles (display, h1–h3, body, small, mono),29 each with size, weight, line-height and letter-spacing.304. **Define space, radius, elevation.** Spacing on a 4px base (4/8/12/16/24/32/48/64), three31 radius tokens (sm/md/full), three shadows tied to meaning: raised, overlay, modal.325. **Inventory components.** List every component the product needs. For each interactive one,33 spec all seven states: default, hover, focus, disabled, error, loading, empty.346. **Fix the layout grid.** 12 columns desktop, 4 mobile; container max-widths; gutter tokens;35 named breakpoints (sm 640, md 768, lg 1024, xl 1280).367. **Run the contrast pass.** Every text/background pair must hit WCAG AA — 4.5:1 body, 3:1 large37 text and UI borders. Repair failures by shifting scale steps, never by one-off hex tweaks.388. **Emit deliverables.** Write `tokens.css` and `COMPONENTS.md`. No token may exist in one file39 and not the other.4041## Output format4243```css44/* tokens.css — generated by ui-ux-pro-max */45:root {46 /* color scale */47 --teal-50: #f0fdfa; /* ...steps 100-800... */ --teal-900: #134e4a;48 /* color roles — components reference ONLY these */49 --color-surface: var(--gray-50);50 --color-text: var(--gray-900);51 --color-accent: var(--teal-600);52 --color-danger: var(--red-600);53 /* type */54 --font-display: "Fraunces", Georgia, serif;55 --font-text: "Inter", system-ui, sans-serif;56 --text-h1: 600 2.44rem/1.15 var(--font-display);57 /* space / radius / shadow */58 --space-4: 1rem;59 --radius-md: 8px;60 --shadow-overlay: 0 8px 24px rgb(16 24 40 / 0.12);61}62```6364```markdown65# COMPONENTS.md (excerpt)66## Text input — text | search | password67| State | Spec |68|---|---|69| default | border --gray-300, bg --color-surface, radius --radius-md |70| hover | border --gray-400 |71| focus | 2px ring --teal-400, border --teal-600 |72| disabled | bg --gray-100, text --gray-400, cursor not-allowed |73| error | border --red-600, 13px message in --red-700 below |74| loading | right-slot spinner during async validation |75| empty | placeholder in --gray-500 — a hint, never the label |76```7778## Quality bar7980- [ ] Every text/background pair passes WCAG AA (4.5:1 body, 3:1 large text and UI borders)81- [ ] Components reference role tokens only — no raw hex, no naked scale steps82- [ ] Every interactive component specs all seven states, including loading and empty83- [ ] Two type families max; every size sits on the declared modular scale84- [ ] All spacing divisible by 4 — zero magic numbers anywhere85- [ ] tokens.css and COMPONENTS.md agree perfectly — no orphan tokens in either direction8687## Example8889**Invocation:** "Set up the UI system for a B2B analytics dashboard — dense but calm, and it must90not look like Linear."9192**Produces:** `tokens.css` (~70 variables: slate-tinted neutrals, a teal accent scale, 1.2-ratio93type on IBM Plex Sans + Plex Mono, 4px spacing, three shadows) and `COMPONENTS.md` speccing twelve94components — button, input, select, table, card, tabs, toast, modal, badge, tooltip, sidebar nav,95empty state — each with seven states and AA-verified contrast pairs.