From ai-toolkit
Bootstraps design systems by generating design tokens, Tailwind configs, CSS variables, typography scales, spacing systems, and component inventories from project context.
npx claudepluginhub c0x12c/ai-toolkit --plugin ai-toolkitThis skill uses the workspace's default tool permissions.
This skill helps set up design systems from scratch. Give it your project context (industry, brand, users) and it generates ready-to-use design tokens with Tailwind config snippets and CSS variable files.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
This skill helps set up design systems from scratch. Give it your project context (industry, brand, users) and it generates ready-to-use design tokens with Tailwind config snippets and CSS variable files.
/spartan:ux system)Ask these questions (skip any the user already answered):
Based on the context, generate a complete palette:
For dark themes:
Background: #0F172A (slate-900 family)
Surface: rgba(30, 41, 59, 0.5) (glass effect)
Primary: [based on personality — blue for professional, green for growth, etc.]
Primary Hover: [10% darker]
Accent: [complementary or analogous — use sparingly, max 10-15%]
Text: #F8FAFC (near white)
Text Secondary: #94A3B8 (slate-400)
Text Muted: #64748B (slate-500)
Border: rgba(148, 163, 184, 0.1)
Success: #22C55E
Warning: #F59E0B
Error: #EF4444
For light themes:
Background: #FFFFFF or #F8FAFC
Surface: #FFFFFF
Primary: [based on personality]
Primary Hover: [10% darker]
Accent: [complementary]
Text: #0F172A (near black)
Text Secondary: #475569 (slate-600)
Text Muted: #64748B (slate-500)
Border: #E2E8F0 (slate-200)
Success: #16A34A
Warning: #D97706
Error: #DC2626
Color selection by personality:
| Personality | Primary range | Accent range |
|---|---|---|
| Professional / Corporate | Blue (#2563EB → #1E40AF) | Slate or Amber |
| Bold / Creative | Purple (#7C3AED), Pink (#EC4899) | Yellow or Cyan |
| Minimal / Technical | Gray (#374151), Black (#111827) | One bright accent |
| Warm / Friendly | Orange (#EA580C), Teal (#0D9488) | Amber or Rose |
| Premium / Luxury | Deep Blue (#1E3A5F), Gold (#B8860B) | Silver or Champagne |
| Data-heavy | Neutral blue (#3B82F6) | Green for positive, Red for negative |
Pick a font pairing based on personality:
| Personality | Font recommendation | Why |
|---|---|---|
| Professional | DM Sans, Plus Jakarta Sans | Clean geometric, good for UI |
| Technical | JetBrains Mono (code) + Inter (UI) | Developer-friendly |
| Creative | Outfit, Space Grotesk | Distinctive but readable |
| Warm | Nunito, Quicksand | Rounded, friendly feel |
| Premium | Playfair Display (headings) + Lato (body) | Elegant contrast |
| Data-heavy | Inter, Roboto Mono (numbers) | Tabular nums, high readability |
Type scale (base 16px):
h1: 36px / 700 / 1.2 line-height
h2: 30px / 700 / 1.25
h3: 24px / 600 / 1.3
h4: 20px / 600 / 1.35
h5: 18px / 600 / 1.4
h6: 16px / 600 / 1.4
body: 16px / 400 / 1.6
body-sm: 14px / 400 / 1.5
caption: 12px / 500 / 1.4
Spacing scale (8px base):
xs: 4px (0.25rem)
sm: 8px (0.5rem)
md: 16px (1rem)
lg: 24px (1.5rem)
xl: 32px (2rem)
2xl: 48px (3rem)
3xl: 64px (4rem)
Radius by personality:
| Personality | Card | Button | Badge | Input |
|---|---|---|---|---|
| Professional | 8px | 6px | 4px | 6px |
| Minimal | 0-4px | 4px | 2px | 4px |
| Friendly | 12-16px | 8px | 9999px | 8px |
| Premium | 12px | 8px | 6px | 8px |
Shadow by personality:
| Personality | Style |
|---|---|
| Professional | Subtle: 0 1px 3px rgba(0,0,0,0.1) |
| Minimal | None or very subtle borders |
| Friendly | Soft: 0 4px 12px rgba(0,0,0,0.08) |
| Premium | Layered: 0 1px 2px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.08) |
| Dark theme | Glow: 0 0 20px rgba(primary, 0.15) |
.planning/design/system/tokens.md)Human-readable markdown with all tokens, used by designers and all commands.
// Paste into tailwind.config.ts → theme.extend
{
colors: {
primary: '[value]',
'primary-hover': '[value]',
accent: '[value]',
background: '[value]',
surface: '[value]',
// ... all color tokens
},
fontFamily: {
sans: ['[font]', 'sans-serif'],
},
borderRadius: {
card: '[value]',
button: '[value]',
},
boxShadow: {
card: '[value]',
},
}
:root {
/* Colors */
--color-primary: [value];
--color-primary-hover: [value];
--color-accent: [value];
--color-bg: [value];
--color-surface: [value];
--color-text: [value];
--color-text-secondary: [value];
--color-text-muted: [value];
--color-border: [value];
--color-success: [value];
--color-warning: [value];
--color-error: [value];
/* Typography */
--font-family: '[font]', sans-serif;
--font-size-h1: 36px;
/* ... full scale */
/* Spacing */
--space-xs: 4px;
--space-sm: 8px;
--space-md: 16px;
--space-lg: 24px;
--space-xl: 32px;
/* Radius */
--radius-card: [value];
--radius-button: [value];
--radius-badge: [value];
/* Shadows */
--shadow-sm: [value];
--shadow-md: [value];
--shadow-lg: [value];
}
Based on the project type, list the components needed:
Dashboard / SaaS:
Marketplace / E-commerce:
Mobile app:
Landing page:
Save component inventory to .planning/design/system/components.md.
When generating UI code and design tokens already exist:
Read .planning/design/system/tokens.md or .planning/design-config.md FIRST. Your code MUST use these tokens. Do NOT use Tailwind defaults, generic colors, or made-up spacing.
Think of it like a jazz musician: the chord progression is set (tokens). Your job is to build beautifully within it. Don't change the key.