PromptShop

UI Design System

The UI Design System skill helps designers and developers generate design tokens, create color palettes, calculate typography scales, and build component sys...

Install

npx promptshop add ui-design-system

Details

What This Skill Does

The UI Design System skill helps designers and developers generate design tokens, create color palettes, calculate typography scales, and build component systems. It also prepares developer handoff documentation, ensuring consistency and efficiency in the design and development process.

When to Use

Generate design tokens from a brand color. Create a complete color palette. Build a typography scale. Calculate a spacing system. Create a design system. Prepare developer handoff documentation.

Key Features

Generates design tokens for colors, typography, spacing, borders, etc. Supports exporting tokens in various formats (CSS, SCSS, JSON). Calculates responsive breakpoints. Checks WCAG contrast. Builds an 8pt grid system. Provides a framework for documenting component libraries.

Table of Contents

Trigger Terms

Workflows

Workflow 1: Generate Design Tokens

Workflow 2: Create Component System

Workflow 3: Responsive Design

Workflow 4: Developer Handoff

Tool Reference

Quick Reference Tables Knowledge Base

Trigger Terms

Use this skill when you need to:

"generate design tokens" "create color palette" "build typography scale" "calculate spacing system" "create design system" "generate CSS variables" "export SCSS tokens" "set up component architecture" "document component library" "calculate responsive breakpoints" "prepare developer handoff" "convert brand color to palette" "check WCAG contrast" "build 8pt grid system"

Workflows

Workflow 1: Generate Design Tokens

Situation: You have a brand color and need a complete design token system.

Steps:

Identify brand color and style

  • Brand primary color (hex format)
  • Style preference: modern | classic | playful

Generate tokens using script python scripts/

design_token_generator.py

"#0066CC" modern json

Review generated categories

  • Colors: primary, secondary, neutral, semantic, surface
  • Typography: fontFamily, fontSize, fontWeight, lineHeight
  • Spacing: 8pt grid-based scale (0-64)
  • Borders: radius, width
  • Shadows: none through 2xl
  • Animation: duration, easing
  • Breakpoints: xs through 2xl

Export in target format

CSS custom properties

python scripts/design_token_generator.py "#0066CC" modern css > design-tokens.css

SCSS variables

python scripts/design_token_generator.py "#0066CC" modern scss > _design-tokens.scss

JSON for Figma/tooling

python scripts/design_token_generator.py "#0066CC" modern json > design-tokens.json

Validate accessibility

  • Check color contrast meets WCAG AA (4.5:1 normal, 3:1 large text)
  • Verify semantic colors have contrast colors defined

Workflow 2: Create Component System

Situation: You need to structure a component library using design tokens.

Steps:

Define component hierarchy

  • Atoms: Button, Input, Icon, Label, Badge
  • Molecules: FormField, SearchBar, Card, ListItem
  • Organisms: Header, Footer, DataTable, Modal
  • Templates: DashboardLayout, AuthLayout

Map tokens to components

ComponentTokens Used
Buttoncolors, sizing, borders, shadows, typography
Inputcolors, sizing, borders, spacing
Cardcolors, borders, shadows, spacing
Modalcolors, shadows, spacing, z-index, animation

Define variant patterns

Size variants: sm: height 32px, paddingX 12px, fontSize 14px md: height 40px, paddingX 16px, fontSize 16px lg: height 48px, paddingX 20px, fontSize 18px

Color variants: primary: background primary-500, text white secondary: background neutral-100, text neutral-900 ghost: background transparent, text neutral-700

Document component API

  • Props interface with types
  • Variant options
  • State handling (hover, active, focus, disabled)
  • Accessibility requirements

Reference: See references/component-architecture.md

Workflow 3: Responsive Design

Situation: You need breakpoints, fluid typography, or responsive spacing.

Steps:

Define breakpoints

NameWidthTarget
xs0Small phones
sm480pxLarge phones
md640pxTablets
lg768pxSmall laptops
xl1024pxDesktops
2xl1280pxLarge screens

Calculate fluid typography

Formula: clamp(min, preferred, max)

/ 16px to 24px between 320px and 1200px viewport / font-size: clamp(1rem, 0.5rem + 2vw, 1.5rem);

Pre-calculated scales: --fluid-h1: clamp(2rem, 1rem + 3.6vw, 4rem); --fluid-h2: clamp(1.75rem, 1rem + 2.3vw, 3rem); --fluid-h3: clamp(1.5rem, 1rem + 1.4vw, 2.25rem); --fluid-body: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);

Set up responsive spacing

TokenMobileTabletDesktop
--space-md12px16px16px
--space-lg16px24px32px
--space-xl24px32px48px
--space-section48px80px120px

Reference: See references/responsive-calculations.md

Workflow 4: Developer Handoff

Situation: You need to hand off design tokens to development team.

Steps:

Export tokens in required formats

For CSS projects

python scripts/design_token_generator.py "#0066CC" modern css

For SCSS projects

python scripts/design_token_generator.py "#0066CC" modern scss

For JavaScript/TypeScript

python scripts/design_token_generator.py "#0066CC" modern json

Prepare framework integration

React + CSS Variables: import './design-tokens.css';

<button className="btn btn-primary">Click</button>

Tailwind Config: const tokens = require('./design-tokens.json');

module.exports = { theme: { colors: tokens.colors, fontFamily: tokens.typography.fontFamily } };

styled-components: import tokens from './design-tokens.json';

const Button = styled.button background: ${tokens.colors.primary['500']}; padding: ${tokens.spacing['2']} ${tokens.spacing['4']}; ;

Sync with Figma

  • Install Tokens Studio plugin
  • Import design-tokens.json
  • Tokens sync automatically with Figma styles

Handoff checklist

  • Token files added to project
  • Build pipeline configured
  • Theme/CSS variables imported
  • Component library aligned
  • Documentation generated

Reference: See references/developer-handoff.md

Tool Reference

design_token_generator.py

Generates complete design token system from brand color.

ArgumentValuesDefaultDescription
brand_colorHex color#0066CCPrimary brand color
stylemodern, classic, playfulmodernDesign style preset
formatjson, css, scss, summaryjsonOutput format

Examples:

Generate JSON tokens (default)

python scripts/design_token_generator.py "#0066CC"

Classic style with CSS output python scripts/design_token_generator.py "#8B4513" classic css

Playful style summary view python scripts/design_token_generator.py "#FF6B6B" playful summary

Output Categories:

CategoryDescriptionKey Values
colorsColor palettesprimary, secondary, neutral, semantic, surface
typographyFont systemfontFamily, fontSize, fontWeight, lineHeight
spacing8pt grid0-64 scale, semantic (xs-3xl)
sizingComponent sizescontainer, button, input, icon
bordersBorder valuesradius (per style), width
shadowsShadow stylesnone through 2xl, inner
animationMotion tokensduration, easing, keyframes
breakpointsResponsivexs, sm, md, lg, xl, 2xl
z-indexLayer systembase through notification

Quick Ref