Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate design systems with color palettes, typography, spacing scales, component tokens, and Tailwind config
.claude/skills/design-system-generator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | — | — |
| case-17 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-02 | ✗→✓ | ▲ Improved | — | — |
| case-14 | ✗→✓ | ▲ Improved | — | — |
Input'a gore tutarli design system uret. 3-layer token mimarisi.
Asagidaki bilgileri iste veya cikar:
css/* Primitive - ASLA direkt kullanilmaz */ --color-blue-50: #eff6ff; --color-blue-100: #dbeafe; --color-blue-500: #3b82f6; --color-blue-600: #2563eb; --color-blue-700: #1d4ed8; --color-blue-900: #1e3a5f; --color-gray-50: #f9fafb; --color-gray-100: #f3f4f6; --color-gray-200: #e5e7eb; --color-gray-300: #d1d5db; --color-gray-500: #6b7280; --color-gray-700: #374151; --color-gray-900: #111827; --color-green-500: #22c55e; --color-red-500: #ef4444; --color-yellow-500: #eab308;
css/* Light mode */ --color-primary: var(--color-blue-600); --color-primary-hover: var(--color-blue-700); --color-primary-subtle: var(--color-blue-50); --color-danger: var(--color-red-500); --color-success: var(--color-green-500); --color-warning: var(--color-yellow-500); --color-text-primary: var(--color-gray-900); --color-text-secondary: var(--color-gray-500); --color-text-muted: var(--color-gray-300); --color-bg-primary: #ffffff; --color-bg-secondary: var(--color-gray-50); --color-bg-tertiary: var(--color-gray-100); --color-border: var(--color-gray-200); --color-border-strong: var(--color-gray-300);
css/* Dark mode */ .dark { --color-primary: var(--color-blue-500); --color-primary-hover: var(--color-blue-600); --color-primary-subtle: var(--color-blue-900); --color-text-primary: var(--color-gray-50); --color-text-secondary: var(--color-gray-300); --color-text-muted: var(--color-gray-500); --color-bg-primary: var(--color-gray-900); --color-bg-secondary: #1a1a2e; --color-bg-tertiary: var(--color-gray-700); --color-border: var(--color-gray-700); --color-border-strong: var(--color-gray-500); }
css/* Button */ --btn-primary-bg: var(--color-primary); --btn-primary-hover: var(--color-primary-hover); --btn-primary-text: #ffffff; --btn-secondary-bg: transparent; --btn-secondary-border: var(--color-border-strong); --btn-danger-bg: var(--color-danger); /* Input */ --input-bg: var(--color-bg-primary); --input-border: var(--color-border); --input-border-focus: var(--color-primary); --input-text: var(--color-text-primary); --input-placeholder: var(--color-text-muted); /* Card */ --card-bg: var(--color-bg-primary); --card-border: var(--color-border); --card-shadow: 0 1px 3px rgb(0 0 0 / 0.1);
| Eleman | Font | Weight | Size | Line Height | |--------|------|--------|------|-------------| | Display | Primary | 700 | 3rem (48px) | 1.1 | | H1 | Primary | 600 | 2.25rem (36px) | 1.2 | | H2 | Primary | 600 | 1.5rem (24px) | 1.25 | | H3 | Primary | 500 | 1.25rem (20px) | 1.3 | | Body | Primary | 400 | 1rem (16px) | 1.5 | | Small | Primary | 400 | 0.875rem (14px) | 1.4 | | Caption | Primary | 400 | 0.75rem (12px) | 1.3 |
| Industry | Heading | Body | Karakter | |----------|---------|------|----------| | SaaS / Tech | Inter | Inter | Temiz, notr | | Fintech | DM Sans | DM Sans | Guvenir, profesyonel | | Healthcare | Source Sans Pro | Source Sans Pro | Okunabilir, sicak | | Education | Nunito | Open Sans | Samimi, erisilebilir | | Dev Tools | JetBrains Mono | Inter | Teknik, modern | | Luxury | Playfair Display | Lato | Sofistike, zarif |
Token Value Use Case
xs 4px Icon gap, compact badges
sm 8px Input padding-y, small gaps
md 12px Button padding-y
base 16px Card padding, standard gap
lg 24px Section padding, comfortable gap
xl 32px Section gap
2xl 48px Page section gap
3xl 64px Hero paddingtypescript// tailwind.config.ts import type { Config } from 'tailwindcss' export default { darkMode: 'class', theme: { extend: { colors: { primary: { DEFAULT: 'var(--color-primary)', hover: 'var(--color-primary-hover)', subtle: 'var(--color-primary-subtle)', }, danger: { DEFAULT: 'var(--color-danger)' }, success: { DEFAULT: 'var(--color-success)' }, warning: { DEFAULT: 'var(--color-warning)' }, surface: { DEFAULT: 'var(--color-bg-primary)', secondary: 'var(--color-bg-secondary)', tertiary: 'var(--color-bg-tertiary)', }, }, borderColor: { DEFAULT: 'var(--color-border)', strong: 'var(--color-border-strong)', }, textColor: { primary: 'var(--color-text-primary)', secondary: 'var(--color-text-secondary)', muted: 'var(--color-text-muted)', }, }, }, } satisfies Config
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.