Communitygithub.com

borghei/ui-design-system

Erstelle Design-Tokens, generiere Farbpaletten, berechne Typografie-Skalen, baue Komponentensysteme auf und bereite Entwickler-Übergabedokumentation vor.

Was ist ui-design-system?

Diese Fähigkeit automatisiert den gesamten Workflow eines UI-Designsystems: Ausgehend von einer Markenfarbe und einem Stil-Preset (modern, klassisch, verspielt) generiert sie ein vollständiges Token-System mit Farben, Typografie, Abständen, Schatten, Animationen und vielem mehr. Sie unterstützt die Ausgabe als CSS-Custom-Properties, SCSS-Variablen oder JSON und ermöglicht so eine nahtlose Integration in Frameworks wie React, Tailwind oder styled-components. Darüber hinaus bietet sie Workflows für den Aufbau einer atomaren Komponentenarchitektur, die Berechnung von responsive Breakpoints und Fluid-Typografie sowie eine Checkliste für die Entwicklerübergabe mit Figma-Sync. Validierungstools und Referenztabellen für WCAG-Kontrast und Typografie-Skalen helfen, Barrierefreiheit und Konsistenz sicherzustellen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/borghei/Claude-Skills/tree/HEAD/product-team/ui-design-system

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

UI Design System

Erstelle Design-Tokens, generiere Farbpaletten, berechne Typografie-Skalen, baue Komponentensysteme auf und bereite Entwickler-Übergabedokumentation vor.


Inhaltsverzeichnis


Auslösebegriffe

Nutze diese Fähigkeit, wenn du Folgendes benötigst:

  • „Design-Tokens generieren“
  • „Farbpalette erstellen“
  • „Typografie-Skala aufbauen“
  • „Abstandssystem berechnen“
  • „Designsystem erstellen“
  • „CSS-Variablen generieren“
  • „SCSS-Tokens exportieren“
  • „Komponentenarchitektur einrichten“
  • „Komponentenbibliothek dokumentieren“
  • „Responsive Breakpoints berechnen“
  • „Entwicklerübergabe vorbereiten“
  • „Markenfarbe in Palette umwandeln“
  • „WCAG-Kontrast prüfen“
  • „8pt-Rastersystem aufbauen“

Zuerst klären

Bevor Tokens oder das System generiert werden, kläre die folgenden Eingaben. Wenn eine davon fehlt oder vage ist und das Ergebnis beeinflussen würde, frage danach; falls nicht, verwende einen sinnvollen Standardwert und gib an, welchen du gewählt hast.

  • Marken-Primärfarbe (hex): der Startwert für die vollständige Palette (treibt die Farbskala und die WCAG-Kontrastprüfungen).
  • Stil-Preset: modern, klassisch oder verspielt (legt Schriftarten, Border-Radius und Schattenstil fest).
  • Ausgabeformat und Framework: CSS, SCSS oder JSON für Tailwind/styled-components/Figma (bestimmt Export und Entwicklerübergabe).

Frage nach den zwei oder drei Eingaben, die für diese Anfrage am wichtigsten sind, nicht nach der gesamten Liste. Wenn der Benutzer sofort ein Ergebnis wünscht, erstelle es und nenne deine Annahmen zu Beginn.

Workflows

Workflow 1: Design-Tokens generieren

Situation: Du hast eine Markenfarbe und benötigst ein vollständiges Design-Token-System.

