Wie man ein Designsystem dokumentiert, damit eine KI es tatsächlich befolgt

Ihre Dokumentationsseite ist wahrscheinlich exzellent und wahrscheinlich nutzlos für einen Agenten. Dokumentationen für Menschen sind darauf ausgelegt, durchsucht zu werden; sie sind nach Komponenten organisiert und beschreiben die Intention in Prosa. Ein Modell benötigt das Gegenteil: alles Relevante gleichzeitig im Kontext, organisiert nach Entscheidungen, wobei jede Einschränkung als etwas definiert ist, das verletzt werden kann.

Aktualisiert 2026-07-27

Warum die Dokumentationsseite nicht funktioniert

Der Instinkt ist, den Agenten auf die Designsystem-Seite zu verweisen. Das hilft selten, und zwar aus vier strukturellen Gründen, die nichts mit der Qualität der Seite zu tun haben.

DokumentationsseiteWas ein Agent benötigt
ZugriffsmusterDurchsucht – man geht auf die Seite, die man gerade benötigtAlles Relevante im Kontext, vor der ersten Entscheidung
OrganisationNach Komponenten: Button, Input, CardNach Entscheidungen: Farbrollen, Density, Elevation, Verbote
TonalitätBeschreibt die Intention – „unsere Buttons wirken selbstbewusst und nahbar“Definiert Einschränkungen – „font-weight 500, radius 6px, niemals ein Gradient“
VollständigkeitDeckt ab, was existiertMuss auch abdecken, was nicht existieren darf
Dokumentation für Menschen versus Anforderungen eines Modells

Die Zeile zur Organisation ist diejenige, die oft übersehen wird. Eine nach Komponenten organisierte Seite ist perfekt für jemanden, der bereits weiß, dass er einen Button benötigt. Ein Agent, der gerade einen Screen erstellt, hat noch nicht entschieden, welche Komponenten er einsetzt – seine ersten Entscheidungen betreffen Density, Hierarchie und Layout, und genau das ist es, was eine komponentenorientierte Seite niemals abdeckt.

Die Zeile zur Vollständigkeit ist die folgenreichste. Dokumentationen beschreiben, was existiert, da dies ihr Zweck ist. Aber der Unterschied zwischen Ihrer Benutzeroberfläche und einer generischen ist primär eine Menge an Dingen, die Sie niemals tun, und keine Komponentenseite wird diese jemals erwähnen.

Was reale Dateien tatsächlich enthalten

Wir haben 299 DESIGN.md-Dateien aus öffentlichen Repositories und Verzeichnissen analysiert – Dateien, die bewusst geschrieben wurden, um KI-Agenten Design-Richtlinien zu geben – und deren Inhalte gemessen. 72 davon waren spezifische Visual-Design-Dateien. Das Muster ist konsistent genug, um als Checkliste für Dinge zu dienen, die man vermeiden sollte.

Anteil der Dateien
Farben als reine Hex-Werte, keine semantische Rolle86%
Keinerlei Verbote76%
Keine Definition für den Dark Mode69%
Keine unterscheidbaren Motive57%
Mindestens ein vages Adjektiv als Richtlinie54%
Kein einziger konkreter Größenwert44%
Typografie überhaupt erwähnt83%
Was in Design-Richtlinien in der Praxis fehlt (n=299).

Setzen Sie die letzten beiden Zeilen in Beziehung zueinander. Typografie wird in 83% der Dateien erwähnt, aber 44% enthalten keinerlei konkrete Größenwerte. Diese Lücke ist das gesamte Problem in einer einzigen Statistik: In den Dateien wird über Typografie gesprochen, ohne jemals festzulegen, wie groß die Elemente sein sollen.

Die Zahl der Adjektive ist die andere Hälfte. „Clean“ erscheint in 39% dieser Dateien, „modern“ in 36%. Beides sind Begriffe, die ein Modell erfüllt, indem es den Durchschnitt seiner Trainingsverteilung reproduziert – genau jenen generischen Look, den die Datei eigentlich verhindern sollte.

