Communitygithub.com

maksimilianius1989/claude_skills

Erstellen Sie professionelle Diagramme in über 45 visuellen Formaten als eigenständige HTML-Dateien mit Inline-SVG und einem Redaktions-Designsystem.

Was ist claude_skills?

Dieses Skill ermöglicht es KI-Agenten wie Claude Code, Cursor oder Codex, über 45 verschiedene Diagrammtypen als eigenständige HTML-Dateien mit Inline-SVG und einem integrierten Redaktions-Designsystem zu generieren. Es unterstützt Architektur-, Flussdiagramm-, Sequenz-, Zustandsautomat-, ER-/Datenmodell-, Zeitleisten-, Swimlane-, Quadranten-, Radar-/Spinnennetz-, Polar-, Schleifen-/Schwungrad-, Nested-, Baum-, Organigramm-, Layer-Stack-, Axonometrie-, Venn-, Pyramiden-/Trichter-, Treemap-, Heatmap-, Balken-, Wasserfall-, Linien-, Gantt- und Streudiagramme sowie viele weitere visuelle Typen. Das Skill folgt einer klaren Designphilosophie, die auf Reduktion und Klarheit setzt – jeder Knoten repräsentiert eine eindeutige Idee, und die Ziel-Dichte liegt bei 4/10, um technisch vollständige, aber dennoch lesbare Diagramme zu gewährleisten. Es bietet einen Onboarding-Prozess mit Stilrichtlinien-Anpassung, semantische Pattern-basierte Auswahl und Referenzdokumentationen, die den Benutzer durch den gesamten Workflow führen. Die Ausgabe kann als HTML, SVG oder PNG erfolgen, und es unterstützt den Import von .drawio-, Mermaid- und .excalidraw-Dateien.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/maksimilianius1989/claude_skills/tree/HEAD/diagram-design

In Ihrer bevorzugten KI fragen

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

Dokumentation

Diagramm-Design

Erstelle Diagramme als eigenständige HTML-Dateien mit Inline-SVG und einem redaktionellen Designsystem.

Fünfundvierzig visuelle Typen. Semantische Muster beschreiben Verhalten; Typreferenzen beschreiben Layout.


0. Ersteinrichtung – Style-Guide-Prüfung

Bevor du dein erstes Diagramm in einem neuen Projekt erstellst, überprüfe, ob der Style-Guide angepasst wurde.

Versende nicht stillschweigend Diagramme mit Standard-Skin in ein Markenprojekt.

Löse zuerst einen etwaigen .diagram-design-Marker des Projekts gemäß references/profiles.md auf; ein erfolgreich aufgelöster Marker wählt sein Profil aus und umgeht diese Prüfung. Diese Referenz ist zuständig für Fehler, das geschützte Standardprofil und das Speicherverhalten.