Schritte:

  1. Markenfarbe und Stil identifizieren

    • Marken-Primärfarbe (hex-Format)
    • Stil-Präferenz: modern | classic | playful
  2. Tokens mit Skript generieren

    python scripts/design_token_generator.py "#0066CC" modern json
    
  3. Generierte Kategorien überprüfen

    • Farben: primär, sekundär, neutral, semantisch, Oberfläche
    • Typografie: fontFamily, fontSize, fontWeight, lineHeight
    • Abstände: 8pt-Raster-basierte Skala (0-64)
    • Rahmen: radius, width
    • Schatten: none bis 2xl
    • Animation: duration, easing
    • Breakpoints: xs bis 2xl
  4. Im Zielformat exportieren

    # CSS Custom Properties
    python scripts/design_token_generator.py "#0066CC" modern css > design-tokens.css
    
    # SCSS-Variablen
    python scripts/design_token_generator.py "#0066CC" modern scss > _design-tokens.scss
    
    # JSON für Figma/Tools
    python scripts/design_token_generator.py "#0066CC" modern json > design-tokens.json
    
  5. Barrierefreiheit validieren

    • Überprüfe, ob der Farbkontrast WCAG AA erfüllt (4,5:1 normal, 3:1 großer Text)
    • Stelle sicher, dass semantische Farben Kontrastfarben definiert haben

Workflow 2: Komponentensystem erstellen

Situation: Du musst eine Komponentenbibliothek mit Design-Tokens strukturieren.

Schritte:

  1. Komponentenhierarchie definieren

    • Atome: Button, Input, Icon, Label, Badge
    • Moleküle: FormField, SearchBar, Card, ListItem
    • Organismen: Header, Footer, DataTable, Modal
    • Vorlagen: DashboardLayout, AuthLayout
  2. Tokens auf Komponenten abbilden

    KomponenteVerwendete Tokens
    Buttoncolors, sizing, borders, shadows, typography
    Inputcolors, sizing, borders, spacing
    Cardcolors, borders, shadows, spacing
    Modalcolors, shadows, spacing, z-index, animation
  3. Variantenmuster definieren

    Größenvarianten:

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

    Farbvarianten:

    primary: background primary-500, text white
    secondary: background neutral-100, text neutral-900
    ghost: background transparent, text neutral-700
    
  4. Komponenten-API dokumentieren

    • Props-Schnittstelle mit Typen
    • Variantenoptionen
    • Zustandsbehandlung (hover, active, focus, disabled)
    • Barrierefreiheitsanforderungen
  5. Referenz: Siehe references/component-architecture.md


Workflow 3: Responsive Design

Situation: Du benötigst Breakpoints, flüssige Typografie oder responsive Abstände.

Schritte:

  1. Breakpoints definieren

    NameBreiteZiel
    xs0Kleine Smartphones
    sm480pxGroße Smartphones
    md640pxTablets
    lg768pxKleine Laptops
    xl1024pxDesktops
    2xl1280pxGroße Bildschirme
  2. Flüssige Typografie berechnen

    Formel: clamp(min, bevorzugt, max)

    /* 16px bis 24px zwischen 320px und 1200px Viewport */
    font-size: clamp(1rem, 0.5rem + 2vw, 1.5rem);
    

    Vorberechnete Skalen:

    --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);
    
  3. Responsive Abstände einrichten

    TokenMobilTabletDesktop
    --space-md12px16px16px
    --space-lg16px24px32px
    --space-xl24px32px48px
    --space-section48px80px120px
  4. Referenz: Siehe references/responsive-calculations.md


Workflow 4: Entwicklerübergabe

Situation: Du musst Design-Tokens an das Entwicklungsteam übergeben.

