artifacts/bundle/skills/product-team/ui-design-system/SKILL.md
# UI Design System Generate design tokens, create color palettes, calculate typography scales, build component systems, and prepare developer handoff documentation. --- ## Table of Contents - [Trigger Terms](#trigger-terms) - [Workflows](#workflows) - [Workflow 1: Generate Design Tokens](#workflow-1-generate-design-tokens) - [Workflow 2: Create Component System](#workflow-2-create-component-system) - [Workflow 3: Responsive Design](#workflow-3-responsive-design) - [Workflow 4: Develo
npx skillsauth add neekware/ehayeskills artifacts/bundle/skills/product-team/ui-design-systemInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate design tokens, create color palettes, calculate typography scales, build component systems, and prepare developer handoff documentation.
Use this skill when you need to:
Situation: You have a brand color and need a complete design token system.
Steps:
Identify brand color and style
modern | classic | playfulGenerate tokens using script
python scripts/design_token_generator.py "#0066CC" modern json
Review generated categories
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
Situation: You need to structure a component library using design tokens.
Steps:
Define component hierarchy
Map tokens to components
| Component | Tokens Used | | --------- | -------------------------------------------- | | Button | colors, sizing, borders, shadows, typography | | Input | colors, sizing, borders, spacing | | Card | colors, borders, shadows, spacing | | Modal | colors, 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
Reference: See references/component-architecture.md
Situation: You need breakpoints, fluid typography, or responsive spacing.
Steps:
Define breakpoints
| Name | Width | Target | | ---- | ------ | ------------- | | xs | 0 | Small phones | | sm | 480px | Large phones | | md | 640px | Tablets | | lg | 768px | Small laptops | | xl | 1024px | Desktops | | 2xl | 1280px | Large 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
| Token | Mobile | Tablet | Desktop | | --------------- | ------ | ------ | ------- | | --space-md | 12px | 16px | 16px | | --space-lg | 16px | 24px | 32px | | --space-xl | 24px | 32px | 48px | | --space-section | 48px | 80px | 120px |
Reference: See references/responsive-calculations.md
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
Handoff checklist
Reference: See references/developer-handoff.md
Generates complete design token system from brand color.
| Argument | Values | Default | Description | | ----------- | ------------------------ | ------- | ------------------- | | brand_color | Hex color | #0066CC | Primary brand color | | style | modern, classic, playful | modern | Design style preset | | format | json, css, scss, summary | json | Output 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:
| Category | Description | Key Values | | ----------- | --------------- | ---------------------------------------------- | | colors | Color palettes | primary, secondary, neutral, semantic, surface | | typography | Font system | fontFamily, fontSize, fontWeight, lineHeight | | spacing | 8pt grid | 0-64 scale, semantic (xs-3xl) | | sizing | Component sizes | container, button, input, icon | | borders | Border values | radius (per style), width | | shadows | Shadow styles | none through 2xl, inner | | animation | Motion tokens | duration, easing, keyframes | | breakpoints | Responsive | xs, sm, md, lg, xl, 2xl | | z-index | Layer system | base through notification |
| Step | Brightness | Saturation | Use Case | | ---- | -------------- | ---------- | ------------------ | | 50 | 95% fixed | 30% | Subtle backgrounds | | 100 | 95% fixed | 38% | Light backgrounds | | 200 | 95% fixed | 46% | Hover states | | 300 | 95% fixed | 54% | Borders | | 400 | 95% fixed | 62% | Disabled states | | 500 | Original | 70% | Base/default color | | 600 | Original × 0.8 | 78% | Hover (dark) | | 700 | Original × 0.6 | 86% | Active states | | 800 | Original × 0.4 | 94% | Text | | 900 | Original × 0.2 | 100% | Headings |
| Size | Value | Calculation | | ---- | ----- | ----------- | | xs | 10px | 16 ÷ 1.25² | | sm | 13px | 16 ÷ 1.25¹ | | base | 16px | Base | | lg | 20px | 16 × 1.25¹ | | xl | 25px | 16 × 1.25² | | 2xl | 31px | 16 × 1.25³ | | 3xl | 39px | 16 × 1.25⁴ | | 4xl | 49px | 16 × 1.25⁵ | | 5xl | 61px | 16 × 1.25⁶ |
| Level | Normal Text | Large Text | | ----- | ----------- | ---------- | | AA | 4.5:1 | 3:1 | | AAA | 7:1 | 4.5:1 |
Large text: ≥18pt regular or ≥14pt bold
| Aspect | Modern | Classic | Playful | | -------------- | --------------- | ------------ | ---------------- | | Font Sans | Inter | Helvetica | Poppins | | Font Mono | Fira Code | Courier | Source Code Pro | | Radius Default | 8px | 4px | 16px | | Shadows | Layered, subtle | Single layer | Soft, pronounced |
Detailed reference guides in references/:
| File | Content |
| ---------------------------- | ------------------------------------------------------- |
| token-generation.md | Color algorithms, HSV space, WCAG contrast, type scales |
| component-architecture.md | Atomic design, naming conventions, props patterns |
| responsive-calculations.md | Breakpoints, fluid typography, grid systems |
| developer-handoff.md | Export formats, framework setup, Figma sync |
Creator: Product Team License: MIT Source Repo:
neekware/ehaye-skillsSource Bucket:product-teamOriginal Path:product-team/ui-design-system
testing
/em -stress-test — Business Assumption Stress Testing
research
/em -postmortem — Honest Analysis of What Went Wrong
development
/em -hard-call — Framework for Decisions With No Good Options
research
/em -challenge — Pre-Mortem Plan Analysis