Ein Modell, das um „clean und modern“ gebeten wird, liefert den Durchschnitt von allem, was es gesehen hat. Das tut das Modell jedes anderen Nutzers bei derselben Anfrage ebenfalls.

Die sieben Änderungen

Jede dieser Änderungen korrespondiert mit einem oben gemessenen Fehler. Zusammen angewandt, verwandeln sie eine Beschreibung in etwas Ausführbares.

  1. 1

    Jeder Farbe eine Rolle zuweisen, nicht nur einen Wert

    #6b7280 ist ein Wert, den ein Modell gleichermaßen für Fließtext, Rahmen, Icons, Platzhalter und deaktivierte Zustände verwenden wird. --text-muted, definiert ausschließlich als sekundärer und unterstützender Text, hat eine klare Aufgabe. Fünf Rollen sind besser als ein Hex-Wert, und sie ermöglichen es, Rahmen später zu ändern, ohne die Bildunterschriften zu beeinflussen.

    --text-muted: #6b7280   /* secondary and supporting text only */
    --border-subtle: #e5e7eb /* structural edges, dividers */
    --text-disabled: #9ca3af /* disabled controls only */
  2. 2

    Jedes Adjektiv durch eine Zahl oder eine Regel ersetzen

    „Großzügige Abstände“ wird zu „Sektionsabstand 64px, Card-Padding 24px“. „Clean Typography“ wird zu einer Skala. Wenn ein Satz nicht anhand eines gerenderten Screens überprüft werden kann, ist er reine Dekoration.

  3. 3

    Verbote explizit formulieren

    Der Bereich mit der größten Wirkung und derjenige, den 76% der Dateien komplett auslassen. Fünf Zeilen genügen für den Anfang.

    ## Never
    
    - No gradients
    - No drop shadows — elevation is a surface step plus a 1px border
    - No font-weight above 600
    - No colour value outside the token set
    - No border-radius above 12px
  4. 4

    Dark Mode definieren, nicht ableiten lassen

    Bleibt dies undefiniert, invertiert ein Modell den Light Mode, und das Ergebnis scheitert vorhersehbar: Schatten wirken nicht mehr, Mittelgrautöne verlieren an beiden Enden den Kontrast und ein gesättigierter Akzent, der auf Weiß souverän aussah, blendet auf fast schwarzem Grund. Ein zweiter Token-Satz kostet eine Stunde Zeit und eliminiert eine ganze Kategorie von Nachbesserungen.

  5. 5

    Die Entscheidung zur Dichte explizit festlegen

    Ob es sich um ein dichtes Tool oder eine luftige Marketing-Fläche handelt, beeinflusst jede nachfolgende Entscheidung – und es ist die Entscheidung, die die meisten Dateien niemals treffen. Wenn Ihr Produkt beide Arten von Oberflächen hat, bedeutet das zwei Dateien, nicht eine vage formulierte Datei.

  6. 6

    Mindestens zwei Motive benennen

    Die wiederkehrenden spezifischen Elemente, die das Design einzigartig machen: eine 2px-Akzentlinie links von Sektionsüberschriften, numerische Spalten immer tabellarisch und rechtsbündig, eine bestimmte Art, wie Empty States gezeichnet werden. 57% der Dateien haben keine, weshalb deren Output zwar korrekt, aber charakterlos ist.

  7. 7

    Auf die Token-Datei verweisen; niemals Werte wiederholen

    Sobald ein Hex-Wert sowohl in der Design-Datei als auch in der Token-Datei existiert, wird einer aktualisiert und der andere nicht – und das Modell wird selbstbewusst den veralteten Wert verwenden. Referenzieren Sie, kopieren Sie nicht.

Wenn Sie nur eine dieser Änderungen umsetzen, wählen Sie die dritte. Eine Liste von Verboten erfordert fünfzehn Minuten Arbeit und verändert den generierten Output stärker als die anderen sechs zusammen, da sie den enormen Entscheidungsspielraum einschränkt, den Ihre Erlaubnisse offen gelassen haben.

Das Ergebnis dieser sieben Änderungen ist eine Datei, deren Werte ein Agent auflösen kann, ohne etwas erfinden zu müssen. Dies ist dieselbe Information, jedoch gerendert statt geschrieben – nützlich als Checkliste dafür, was Ihre eigene Datei beantworten können muss:

Token specimen · real values

Sage & Slate Editorial

Live render

Sage & Slate Editorial's actual tokens — the same values its exports use.

Color tokensSemantic roles with HEX / HSL / CMYK

Color tokens

Sage & Slate Editorial

light · HEX · HSL · CMYK

Core

#ECEEE2

background

H 70 · C1, 0, 5, 7

#1C1E19

foreground

H 84 · C7, 0, 17, 88

#F5F5EF

card

H 60 · C0, 0, 2, 4

#E4E6DA

muted

H 70 · C1, 0, 5, 10

#D3D5C8

border

H 69 · C1, 0, 6, 16

Brand

#4A8649

primary

H 119 · C45, 0, 46, 47

#000000

primary-fg

H 0 · C0, 0, 0, 100

#4774AC

secondary

H 213 · C59, 33, 0, 33

#CDBE7E

accent

H 49 · C0, 7, 39, 20

#4A8649

ring

H 119 · C45, 0, 46, 47

Semantic

#C94040

destructive

H 0 · C0, 68, 68, 21

#FFFFFF

destructive-fg

H 0 · C0, 0, 0, 0

#4A8649

success

H 119 · C45, 0, 46, 47

#B08A38

warning

H 41 · C0, 22, 68, 31

#585C50

muted-fg

H 80 · C4, 0, 13, 64

Charts

#4A8649

chart-1

H 119 · C45, 0, 46, 47

#4774AC

chart-2

H 213 · C59, 33, 0, 33

#CDBE7E

chart-3

H 49 · C0, 7, 39, 20

#7AA87A

chart-4

H 120 · C27, 0, 27, 34

#3D4227

chart-5

H 71 · C8, 0, 41, 74

Type scaleHeading, body, and mono in the kit's fonts

Typography

Sage & Slate Editorial

Scale: major-third

Density: relaxed

Heading · Plus Jakarta Sans · 2.5rem

Sample headline

Subheading · Plus Jakarta Sans · 1.875rem

A warm organic editorial UI kit on a sage-green canvas with generous rounded cards, eyebrow accent chips, and a soft photography-forward layout.

Body · DM Sans · 1rem

A warm editorial system built on a sage-green page background with floating off-white cards that carry large border-radius and soft shadows. Bold geometric headings open with inline eyebrow accent chips, and generous whitespace defines the rhythm. The palette draws from nature: forest greens, dusty blues, and warm wheats, applied as accents on a near-neutral sage canvas. Ideal for photography, lifestyle, wellness, and editorial content surfaces.

Mono · Space Mono · 0.8125rem

npx shadcn add sageslateeditorial.json

Aa

Plus Jakarta Sans · Heading

400500600700

Aa

DM Sans · Body

400500700

ABCDEFGHIJKLM NOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

0123456789 & @ # % →

Radius & spacingCorner radius, elevation, and spacing steps

Tokens

Sage & Slate Editorial primitives

density: relaxed

Radius scale

sm · 0.375rem
md · 0.75rem
lg · 1.25rem
xl · 2rem

Component radius

button
card
input

Elevation

level 1
level 2
level 3
level 4

Spacing · base 1rem

1x
2x
3x
4x
6x
8x
Jeder Wert, den ein Agent beim Erstellen eines Screens anfordert. Wenn Ihre Dokumentation diese Tabelle nicht liefern kann, liegen die Lücken genau dort, wo der Agent improvisieren wird.

Wie man ein wirksames Verbot schreibt

Nicht alle Verbote funktionieren gleich gut. Drei Eigenschaften unterscheiden diejenigen, die den Output verändern, von denen, die ignoriert werden.

SchwachStarkWarum
Spezifität"Übermäßig dekoratives Styling vermeiden""Keine Verläufe, keine Schlagschatten, keine dekorativen Rahmen"Ein Modell kann "übermäßig" nicht bewerten
Prüfbarkeit"Typografie zurückhaltend gestalten""Niemals ein font-weight über 600 verwenden"Das eine lässt sich per grep finden; das andere nicht
Alternative angegeben"Kein box-shadow verwenden""Kein box-shadow — Elevation wird durch eine Oberflächenstufe plus einen 1px-Rahmen realisiert"Ein Verbot ohne Ersatz zwingt das Modell dazu, selbst eine Alternative zu erfinden
Schwache und starke Verbote.

Die dritte Zeile ist diejenige, die übersehen wird. Ein Verbot ohne Alternative schafft eine Lücke, die das Modell füllen muss – und es füllt sie aus derselben Trainingsverteilung, der man eigentlich entkommen wollte. Auf jedes "Niemals X" sollte ein "Stattdessen Y" folgen.

Struktur und Länge

Die Datei muss zusammen mit der eigentlichen Aufgabe in den Kontext passen, was eine reale Obergrenze setzt. Etwa 400 Zeilen sind ein praktikables Ziel; darüber hinaus verlieren einzelne Regeln gegenüber der Aufgabe an Aufmerksamkeit.

Auch die Reihenfolge ist entscheidend. Platzieren Sie die Intention und die Verbote an den Anfang. Ein Modell, das von oben nach unten liest, stößt zuerst auf die allgemeine Regel und dann auf den Sonderfall. Dies entspricht der Reihenfolge, die Stripe in seiner Appearance API verwendet – zuerst das Theme, dann Variablen, dann spezifische Regeln.

# DESIGN.md

## Intent            <- who reads this product, and what it is for
## Never             <- the prohibitions, early and unmissable
## Colour            <- roles for light and dark, referencing tokens
## Type              <- scale with real numbers, weight band, tracking
## Spacing & density <- the scale, and which surface uses which step
## Elevation         <- the strategy, stated once
## Composition       <- how components sit together
## Motifs            <- what makes this design specifically ours

Wenn ein Produkt tatsächlich unterschiedliche Oberflächen hat – etwa eine Marketing-Seite und ein komplexes Dashboard –, schreiben Sie keine einzelne Datei mit Vorbehalten. "Großzügige Abstände, wobei Tabellen dichter sein können" sind zwei Regeln, die sich als eine ausgeben, und das Modell muss sich für eine entscheiden. Erstellen Sie eine Root-Datei für alles, was konstant bleibt, und oberflächenspezifische Dateien für die Abweichungen.

Was stattdessen in einen Server gehört

Nicht alles sollte in der Datei stehen; der Versuch, alles unterzubringen, führt dazu, dass sie ihren Nutzen verliert. Die Trennlinie ist, ob der Agent die Information vor einer Entscheidung benötigt oder nur bei Bedarf.

WoWarum
Komponenten-APIs, Props, VariantenServerUmfangreich, häufige Änderungen, erst benötigt, wenn eine Komponente ausgewählt wurde
Icon-KatalogServerHunderte von Namen, einzeln abgefragt
Farbrollen, Skalen, DichteDateiVor jeder ersten Entscheidung zwingend erforderlich
VerboteDateiEin Agent kommt nicht von selbst auf die Idee zu fragen, was verboten ist – er muss es bereits wissen
Datei oder Server

IBM's Carbon MCP server ist ein gutes Vorbild für die erste Spalte: Er stellt die Dokumentationssuche, Code-Beispiele für Komponenten, Diagramme und experimentelle Komponenten als Tools bereit. Bemerkenswert ist, dass keine davon Verbote sind – denn ein Retrieval-Tool liefert nur das, wonach der Agent explizit gefragt hat. Mehr zur Aufteilung.

Überprüfung der Funktionsweise

Die Datei zu schreiben und einfach vorauszusetzen, dass sie funktioniert, führt dazu, dass Teams das Problem erst drei Wochen später bemerken. Vier Prüfschritte, aufsteigend nach Aufwand.

  1. 1

    Suche nach expliziten Farbwerten mittels Grep

    Wenn der Agent semantische Rollen befolgt, sollten sich außerhalb der Token-Datei keine Hex-Werte befinden.

    grep -rn --include='*.tsx' --include='*.css' -E '#[0-9a-fA-F]{3,8}\b' src \
      | grep -v 'tokens\|globals.css'
  2. 2

    Suche nach den untersagten Schriftschnitt-Gewichten mittels Grep

    Bei den Gewichten fällt die Hierarchie oft unbemerkt auf den Standard zurück; sie sind das schnellste Signal dafür, dass ein Verbot nicht greift.

    grep -rn --include='*.tsx' -E 'font-(bold|extrabold|black)' src | head -30
  3. 3

    Fordern Sie denselben Screen zweimal in separaten Sessions an

    Die Konsistenz über Sessions hinweg ist der eigentliche Test. Wenn zwei Durchläufe bei Abständen, Radien oder Hierarchien signifikant voneinander abweichen, schränkt die Datei das Notwendige nicht ausreichend ein – und der Diff zeigt genau, welcher Abschnitt fehlt.

  4. 4

    Erstellen Sie zuerst einen Screen im Dark Mode

    Falls der Dark Mode eher abgeleitet als definiert wurde, zeigt sich dies hier. Es ist wesentlich kostengünstiger, dies beim ersten Screen zu bemerken als beim zwanzigsten.

Die ersten beiden Punkte gehören in die CI. Ein Check, der einen Pull Request aufgrund eines rohen Hex-Werts ablehnt, leistet mehr für die langfristige Konsistenz als jede Dokumentation. Zu diesem Schluss kamen Salesforce mit dem SLDS-Linter und Stripe, indem die Funktion vollständig entfernt wurde.

Die Design-Kits von Identity Forge liefern diese Struktur vorinstalliert: 28 semantische Farenrollen für Light- und Dark-Mode, Typografie- und Spacing-Skalen, Elevation, Motive sowie explizite Do's und Don'ts, serialisiert in einer DESIGN.md. Kits durchsuchen oder lesen Sie, wie man eine DESIGN.md generiert.

Kann ich meinen AI-Agent einfach auf meine Dokumentationsseite des Designsystems verweisen?

Das funktioniert selten. Eine Website wird Seite für Seite durchstöbert, ist nach Komponenten organisiert und beschreibt die Intention in Prosa. Ein Agent benötigt die Entscheidungen im Kontext, bevor er eine Komponente auswählt – organisiert nach Entscheidungen statt nach Komponenten, mit Einschränkungen, die als prüfbare Regeln formuliert sind. Eine Datei im Repository erfüllt diesen Zweck; eine Website nicht.

Wie lang sollte eine DESIGN.md sein?

Etwa 400 Zeilen sind eine praktikable Obergrenze. Die Datei muss den Kontext mit der eigentlichen Aufgabe teilen; über diesen Punkt hinaus verlieren einzelne Regeln an Beachtung. Wenn die Datei wächst, bedeutet dies meist, dass sie mehrere Oberflächen gleichzeitig abdeckt und in eine Root-Datei sowie oberflächenspezifische Dateien aufgeteilt werden sollte.

Was ist der wichtigste einzelne Abschnitt?

Die Verbote. 76 % der veröffentlichten Design-Dateien enthalten keine, dabei besteht der Unterschied zwischen einer eigenen Oberfläche und einer generischen primär aus den Dingen, die man niemals tut. Fünfzehn Minuten Arbeit an einem „Niemals“-Abschnitt verändern den Output stärker als jeder andere Abschnitt vergleichbarer Länge.

Sollte ich meine Token-Werte in die Design-Datei schreiben?

Nein – referenzieren Sie diese. Sobald ein Wert an zwei Stellen existiert, wird einer aktualisiert und der andere nicht, und das Modell wird selbstbewusst die veraltete Kopie verwenden. Geben Sie die Rolle und deren Anwendungsbereich an; überlassen Sie den Wert der Token-Datei.

Benötige ich immer noch eine Dokumentationsseite, wenn ich eine DESIGN.md habe?

Ja, für Menschen und für die Details der Komponenten-API, die zu umfangreich für eine Datei sind. Die beiden ergänzen sich: Die Website dokumentiert tiefgehend, was existiert; die Datei legt die Entscheidungen fest, die ein Agent vor dem Start benötigt. Große Komponenten-Kataloge werden besser durch einen MCP-Server als durch eine der beiden Optionen bedient.