Schritte:

  1. Tokens in den erforderlichen Formaten exportieren

    # Für CSS-Projekte
    python scripts/design_token_generator.py "#0066CC" modern css
    
    # Für SCSS-Projekte
    python scripts/design_token_generator.py "#0066CC" modern scss
    
    # Für JavaScript/TypeScript
    python scripts/design_token_generator.py "#0066CC" modern json
    
  2. Framework-Integration vorbereiten

    React + CSS-Variablen:

    import './design-tokens.css';
    
    <button className="btn btn-primary">Klicken</button>
    

    Tailwind-Konfiguration:

    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']};
    `;
    
  3. Mit Figma synchronisieren

    • Installiere das Tokens Studio-Plugin
    • Importiere design-tokens.json
    • Tokens werden automatisch mit Figma-Stilen synchronisiert
  4. Checkliste für die Übergabe

    • Token-Dateien zum Projekt hinzugefügt
    • Build-Pipeline konfiguriert
    • Theme/CSS-Variablen importiert
    • Komponentenbibliothek abgeglichen
    • Dokumentation generiert
  5. Referenz: Siehe references/developer-handoff.md


Tool-Referenz

design_token_generator.py

Generiert ein vollständiges Design-Token-System aus einer Markenfarbe.

ArgumentWerteStandardBeschreibung
brand_colorHex-Farbe#0066CCPrimäre Markenfarbe
stylemodern, classic, playfulmodernDesign-Stil-Preset
formatjson, css, scss, summaryjsonAusgabeformat

Beispiele:

# JSON-Tokens generieren (Standard)
python scripts/design_token_generator.py "#0066CC"

# Klassischer Stil mit CSS-Ausgabe
python scripts/design_token_generator.py "#8B4513" classic css

# Verspielter Stil, Zusammenfassungsansicht
python scripts/design_token_generator.py "#FF6B6B" playful summary

Ausgabekategorien:

KategorieBeschreibungSchlüsselwerte
colorsFarbpalettenprimary, secondary, neutral, semantic, surface
typographySchriftart-SystemfontFamily, fontSize, fontWeight, lineHeight
spacing8pt-Raster0-64 Skala, semantisch (xs-3xl)
sizingKomponentengrößencontainer, button, input, icon
bordersRahmenwerteradius (pro Stil), width
shadowsSchattenstilenone bis 2xl, inner
animationBewegungs-Tokensduration, easing, keyframes
breakpointsResponsivxs, sm, md, lg, xl, 2xl
z-indexEbenensystembase bis notification

Schnellreferenztabellen

Farbskala-Generierung

SchrittHelligkeitSättigungVerwendungszweck
5095% fix30%Dezente Hintergründe
10095% fix38%Helle Hintergründe
20095% fix46%Hover-Zustände
30095% fix54%Rahmen
40095% fix62%Deaktivierte Zustände
500Original70%Basis-/Standardfarbe
600Original × 0,878%Hover (dunkel)
700Original × 0,686%Aktive Zustände
800Original × 0,494%Text
900Original × 0,2100%Überschriften

Typografie-Skala (1,25-facher Faktor)

GrößeWertBerechnung
xs10px16 ÷ 1,25²
sm13px16 ÷ 1,25¹
base16pxBasis
lg20px16 × 1,25¹
xl25px16 × 1,25²
2xl31px16 × 1,25³
3xl39px16 × 1,25⁴
4xl49px16 × 1,25⁵
5xl61px16 × 1,25⁶

WCAG-Kontrastanforderungen

StufeNormaler TextGroßer Text
AA4,5:13:1
AAA7:14,5:1

Großer Text: ≥18pt normal oder ≥14pt fett

Stil-Presets

AspektModernKlassischVerspielt
Schriftart SansInterHelveticaPoppins
Schriftart MonoFira CodeCourierSource Code Pro
Radius Standard8px4px16px
SchattenGeschichtet, dezentEinzelschichtWeich, ausgeprägt

Wissensdatenbank

Ausführliche Referenzleitfäden in references/:

DateiInhalt
token-generation.mdFarbalgorithmen, HSV-Raum, WCAG-Kontrast, Schriftskalen
component-architecture.mdAtomares Design, Namenskonventionen, Props-Muster
responsive-calculations.mdBreakpoints, flüssige Typografie, Rastersysteme
developer-handoff.mdExportformate, Framework-Setup, Figma-Sync

Validierungs-Checkliste

Token-Generierung

  • Markenfarbe im hex-Format angegeben
  • Stil entspricht den Projektanforderungen
  • Alle Token-Kategorien generiert
  • Semantische Farben enthalten Kontrastwerte

Komponentensystem

  • Alle Größen implementiert (sm, md, lg)
  • Alle Varianten implementiert (primary, secondary, ghost)
  • Alle Zustände funktionieren (hover, active, focus, disabled)
  • Verwendet ausschließlich Design-Tokens (keine fest codierten Werte)

Barrierefreiheit

  • Farbkontrast erfüllt WCAG AA
  • Fokus-Indikatoren sichtbar
  • Berührungsziele ≥ 44×44px
  • Semantische HTML-Elemente verwendet

Entwicklerübergabe

  • Tokens im erforderlichen Format exportiert
  • Framework-Integration dokumentiert
  • Design-Tool synchronisiert
  • Komponentendokumentation vollständig

Fehlerbehebung

ProblemUrsacheLösung
Generierte Farben bestehen WCAG-Kontrast nichtMarkenfarbe zu hell oder zu gesättigtVerwende dunklere Farbtöne (600+) für Text auf hellem Hintergrund; mit Kontrast-Tool prüfen
Token-Export enthält falsche WerteFalsches Format-Argument oder FarbsyntaxStelle sicher, dass die hex-Farbe in Anführungszeichen gesetzt ist (z. B. "#0066CC"); überprüfe, ob das Format json, css oder scss ist
Typografie-Skala zu groß/kleinStandardfaktor 1,25x passt nicht zum DesignÄndere type_scale_ratio in der DesignTokenGenerator-Klasse (1,125 für enger, 1,333 für weiter)
SCSS-Variablen kollidieren mit vorhandenenToken-NamenskonfliktStelle allen Tokens einen Projekt-Namespace voran (Exportfunktion bearbeiten)
Design-Tools zeigen andere FarbenHex-Rundung bei der Farbskala-GenerierungVerwende JSON-Export als Quelle der Wahrheit; mit Tokens Studio-Plugin synchronisieren
Abstandswerte passen nicht zum RasterBenutzerdefinierte Abstände gemischt mit 8pt-RasterVerwende nur Werte aus dem generierten Abstandssystem; vermeide beliebige Pixelwerte
Schatten-Tokens sehen im Dunkelmodus falsch ausSchatten für helle Hintergründe entworfenErstelle separate Dunkelmodus-Schatten-Tokens mit helleren Opazitätswerten

Erfolgskriterien

KriteriumZielMessmethode
Token-KonsistenzKeine fest codierten Farb-/Abstandswerte im CodebestandAnzahl der Lint-Regelverstöße
WCAG-AA-KonformitätAlle Textfarben erfüllen Kontrastverhältnis von 4,5:1Automatisierter Kontrast-Checker oder manuelles Audit
Exportformat-AbdeckungCSS, SCSS und JSON werden korrekt generiertGenerator mit jedem Format ausführen; Ausgabe validieren
Design-Entwickler-Sync<24h zwischen Token-Update und Code-BereitstellungZeit von Figma-Änderung bis zur Produktion
Komponenten-Token-Abdeckung100 % der Komponenten verwenden Design-TokensKomponentenstile auf fest codierte Werte prüfen
Typografie-KonsistenzGesamter Text verwendet die Schriftskala des DesignsystemsVisuelles Audit auf allen Seiten
Responsives VerhaltenFlüssige Typografie funktioniert über alle Breakpoints hinwegTest bei xs, sm, md, lg, xl, 2xl Breiten

Umfang und Einschränkungen

Im Umfang enthalten:

  • Vollständige Design-Token-Generierung aus einer Markenfarbe
  • Farbpalettengenerierung (primär, sekundär, neutral, semantisch)
  • Typografie-System mit modularer Skala
  • 8pt-Raster-basiertes Abstandssystem
  • Komponentengrößen, Rahmen, Schatten, Animations-Tokens
  • Export als CSS Custom Properties, SCSS-Variablen und JSON
  • Responsive Breakpoint-Definitionen
  • WCAG-Kontrast-Referenztabellen

Nicht im Umfang enthalten:

  • Dunkelmodus-Token-Generierung (erfordert separate Palettenzuordnung)
  • Animations-/Bewegungsdesign-Bibliothek
  • Symbolsystem-Generierung
  • Laufzeit-Theme-Wechsel-Implementierung
  • Figma-Plugin- oder API-Integration (verwende Tokens Studio)
  • Visuelles Regressionstesten
  • Design-to-Code-Konvertierung (verwende Figma Dev Mode oder Locofy)

Integrationspunkte

…

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Verwandte Skills