Öffne references/style-guide.md und überprüfe die Standard-Tokens. Wenn es sich noch um die ausgelieferten Standardwerte handelt (Papier #f5f5f5, Tinte #2d3142, Akzent #bf4520), halte inne und frage den Benutzer:

"Dies ist dein erstes Diagramm in diesem Projekt und der Style-Guide ist noch standardmäßig. Jetzt anpassen? Optionen: (a) Website-URL, (b) installierte Fähigkeit, (c) lokaler Ordner/Designsystem, (d) Tokens einfügen, (e) Standard beibehalten, (f) gespeichertes Profil laden."

Verzweige dann je nach dem entsprechenden Abschnitt von references/onboarding.md; für (f) folge references/profiles.md.

Sobald der Style-Guide angepasst wurde (oder der Benutzer explizit den Standard gewählt hat), überspringe diese Prüfung bei späteren Durchläufen. Ein führender Profilkopf benennt das kopierte aktive Profil. Ohne einen Kopf bedeutet ein von den ausgelieferten Standardwerten abweichender semantischer Rollenwert oder eine abweichende Typografiefamilie angepasst-ungespeichert: Überspringe die Prüfung und biete an, es als Profil zu speichern. Nur Standard-Tokens ohne Marker/Kopf lösen die Prüfung aus. Nach dem Onboarding biete an, es als benanntes Kundenprofil gemäß references/profiles.md zu speichern.


1. Philosophie

Die qualitativ hochwertigste Aktion ist normalerweise das Löschen.

Angewendet auf Schemata:

  • Jeder Knoten repräsentiert eine eindeutige Idee. Zwei Knoten, die immer zusammen auftauchen, sind ein Knoten.
  • Jede Verbindung trägt Informationen. Wenn die Beziehung aus dem Layout ersichtlich ist, entferne die Linie.
  • Koralle ist redaktionell, kein Kennzeichnungselement. 1–2 fokale Knoten pro Diagramm. Die Verwendung an 5 Knoten löscht das Signal.
  • Das Schema ist nicht fertig, wenn alles hinzugefügt wurde. Es ist fertig, wenn nichts mehr entfernt werden kann.

Zieldichte: 4/10. Genug, um technisch vollständig zu sein. Nicht so dicht, dass es eine Anleitung braucht. Über 9 Knoten sind es wahrscheinlich zwei Diagramme.


2. Verwendungszweck

Verwende es für einen der 45 visuellen Typen (§3), wenn ein Leser mehr aus einer Visualisierung lernt als aus Prosa, einer Tabelle oder einer Aufzählungsliste.

Nicht verwenden für:

  • Schnelle Unicode-Diagramme → ein separates Textwerkzeug wie wiretext. Diese Fähigkeit liefert keins mit.
  • Listen von Dingen → Tabelle oder Aufzählungspunkte.
  • Attribut-only Vorher/Nachher → Tabelle; Topologieänderungen → Architektur-Delta.
  • Ein-Form-"Diagramme" → schreibe einfach den Satz.

Frage vor dem Zeichnen: Würde der Leser mehr daraus lernen als aus einem gut geschriebenen Absatz? Wenn nein, zeichne nicht.


3. Auswahl: semantisches Muster, dann visueller Typ

Wenn Verhalten, Zustand, Durchsetzung oder Risiko die Bedeutung tragen, lade zuerst references/semantic-patterns.md und wähle ein primäres Muster aus. Wähle dann den nächstgelegenen visuellen Typ für das Layout. Wenn kein Muster passt, wähle den Typ direkt.

VerhaltensauslöserSemantisches Muster → nächstgelegener Typ
Fan-in, Warteschlangentiefe, endliche Kapazität, EngpassFan-in-Warteschlange / Engpass → Datenfluss
Wiederholte Frage / Eingabe / Governance / Ausgabe-Slots über Stufen hinwegStufenframework mit semantischen Slots → Prozess
Konversation oder lose Eingabe wird zu einem strukturierten, dauerhaften ArtefaktUnstrukturierte Eingabe → Strukturiertes Artefakt → Datenfluss
Zwei Regelspuren benötigen bestanden/fehlgeschlagen/übersprungen/nicht erreicht und erste AbweichungGepaarte Policy-Bewertungsspuren → Flussdiagramm
Vertrauensgrenzen plus erlaubte/verbotene Ingress- oder BereitstellungspfadeSicherer befestigter Weg → Architektur
Kontrollen gruppiert nach ihrem DurchsetzungsortGovernance / Kontrollkatalog → Schichtenstapel
Abwehrmaßnahmen kompensieren vorherige Lücken und Restrisiko pflanzt sich fortKompensierende Sicherheitsschichten → Schichtenstapel
Hierarchische, ID-adressierbare Zerlegung mit blockweiser Ein-/Ausgabe, Einschränkungen und einem Code-LinkNachverfolgbare Blockzerlegung → Baum
Ein Subjekt durchläuft Phasen, wartet, wiederholt, bricht ab und erreicht EndzuständeLebenszyklus-Phasenkarte → Zustandsautomat

Das Muster besitzt die semantischen Primitiven und sein knapperes Budget; der Typ besitzt die Layout-Grammatik. Verwende references/animation.md nur, wenn Bewegung angefordert wird oder geordnete Veränderung materiell verdeutlicht; statisch bleibt der Standard.

Leitfaden für visuelle Typen (45)

Wenn du zeigst…VerwendeReferenz
Komponenten + Verbindungen in einer Momentaufnahme; verschachtelte Admin- vs. VerkehrsbereicheArchitekturtype-architecture.md
Strukturelle Änderung zwischen synchronisierten Vorher/Nachher-Topologien, mit einem ÄnderungsverzeichnisArchitektur-Deltatype-architecture-delta.md
Legacy-IT-Landschaft nach Phase oder Abteilung; zeigt den Vorher-ZustandIT-Aktuellzustandtype-it-state.md
Entscheidungslogik mit VerzweigungenFlussdiagrammtype-flowchart.md
Zeitgeordnete Nachrichten zwischen AkteurenSequenztype-sequence.md
Zustände + Übergänge + BedingungenZustandsautomattype-state.md
Entitäten + Felder + BeziehungenER / Datenmodelltype-er.md
Ereignisse zeitlich positioniertZeitleistetype-timeline.md
Funktionsübergreifender Prozess mit ÜbergabenSwimlanetype-swimlane.md
Zwei-Achsen-Positionierung / PriorisierungQuadranttype-quadrant.md
Mehrere Entitäten bewertet über 3–5 quantitative KriterienRadar / Spinnetype-radar.md
Eine quantitative Reihe über zyklische Kategorien; Winkel=Kategorie, Radius=GrößenordnungPolardiagrammtype-polar.md
Verstärkungszyklus; der letzte Schritt speist den ersten und ein Hub sammelt ZustandSchleifetype-loop.md
Hierarchie durch Enthaltung / GeltungsbereichVerschachtelttype-nested.md
Eltern → Kinder-BeziehungenBaumtype-tree.md
Mensch/Agent/Team-Eigentum, Berichterstattung, Weiterleitung, EskalationOrganigrammtype-org-chart.md
Gestapelte AbstraktionsebenenSchichtenstapeltype-layers.md
Teile eines Objekts entlang einer Achse auseinandergezogen: eine Zerlegung, ein Auspacken, MontagereihenfolgeExplodierte axonometrische Ansichttype-exploded.md
Eine Etage oder ein Gelände schräg von oben gesehen: Räume mit Möbeln, Gebäude nach PhaseAxonometrischer Grundrisstype-axonometric-plan.md
Überlappung zwischen MengenVenntype-venn.md
Ranghierarchie oder KonversionsabfallPyramide / Trichtertype-pyramid.md
Quantitativer Vergleich über Kategorien hinwegBalkendiagrammtype-bar.md
Ein Startbetrag, der durch signierte Beiträge (Budgetbrücke, Personaldeltas) mit einem Endbetrag verbunden istWasserfalltype-waterfall.md
Teil-des-Ganzen, bei dem die relativen Größen die Geschichte erzählenTreemaptype-treemap.md
Kreuztabellierte Daten; Füllung kodiert Wert pro ZelleHeatmaptype-heatmap.md
Kontinuierliche Trends über Zeit, Änderung zwischen genau zwei Zuständen (Slopegraph), eine Verteilung pro Serie (Ridgeline) oder Rangbewegung über mehrere Momentaufnahmen (Bump)Liniendiagrammtype-line.md
Aufgaben und Phasen auf einer ZeitleisteGantttype-gantt.md
Korrelation oder Verteilung von zwei Variablen; Varianten: Blase (drei Variablen) und Bienenwabe (eine Variable, ein Punkt pro Element)Streudiagrammtype-scatter.md
End-to-End-Datenstapel auf einem Container-ClusterHohe Ebenetype-high-level.md
Multi-Akteur-Sequenzprozess mit DatenübergabenProzesstype-process.md
Mehrstufige Datenspeicherung mit Qualitätsstufen und ZugriffsrichtlinienMedaillontype-medallion.md
Rollenspezifischer Datenfluss: wer macht was in welchem PipelineschrittDatenflusstype-data-flow.md
Integrationstopologie einer Datenplattform — Quellen → Kern → VerbraucherDP-Integrationtype-dp-integration.md
Pro-Rolle / Pro-Komponente ZugriffsberechtigungsmatrixDP-Sicherheitsmatrixtype-dp-security-matrix.md
Eine Größe, die sich über Stufen hinweg aufteilt und wieder vereint, Bandbreite = BetragSankeytype-sankey.md
Ursachen einer beobachteten Wirkung, gruppiert nach Kategorie (Ursachenanalyse)Fischgrättype-fishbone.md
Wertschöpfungskette gegen Evolution – was zu bauen, zu kaufen ist und was sich bewegtWardley-Kartetype-wardley.md
Work-in-Progress nach Status, mit WIP-Limits und blockierten ElementenKanbantype-kanban.md
Was eine Person über Phasen einer Erfahrung hinweg tut und wie es sich anfühltUser Journeytype-journey.md
Was der Kunde tut vs. was der Dienst verbirgt, über Phasen hinweg, mit einer SichtbarkeitslinieService Blueprinttype-service-blueprint.md
Wo Software läuft – Zonen, Hosts, Artefakte, Replikate, PortsBereitstellungtype-deployment.md
Was von was abhängt, mit Fan-in und Zyklen, die ein Baum nicht ausdrücken kannAbhängigkeitsgraphtype-dependency.md
Klassen mit Operationen, Vererbung, Komposition (andere UML-Pfade woanders)UML-Klassetype-uml-class.md
Erzählgerüst aufgeteilt in Releases, mit der SchnittlinieStory Maptype-story-map.md
Physische Tabellen: SQL-Typen, Constraints, Indizes, spaltenbezogene FKsDatenbankschematype-db-schema.md

Faustregeln:

  • Wenn eine 3-spaltige Tabelle dasselbe kommuniziert, wähle die Tabelle.
  • Wenn zwei Typen nützlich erscheinen, wähle die dominante Achse; ein semantisches Muster kann verhaltensspezifische Primitiven hinzufügen, keine zweite Layout-Grammatik.
  • Wenn du über dem Komplexitätsbudget (§7) liegst, teile in eine Übersicht + Details auf.

Lade immer die gewählte Typreferenz aus dem Leitfaden, bevor du zeichnest. Wenn oben weitergeleitet, lade auch semantic-patterns.md; wenn Animation gewählt ist, lade animation.md.

Bestätigung vor dem Zeichnen

Gib vor dem Rendern den Plan in einer kurzen Nachricht an: den gewählten visuellen Typ (und das semantische Muster, falls weitergeleitet), die Größenpresets und alles, was das Komplexitätsbudget (§7) ausschließen wird. Wenn der Benutzer erreichbar ist, lass ihn umleiten, bevor du zeichnest; wenn nicht, fahre fort und notiere die Annahmen neben dem Ergebnis. Überspringe die Pause nur, wenn die Anfrage bereits Typ, Größe und Inhalt genau festlegt.


4. Universelle Anti-Patterns

Diese kennzeichnen "KI-Schrott"-Schemata aller Art:

Anti-PatternWarum es scheitert
Dunkler Modus + Cyan/Lila GlühenSieht ohne Designentscheidungen „technisch“ aus
JetBrains Mono als pauschale "Dev"-SchriftartMono ist für technische Inhalte – Ports, Befehle, URLs. Namen kommen in Geist Serifenlos.
Identische Boxen für jeden KnotenLöscht Hierarchie
Legende, die im Diagrammbereich schwebtKollidiert mit Knoten
Pfeilbeschriftungen ohne MaskierungsrechteckBlut durch die Linie
Vertikaler writing-mode-Text auf PfeilenUnlesbar
3 gleich breite Zusammenfassungskarten als StandardGenerisches Raster – variiere Breiten
Schatten auf irgendeinem ElementSchatten sind raus. Rahmen sind drin.
rounded-2xl auf BoxenMaximaler Radius 6–10px oder keiner
Koralle auf jedem "wichtigen" KnotenKoralle ist 1–2 redaktionelle Akzente, kein Signalisierungssystem
Nachbildung des Mermaid-Renderer-LayoutsImportiert automatische Abstände und Routenführung anstatt eines redaktionellen Layouts
Jeder Verstoß gegen die sechs §6-VerbinderregelnAutomatischer Fehler: diagonale Schrägen, Beschriftungen, die ihren Strich berühren, Masken, die durch einen späteren Knoten beschnitten werden, überlappende Pfade, gemeinsame Anfügepunkte, Durchgang hinter einer Nicht-Endpunkt-Box

Typspezifische Anti-Patterns leben in jeder Typreferenz, die im Leitfaden verlinkt ist.


5. Designsystem

Das Designsystem ist anpassbar. references/style-guide.md ist die alleinige Quelle für Farben, Typografie, Tokens und die Standardpalette; diese Datei benennt semantische Rollen (paper, ink, muted, accent, link, …). Um eine Marke anzuwenden, bearbeite style-guide.md oder führe den URL-basierten Workflow in references/onboarding.md aus.

Wenn Spezifikationen unten oder in Typreferenzen "Tinte", "Akzent", "Gedämpft" usw. erwähnen, schlage den aktuellen Hex-Wert in style-guide.md nach.

Typreferenz-Ausschnitte schreiben Rollen als Platzhalter: {ink}, {ink @ 0.40} für eine Rolle mit einer Opazität, und {node-name}, {sublabel}, {eyebrow}, {arrow-label}, {title}, {callout} für Schriften. Löse jeden Platzhalter vor der Ausgabe gegen style-guide.md auf.

Semantische Rollen (auf einen Blick)

RolleZweck
paper, paper-2Seitenhintergrund und Containerhintergrund
inkPrimärtext / Strich
muted, softSekundärtext, Standardpfeile, Sublabels
accentKräftiger Akzent, fokale Knoten, Links
success, warning, critical, infoZustandsfeedback → keine universellen Verwendungen; jede Referenz definiert ihren eigenen Anwendungsfall
on-*Text auf einem farbigen Hintergrund (z. B. on-accent, on-paper-2)

Primitive Tokens

references/tokens.md

Typografie

references/typography.md


6. Verbinder & Layout-Regeln (Einführung)

Diese sechs Regeln gelten für jedes Diagramm. Typspezifische Referenzen fügen eigene hinzu, aber ersetzen diese nie.

  1. Begrenzte Verbinderauswahl. Rechteckig ist der Standard. Orthogonal, wenn das nachgelagerte Layout es verlangt. Kurve nur dort, wo enge Nachbarschaft ohne Überlappung sonst unmöglich ist. Pfeile nie diagonal.

  2. Ein Pfad, eine Kante. Teile keinen Verbinder über einen Zwischenpunkt. Verwende eine einzelne SVG <path>-Beschreibung pro Kante.

  3. Abfangpunkt an der Außenseite der Box. Greife den Knoten an dem Punkt auf seiner Perimetergrenze an, der in der Mitte der Kante liegt. Ankerpunkte werden von dem pfadinterpretierenden Rendering-Code dynamisch berechnet. Teile keinen Anfügepunkt außer an einer Sammlungssammelstelle.

  4. Beschriftung auf einer asphaltierten Insel. Setze keine Arrowlabel direkt auf den Verbinder. Jedes Arrowlabel wird in einem <text>-Element mit einem undurchsichtigen <rect>-Hintergrund in der Farbe paper gerendert, der den zugrunde liegenden Strich maskiert. Der Maskierungsrechteck hat rx="2".

  5. Der Verbinder überquert keine dritte Box. Wenn der Pfad eines Verbinders hinter einer Box durchgehen muss, die nicht sein Quell- oder Zielknoten ist, zeichne den Verbinder so um, dass er sie umgeht.

  6. Keine überlappenden Pfade. Nimm dir die Zeit, Kanten so zu verlegen, dass kein Pfad einen anderen Pfad kreuzt. Verwende die Container-Routing-Fähigkeiten des Renderers, um Überschneidungen automatisch zu erkennen und zu vermeiden.


7. Komplexitätsbudget

Höchstens 15 Knoten pro Diagramm. Zähle: jede Form, jeder Container, jeder Aktor. Nicht: Verbinder, Beschriftungen, Hintergrundrechtecke, Legenden, Callouts, Header.

1. Schwelle bei 9 Knoten. Wenn 15 100 % sind:

2. Bei >90 % (14–15 Knoten) → Ausgabe nur, wenn es unmöglich ist, es in eine Übersicht + ein Detail aufzuteilen. Ziehe in Betracht, mehrere Knoten zu einem Container zusammenzufassen, wenn ihre Details nicht zum Verständnis beitragen.

3. Bei 60–90 % ➔| (6–13 Knoten) → Verwende Zusammenfassungscontainer. Jeder zusammengefasste Container zeigt einen Rollup-Zähler (z. B. "7 Instanzen") und eine klickbare Verknüpfung zu einem verlinkten Detaildiagramm, das die Hersteller-Referenz verwendet.

4. Explosion der Details. Wenn eine Detail-Explosion mehrere Diagramme erfordert, gebe das Hauptdiagramm mit Zusammenfassungscontainern aus und füge eine nummerierte Liste der verlinkten Detaildiagramme am Ende der zugehörigen Nachricht bei. Verwende die Hersteller-Referenz für Mehrfachverknüpfungen.

5. Hinweis für den Benutzer → Wenn das Budget erreicht ist, erkläre die Einschränkung in einem Satz, bevor das Diagramm ausgegeben wird: „Dieses Diagramm übersteigt die Grenze von 15 Knoten; es werden xx Knoten angezeigt. Ich habe aa, bb und cc in Container zusammengefasst; die Details sind unten verlinkt.“ (Hinweis: Dies sollte deine eigene Zählung von 15 überschreiten. Wenn nicht, bewerte neu.)


8. Ausgabe

Rendere als eine einzige, eigenständige, vollständig valide HTML-Datei mit Eingabe- <style> und Inline-SVG <body>. Keine externen Abhängigkeiten. Keine separaten CSS-Dateien. Keine JS, kein iframe, kein lazy loading, kein Schatten-DOM. Das HTML muss nach den aktuellen W3C-Standards valide sein.

Größenpresets

NameLeinwandVerwendung
slide1024×768 (4:3)Vortragsfolien
doc800×900Dokumentation, auch als Standard
social1200×630 (1.91:1)LinkedIn, Twitter, Blog-Titelbilder
poster1200×1600 (3:4)Erklärposter, Handouts
wide1440×900 (16:10)Bildschirmfüllend

Kameraeinstellungen

Jedes Diagramm erbt einen viewBox-Offset von x="-20" y="-20" um die gezeichneten Elemente herum. Dieser Puffer verhindert, dass Strichstärken und Schatten an den Rändern abgeschnitten werden. Wenn das Inhaltslayout so ist, dass dieser Puffer zu viel oder zu wenig ist, passe x und y in Schritten von 10 Pixeln an, bis ein 10–20 px Abstand nahe der übergeordneten Diagrammgrenze erreicht ist.

Rahmen

Jedes Diagramm erhält einen optionalen Rahmen. Standard ist 0.75px solid {ink @ 0.15}. Wenn der Benutzer keinen Rahmen möchte, entferne ihn. Umrandungen aus 5px solid {accent} sind optional. Setze rx="12" für die äußere Containergrenze.


9. Überschrift und Ablageort

Diagramm-Header. Jedes HTML erhält einen Benutzer-sichtbaren Header innerhalb des viewBox-Raums. Er besteht aus einem optionalen breiten Kontext (grau, {eyebrow}-Stil), einer optionalen Kopfzeile ({title}-Stil) und einem obligatorischen Haupttitel ({title}-Stil). Platziere den Header linksbündig in der oberen linken Ecke der Leinwand mit einem Abstand von ca. 20 px vom linken und oberen Rand.

Ablageort. Jedes Diagramm wird standardmäßig als eigenständige Datei abgelegt. Das Dateinamensmuster ist client_release_component-type_name.html, das Verzeichnis ist assets/diagrams/. Fehler: wenn das Verzeichnis fehlt, lege es automatisch an.

Als Kopie eine einzelne, sich selbst aktualisierende Diagrammreferenz in assets/diagrams/index.json führen; siehe references/summary.md.


10. Der Prozess des Dienstes

Generischer Ablauf der Ausgabe

  1. Identifiziere: Bestimme den semantischen Typ (§3). Lade die Typreferenz.
  2. Prüfe den Style-Guide (§0). Wenn zum ersten Mal und Standard, frage. Wenn angepasst-ungespeichert, biete an, zu speichern.
  3. Plane: Teile dem Benutzer Typ, Größe und Komplexitätslimit mit.
  4. Löse Platzhalter auf: Wende das Farbschema aus style-guide.md an, bevor du schreibst.
  5. Strukturiere mit Diagrammregionen: Verwende <g>-Gruppen für Knoten, Verbinder, Beschriftungen, Legende, Header, Container. Reihenfolge der Lebenszyklen: zuerst Verbinder, dann Verbinderbeschriftungen, dann Knoten, dann Knotenbeschriftungen, dann Legende, dann Header. Verwende die Sechs Verbinderregeln.
  6. Baue eine Liste von Knoten auf: Verwende eine nodeMap für Position, Abmessungen, Beschriftung, Verbinder, Rollen mit Platzhaltern.
  7. Wende Stile an: Jedes Element erhält einen Inline-style-String oder ein <style>-Kürzel mit einem CSS-Klassentoken, definiert im Diagramm <head>.
  8. Exportiere als HTML: Ein <html>-Tag mit definiertem <head> und <body> gemäß der Ausgabespezifikation.
  9. Speichere als Datei: Verwende das Ablageortmuster und aktualisiere den Index.

Besondere Pfade

Konvertierung von Mermaid-Quelle. Wenn der Benutzer eine Mermaid-Quelle bereitstellt, übersetze Elemente und Token in das Schema des Designsystems, umgehe die Listenauswahl und erzeuge das native HTML des Dienstes. Verwende Mermaid's Layout-Algorithmus nicht wieder; mache ein redaktionelles Layout. Verwende Mermaid's Farben nicht; wende style-guide.md-Tokens an. Behalte Mermaid's Topologie, Titel und Phasen bei. Wenn die Mermaid-Quelle ungültig ist, gib einen aussagekräftigen Fehler mit der erwarteten Syntax aus.

Fokus auf synthetische Daten. Wenn der Benutzer keine Daten bereitstellt, generiere synthetische Daten, die für die Komplexität des Themas repräsentativ sind. Zeige synthetische Daten in den visuellen Typen so an, dass der Leser das Konzept versteht, ohne von den Werten abgelenkt zu werden. Verwende hierfür eine helle oder gedämpfte Tabelle am unteren oder seitlichen Rand.


11. Beispiele und Terminologie

Beispiel für ein gutes, dichtes Diagramm: Siehe assets/diagrams/example-acme-sre-architecture-flow.html (wird beim ersten Generierungsversuch erstellt).

Terminologie:

BegriffBedeutung
Knoten / Box / ObjektJede sichtbare Form im Diagramm – Rechteck, Ellipse, Container, Kartenform.
ContainerEin g-Element, das eine Sammlung von Knoten und Verbindern umschließt, oft mit einer gestrichelten oder gepunkteten Umrandung und einer Beschriftung.
Verbinder / KanteEin Pfeil, eine Linie oder ein anderer Pfad, der zwei Knoten verbindet.
VerbinderbeschriftungTextinline auf dem Verbinder (richtig implementiert mit Maskierungsrechteck).
LegendeEin Bereich des Diagramms, der Symbole oder Signaturen erklärt. Platziere ihn immer linksbündig am unteren Rand der Leinwand.

12. Verhalten, Erwartungen und Stil

  • Sei der Redakteur, nicht der Typograf. Wähle den Typen, der die Struktur der Information am besten abbildet. Passe Layout, Strichbreiten und Abstände an, nicht die Schriftart.
  • Führe zum nächsten Schritt. Drucke nach der Ausgabe eine klare nächste Aktion aus: „Gib mir eine Rückmeldung, nenne eine benachbarte Komponente, die eingeschlossen werden soll, oder bitte um eine Ansicht in einer anderen Größe.“
  • Responsivität und Anpassung. Stimme dich mit dem Benutzer ab, bevor du animierte SVG-Diagramme generierst. Verwende die Datei preset-name in Styles, um das HTML für responsives Seitenverhältnis einzurichten: CSS-Regel am Container aspect-ratio: w / h.
  • Minimale Überraschung. Wenn die Anfrage nach einem Attribut oder einer Entität fragt, das/die nicht existiert, denke es nicht dazu, sage es. Wenn die Anfrage aus mindestens zwei Diagrammtypen besteht, spalte sie auf.
  • Stil. Verwende präzise englische Anweisungen in allen Diagrammen. Nenne Dinge auf Englisch mit korrekter Groß- und Kleinschreibung. Dekorative Dinge, die nicht zur Klarheit beitragen, sind ausgeschlossen. Barrierefreiheit (>0,7 Kontrast) überall.
  • Inhaltsbearbeitung. Der Dienst gibt Diagramme so aus, dass sie dem von style-guide.md festgelegten Stil entsprechen. Der Benutzer kann den Stil ändern, indem er die Ästhetik-Tokens nach der Generierung anpasst. Verwende für diese Anpassungen die Stil-API.
  • Namespace. Siehe references/index.md für Diagramm-Klassen-Konventionen und Namensraum-Verwaltung.

System- und Build-Imperativ. Verwende tatsächlich gültige HTML-SVG. Verwende ordnungsgemäße Farben. Verwende schöne Schriftarten. Mache keine Fehler bei den Koordinaten. Führe eine Named-Entity-Erkennung auf Anfragepfaden durch.

Verwandte Skills