Skip to main content
skill CX Codex

using-ui-stack — Claude Code skill: one design system for UI

Makes the agent build interfaces from fixed rules: an 8px grid, 60-30-10 colors, type scale, dark mode and interaction states.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add spencerpauly/awesome-cursor-skills --skill using-ui-stack -a claude-code
Open on GitHub

What using-ui-stack does

The skill kicks in whenever the agent writes UI components and swaps guesswork for a rule set. Spacing stays on multiples of 8px, colors split 60-30-10 with semantic success, warning, error and info tokens, and type sizes follow a 1.25 ratio scale. Dark mode ships with token pairs: background white → slate-950, text slate-900 → slate-100, borders slate-200 → slate-800. Pure black is out.

Every interactive element gets five states: default, hover, active, focus with a visible ring, and disabled. Accessibility rules come along — contrast of at least 4.5:1 for text, touch targets of 44×44px and up, semantic HTML, and keyboard reachability. Animations run 150–300ms and respect prefers-reduced-motion. Overlays follow a z-index scale from z-10 for dropdowns to z-60 for tooltips.

The workflow starts by checking for a ui-stack config or existing design tokens in the project. If neither exists, the skill's own defaults apply. Then each component is checked against the grid, the color split and all five states, with dark mode verified by toggling the class or attribute. Bring your own design system and these defaults will fight it, so set the config up front.

What it helps with

  • keep padding and gaps on one grid instead of guessing
  • add dark mode without black fills and broken contrast
  • give every button and input hover and focus states
  • split colors into background, primary and accent shares
  • check accessibility and keyboard navigation before review

Example prompts for the agent

  • Build a product card following using-ui-stack rules
  • Create a login form: 8px grid, five states, dark mode
  • Audit this component against the design system in the skill

How to install using-ui-stack

1Skills CLI (Vercel)

npx skills add spencerpauly/awesome-cursor-skills --skill using-ui-stack -a claude-code

2Manually: put the files in place

~/.claude/skills/using-ui-stack/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/using-ui-stack/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about using-ui-stack

How do I install using-ui-stack in Claude?

Run npx skills add spencerpauly/awesome-cursor-skills --skill using-ui-stack -a claude-code. The skill lands in ~/.claude/skills/using-ui-stack/SKILL.md.

What does using-ui-stack do?

It hands the agent rules for generating UI: an 8px spacing grid, 60-30-10 colors, a type scale, dark mode, five interaction states and accessibility requirements.

What happens if my project already has a design system?

The skill first looks for a ui-stack config or the project's own tokens and follows them. Without that config, the skill's defaults apply.

Source text

SKILL.md · CC0-1.0
---
name: using-ui-stack
description: Enforce a configuration-driven design system when generating UI. Ensures consistent spacing, colors, typography, dark mode, interactions, and accessibility across all AI-generated components.
user-invocable: true
---

# Using UI Stack

Apply a structured design system to every UI component you generate. This prevents inconsistent padding, mismatched colors, and forgotten hover states.

## Design System Principles

Follow these rules for **every** component you build:

### Spacing — 8px Grid

Use multiples of 8 for all spacing (padding, margin, gap):
- `4px` — tight internal padding only
- `8px` — inline gaps, icon spacing
- `16px` — standard padding, card gaps
- `24px` — section padding
- `32px` — large section gaps
- `48px / 64px` — page-level spacing

### Color — 60-30-10 Rule

- **60%** neutral/background
- **30%** primary brand color
- **10%** accent for CTAs and highlights
- Semantic colors: success (green), warning (amber), error (red), info (blue)
- Never use pure black (`#000`) for dark mode — use `slate-950` or similar

### Typography — 1.25 Ratio Scale

```
text-xs:   12px / 16px
text-sm:   14px / 20px
text-base: 16px / 24px
text-lg:   18px / 28px
text-xl:   20px / 28px
text-2xl:  24px / 32px
text-3xl:  30px / 36px
text-4xl:  36px / 40px
```

- Headings: `font-semibold` or `font-bold`
- Body: `font-normal`, line-height 1.5–1.75
- Mono: use for code, IDs, numeric data

### Dark Mode

- Provide complete light/dark mappings for every color token
- Background: `white` → `slate-950`, not `black`
- Text: `slate-900` → `slate-100`
- Borders: `slate-200` → `slate-800`

### 5-State Interactions

Every interactive element must have:
1. **Default** — base appearance
2. **Hover** — subtle color shift or shadow
3. **Active/Pressed** — slightly darker or scaled down
4. **Focus** — visible ring (`ring-2 ring-offset-2`)
5. **Disabled** — reduced opacity, `cursor-not-allowed`

### Accessibility

- Contrast ratio ≥ 4.5:1 for text, ≥ 3:1 for large text
- Touch targets ≥ 44×44px
- Semantic HTML (`button` not `div`, `nav`, `main`, etc.)
- Keyboard navigable — all interactions reachable via Tab/Enter/Escape
- Respect `prefers-reduced-motion` for animations

### Animations

- Duration: 150–300ms for micro-interactions
- Easing: `ease-out` for entrances, `ease-in` for exits
- Wrap motion in `motion-safe:` or check `prefers-reduced-motion`

### Overlay Z-Index Scale

```
dropdown:  z-10
sticky:    z-20
overlay:   z-30
modal:     z-40
toast:     z-50
tooltip:   z-60
```

## Workflow

1. Before generating UI, check if the project has a `ui-stack` config or design tokens
2. If not, apply the defaults above
3. For every component, verify spacing is on the 8px grid, colors follow 60-30-10, and all 5 interaction states exist
4. Test dark mode by toggling the class/attribute and confirming all tokens map correctly

## References

- [ui-stack.dev](https://ui-stack.dev) — interactive configurator and full docs
- [GitHub: rashoodkhan/ui-stack](https://github.com/rashoodkhan/ui-stack) — source repo

© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills

Similar skills

Everything for Frontend and UI →

From the same set59

suggesting-cursor-rules Watches for repeated code corrections and suggests saving them as Cursor rules. It helps lock project conventions so you do not repeat the same instructions. CX Codex +1 554installs grinding-until-pass A skill that keeps the agent in a fix → run → check loop until tests pass, the build succeeds or linting comes back clean. CX Codex +1 548installs systematic-debugging Enforces a structured debugging workflow on your AI assistant instead of random edits. It helps isolate elusive bugs and verify root causes with evidence. CX Codex +1 545installs verifying-in-browser Starts the dev server after code changes, opens the app in a browser and checks rendering, console errors and network health. CX Codex +1 540installs parallel-code-review Runs four parallel read-only subagents to inspect a diff across security, speed, correctness, and readability. Built for vetting large or risky pull requests. CX Codex +1 530installs reviewing-code A skill that walks your code through a checklist: correctness, maintainability, performance, types and tests. Useful when a change needs review before merge. CX Codex +1 516installs writing-tests Inspects existing code, detects your test runner, and drafts unit and integration tests with mocks and edge cases. CX Codex +1 499installs api-smoke-testing Finds API endpoints across your codebase, spins up the local dev server, and tests every route with curl. Spots unmounted 404 routes and 500 server crashes before release. CX Codex +1 495installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor