Communitygithub.com

Mermaid Architect - Hierarchische Diagramm- und Dokumentationsf…

Erstellt Mermaid-Diagramme (Flussdiagramm, Sequenz, Klasse, ER, Zustand, C4, Architektur) aus Text oder Quellcode. Standard für GitHub Wiki. Verwenden, wenn ein Diagramm erstellt, Mermaid generiert, Architektur dokumentiert oder Code in ein Diagramm konvertiert werden soll. PlantUML ist nur für verbleibende Typen. Confluence benötigt PNG/SVG sowie den Codeblock.

Was ist Mermaid Architect - Hierarchische Diagramm- und Dokumentationsf…?

Diese Fertigkeit ist ein umfassendes Werkzeug zur automatischen Erstellung und Dokumentation von Mermaid-Diagrammen aus Textbeschreibungen oder Quellcode. Sie analysiert die Benutzeranfrage, identifiziert den Diagrammtyp (z. B. Flussdiagramm, Sequenzdiagramm, Klassendiagramm, ER-Diagramm, Zustandsdiagramm, C4 oder Architekturdiagramm) und lädt die entsprechende Anleitung. Der gesamte Workflow ist resilient mit automatischer Validierung und Fehlerbehebung. Die Fertigkeit ist speziell für GitHub Wiki optimiert und enthält Skripte zur Konvertierung von Mermaid in PNG/SVG, zur Extraktion von Diagrammen aus Markdown und zur Fehlerbehebung. Sie unterstützt auch Unicode-Symbole zur Verbesserung der Diagrammklarheit. Für Confluence und andere Plattformen, die Mermaid nicht direkt rendern, wird die Erstellung von Bilddateien (PNG/SVG) automatisch durchgeführt.

Funktioniert mit✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add spillwavesolutions/design-doc-mermaid

In Ihrer bevorzugten KI fragen

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

Vorschau

Aus dem Skill-README

Beschreibung
API-Sequenz

Dokumentation

Mermaid Architect - Hierarchische Diagramm- und Dokumentationsfertigkeit

Mermaid-Diagramm- und Dokumentationssystem mit spezialisierten Anleitungen und Code-zu-Diagramm-Funktionen.

Inhaltsverzeichnis

Entscheidungsbaum

So funktioniert diese Fertigkeit:

  1. Benutzer stellt eine Anfrage → Fertigkeit analysiert die Absicht
  2. Fertigkeit bestimmt Diagramm-/Dokumenttyp → Lädt die entsprechende Anleitung(en)
  3. KI liest die spezialisierte Anleitung → Erstellt Diagramm/Dokument mit Vorlagen
  4. Ergebnis wird geliefert — Mit Validierungs- und Exportoptionen

Analyse der Benutzerabsicht:

flowchart TD
    Start([Benutzeranfrage]) --> Analyze{Absicht analysieren}

    Analyze -->|"Workflow, Prozess, Geschäftslogik"| Activity[Aktivitätsdiagramm-Anleitung laden<br/>references/guides/diagrams/activity-diagrams.md]
    Analyze -->|"Infrastruktur, Bereitstellung, Cloud"| Deploy[Bereitstellungsdiagramm-Anleitung laden<br/>references/guides/diagrams/deployment-diagrams.md]
    Analyze -->|"Systemarchitektur, Komponenten"| Arch[Architektur-Anleitung laden<br/>references/guides/diagrams/architecture-diagrams.md]
    Analyze -->|"API-Fluss, Interaktionen"| Sequence[Sequenzdiagramm-Anleitung laden<br/>references/guides/diagrams/sequence-diagrams.md]
    Analyze -->|"Klasse, ER, Zustand, Wiki, Walkthrough"| WikiGuide[WikiTicket GitHub-Anleitung laden<br/>references/guides/wiki-ticket-and-github.md]
    Analyze -->|"Code zu Diagramm"| CodeToDiag[Code-zu-Diagramm-Anleitung laden<br/>references/guides/code-to-diagram/ + examples/]
    Analyze -->|"Design-Dokument, vollständige Dokumentation"| DesignDoc[Design-Dokumentvorlage laden<br/>assets/*-design-template.md]
    Analyze -->|"Unicode-Symbole, Icons"| Unicode[Unicode-Symbole-Anleitung laden<br/>references/guides/unicode-symbols/guide.md]
    Analyze -->|"extrahieren, validieren, konvertieren"| Scripts[Python-Skripte verwenden<br/>scripts/extract_mermaid.py<br/>scripts/mermaid_to_image.py]

    Activity --> Generate[Diagramm erstellen]
    Deploy --> Generate
    Arch --> Generate
    Sequence --> Generate
    WikiGuide --> Generate
    CodeToDiag --> Generate
    DesignDoc --> Generate
    Unicode --> Generate
    Scripts --> Execute[Skript ausführen]

    Generate --> Validate{Validieren?}
    Validate -->|Ja| RunValidation[mmdc-Validierung ausführen]
    Validate -->|Nein| Output
    RunValidation --> Output[Ergebnis ausgeben]
    Execute --> Output

    classDef decision fill:#FFD700,stroke:#333,stroke-width:2px,color:black
    classDef guide fill:#90EE90,stroke:#333,stroke-width:2px,color:darkgreen
    classDef action fill:#87CEEB,stroke:#333,stroke-width:2px,color:darkblue

    class Analyze,Validate decision
    class Activity,Deploy,Arch,Sequence,WikiGuide,CodeToDiag,DesignDoc,Unicode,Scripts guide
    class Generate,Execute,RunValidation,Output action

Verfügbare Anleitungen und Ressourcen

Diagrammtyp-Anleitungen (references/guides/diagrams/)

AnleitungVollständiger PfadLaden, wenn Benutzer möchteBeispiele
Aktivitätsdiagrammereferences/guides/diagrams/activity-diagrams.mdWorkflows, Prozesse, Geschäftslogik, Benutzerabläufe, Entscheidungsbäume"Checkout-Ablauf zeigen", "ETL-Pipeline dokumentieren", "Genehmigungsworkflow erstellen"
Bereitstellungsdiagrammereferences/guides/diagrams/deployment-diagrams.mdInfrastruktur, Cloud-Architektur, K8s, serverlos, Netzwerktopologie"AWS-Architektur zeigen", "GCP-Bereitstellung dokumentieren", "K8s-Diagramm erstellen"
Architekturdiagrammereferences/guides/diagrams/architecture-diagrams.mdSystemarchitektur, Komponentendesign, High-Level-Struktur"Systemkomponenten zeigen", "Microservices dokumentieren", "Architekturübersicht"
Sequenzdiagrammereferences/guides/diagrams/sequence-diagrams.mdAPI-Interaktionen, Dienstkommunikation, Anfrage/Antwort-Abläufe"API-Aufrufsequenz zeigen", "Auth-Ablauf dokumentieren", "Dienstinteraktionen"
WikiTicket / GitHub / Confluencereferences/guides/wiki-ticket-and-github.mdDesign-Dokumente, Walkthroughs, Anforderungen, Wiki-Veröffentlichung, Confluence-Bilder"Architektur-Dokument", "Code Walkthrough", "Wiki", "Confluence"

Standard für WikiTicket und GitHub Wiki ist diese Fertigkeit, einschließlich classDiagram, erDiagram und stateDiagram-v2. Senden Sie diese nicht an PlantUML. Wenn GitHub C4 / architecture-beta / block-beta nicht rendern kann, verwenden Sie als Fallback flowchart TD.

Code-zu-Diagramm-Anleitung & Beispiele

RessourceVollständiger PfadWas wird bereitgestellt
Master-Anleitungreferences/guides/code-to-diagram/README.mdVollständiger Workflow zur Analyse jeder Codebasis und zum Extrahieren von Diagrammen
Spring Bootexamples/spring-boot/README.mdController→Service→Repository-Architektur, Bereitstellungskonfiguration, Sequenz aus Methoden, Aktivität aus Geschäftslogik
FastAPIexamples/fastapi/README.mdPython-Async-Muster, Pydantic-Modelle, Dependency Injection, Cloud-Bereitstellung
Reactexamples/react/README.mdKomponentenhierarchie, Zustandsverwaltung, Datenfluss, Build-Pipeline
Python ETLexamples/python-etl/README.mdDatenpipeline, Transformationsschritte, Fehlerbehandlung, Planung
Node/Expressexamples/node-webapp/README.mdMiddleware-Kette, Route-Handler, Async-Muster, Bereitstellung
Java Web Appexamples/java-webapp/README.mdTraditionelles MVC, Servlet-Container, WAR-Bereitstellung

Design-Dokumentvorlagen

VorlageVollständiger PfadVerwendung fürLaden, wenn
Architektur-Designassets/architecture-design-template.mdSystemweite Architektur"Architektur-Dokument erstellen", "Systemdesign dokumentieren"
API-Designassets/api-design-template.mdAPI-Spezifikationen"API-Design-Dokument", "REST-API dokumentieren"
Feature-Designassets/feature-design-template.mdFeature-Planung"Feature-Design", "Neues Feature planen"
Datenbank-Designassets/database-design-template.mdDatenbankschema"Datenbank-Design", "Schema dokumentieren"
System-Designassets/system-design-template.mdKomplettes System"System-Design-Dokument", "Volle Systemdokumentation"

Unicode-Symbole-Anleitung

Vollständiger Pfad: references/guides/unicode-symbols/guide.md

Laden, wenn Benutzer erwähnt: "Unicode-Symbole", "Emojis in Diagrammen", "semantische Icons", "Symbole hinzufügen"

Schnellreferenz:

  • 📦 Infrastruktur: ☁️ 🌐 🔌 📡 🗄️
  • ⚙️ Berechnung: ⚙️ ⚡ 🔄 ♻️ 🚀 💨
  • 💾 Daten: 💾 📦 📊 📈 🗃️ 🧊
  • 📨 Nachrichten: 📨 📬 📤 📥 🐰 📢
  • 🔐 Sicherheit: 🔐 🔑 🛡️ 🚪 👤 🎫
  • 📝 Überwachung: 📝 📊 🚨 ⚠️ ✅ ❌

Python-Skripte (scripts/)

SkriptVerwendung fürLaden, wenn
extract_mermaid.pyDiagramme aus Markdown extrahieren, Syntax validieren, durch Bilder ersetzen"Diagramme extrahieren", "Mermaid validieren", "alle Diagramme finden"
mermaid_to_image.py.mmd in PNG/SVG konvertieren, Batch-Konvertierung, benutzerdefinierte Designs"in Bild konvertieren", "Diagramm rendern", "PNG erstellen"
resilient_diagram.pyVollständiger Workflow: .mmd speichern, Bild generieren, validieren, Fehlerbehebung"Diagramm generieren", "Diagramm mit Validierung erstellen", "resilientes Diagramm"

GitHub Wiki, WikiTicket und Confluence

Laden Sie references/guides/wiki-ticket-and-github.md für WikiTicket-Design-Dokumente, Code-Walkthroughs, Anforderungen, GitHub-Wiki oder Confluence.

ZielWas liefern
GitHub Wiki / GFMBegrenzter mermaid-Block. GitHub rendert class, ER, state, sequence, flowchart, C4.
Confluence / Notion / Word / PDFAuch PNG oder SVG rendern (scripts/resilient_diagram.py oder mmdc) und das Bild hochladen. Verlassen Sie sich nicht darauf, dass Confluence Mermaid rendert.

PlantUML ist opt-in für Salt-Drahtmodelle, Use Case, Timing, ArchiMate, nwdiag und WBS. Diese werden immer als PNG oder SVG geliefert.

Nutzungsmuster

Häufige Anfragemuster und Anleitungsauswahl. Siehe Wann verwende ich was? für die vollständige Zuordnung.

MusterBeispielanfrageZu ladende Anleitungen
Einzelnes Diagramm"Aktivitätsdiagramm für Login-Ablauf erstellen"Diagrammtyp-Anleitung + Unicode-Symbole
Code-zu-Diagramm"Bereitstellung aus application.yml generieren"Framework-Beispiel + Bereitstellungsanleitung
Design-Dokument"API-Design-Dokument erstellen"Vorlage aus assets/ + relevante Diagrammanleitungen
Extrahieren/Validieren"Diagramme aus design.md extrahieren"scripts/extract_mermaid.py verwenden
Batch-Konvertierung"Alle .mmd in PNG konvertieren"scripts/mermaid_to_image.py verwenden

Resilienter Workflow

KRITISCH: Dies ist der empfohlene Ansatz für ALLE Diagrammgenerierungen. Er stellt Validierung, Fehlerbehebung und konsistente Dateiorganisation sicher.

Vollständige Anleitung: references/guides/resilient-workflow.md

Workflow-Übersicht

flowchart LR
    A[1. Typ identifizieren] --> B[2. .mmd + Bild speichern]
    B --> C{3. Gültig?}
    C -->|Ja| D[4. Zu Markdown hinzufügen]
    C -->|Nein| E[5. Fehlerbehebung]
    E --> F{Fix gefunden?}
    F -->|Ja| A
    F -->|Nein| G[Extern suchen]
    G --> A

    classDef step fill:#90EE90,stroke:#333,color:darkgreen
    classDef decision fill:#FFD700,stroke:#333,color:black
    class A,B,D,E,G step
    class C,F decision

Schlüsselprinzip

Fügen Sie NIEMALS ein Diagramm zu Markdown hinzu, bevor es die Validierung besteht. Dadurch werden defekte Diagramme in der Dokumentation vermieden.

Verwendung des Skripts (Empfohlen)

# Mit vollständiger Fehlerbehebung generieren
python scripts/resilient_diagram.py \
    --code "flowchart TD; A-->B" \
    --markdown-file design_doc \
    --diagram-num 1 \
    --title "process_flow" \
    --format png \
    --json

Ausgabe: Sowohl .mmd- als auch .png-Dateien im Verzeichnis ./diagrams/.

Dateibenennungskonvention

./diagrams/<markdown_file>_<num>_<type>_<title>.mmd
./diagrams/<markdown_file>_<num>_<type>_<title>.png

Beispiel: ./diagrams/api_design_01_sequence_auth_flow.png

Priorität der Fehlerbehebung

Wenn die Validierung fehlschlägt, führt der Workflow automatisch Folgendes durch:

  1. Fehlerbehebungsanleitung prüfen - references/guides/troubleshooting.md (28 dokumentierte Fehler)
  2. Mit perplexity suchen - perplexity_ask MCP für Syntaxfragen
  3. Mit brave suchen - brave_web_search MCP für aktuelle Lösungen
  4. Gemini fragen - gemini-Fertigkeit für alternative Perspektive
  5. Allgemeine Suche - WebSearch-Werkzeug als Fallback

Manuelle Fallback-Schritte

Wenn das Skript nicht verfügbar ist:

  1. Diagrammtyp identifizieren aus der ersten Zeile (flowchart, sequence, etc.)
  2. Referenzanleitung laden aus references/guides/diagrams/
  3. Speichern in ./diagrams/<markdown_file>_<num>_<type>_<title>.mmd
  4. Validieren: mmdc -i file.mmd -o file.png -b transparent
  5. Bei Fehler: Suche in references/guides/troubleshooting.md nach passendem Fehler
  6. Wenn nicht gefunden: Suchwerkzeuge in der obigen Prioritätsreihenfolge verwenden
  7. Referenz hinzufügen: ![Beschreibung](./diagrams/dateiname.png)

Muster 6: Resiliente Diagrammgenerierung

Benutzer: "Erstelle ein Sequenzdiagramm und füge es dem Design-Dokument hinzu"

Fertigkeit-Aktionen:

  1. Absicht identifizieren: Diagrammgenerierung + Markdown-Integration
  2. Workflow-Anleitung laden: references/guides/resilient-workflow.md
  3. Diagrammtyp identifizieren: Sequenz
  4. Diagrammanleitung laden: references/guides/diagrams/sequence-diagrams.md
  5. Mermaid-Code mit Vorlagen generieren
  6. Resilienten Workflow ausführen:
    python scripts/resilient_diagram.py \
        --code "[generierter Code]" \
        --markdown-file design_doc \
        --diagram-num 1 \
        --title "api_sequence" \
        --json
    
  7. Wenn Validierung fehlschlägt → Fehlerbehebungsfix anwenden → Wiederholen
  8. Bei Erfolg → ![API-Sequenz](./diagrams/design_doc_01_sequence_api_sequence.png) zu Markdown hinzufügen

Unicode-Semantiksymbole

Verwenden Sie immer Unicode-Symbole, um die Diagrammklarheit zu verbessern. Häufige Muster:

Infrastruktur & Bereitstellung

graph TB
    Client[👤 Benutzer] --> LB[🌐 Load Balancer]
    LB --> App1[⚙️ App-Server 1]
    LB --> App2[⚙️ App-Server 2]
    App1 --> DB[(💾 Datenbank)]
    App1 --> Cache[(⚡ Redis)]

Aktivitätsablauf mit Zuständen

flowchart TD
    Start([🚀 Start]) --> Process[⚙️ Daten verarbeiten]
    Process --> Check{✓ Gültig?}
    Check -->|Ja| Save[💾 Speichern]
    Check -->|Nein| Error[❌ Fehler]
    Save --> Complete([✅ Abgeschlossen])

Microservices-Architektur

graph TB
    API[🌐 API-Gateway] --> Auth[🔐 Authentifizierungsdienst]
    API --> Orders[📋 Bestelldienst]
    Orders --> Queue[📬 Nachrichtenwarteschlange]
    Queue --> Worker[⚙️ Hintergrundarbeiter]
    Worker --> Storage[📦 Objektspeicher]

Für die vollständige Symbolreferenz laden Sie: references/guides/unicode-symbols/guide.md

Python-Dienstprogramme

Mermaid-Diagramme extrahieren

# Alle Diagramme auflisten
python scripts/extract_mermaid.py dokument.md --list-only

# In separate Dateien extrahieren
python scripts/extract_mermaid.py dokument.md --output-dir diagrams/

# Alle Diagramme validieren
python scripts/extract_mermaid.py dokument.md --validate

# Mit Bildreferenzen ersetzen (für Confluence-Upload)
python scripts/extract_mermaid.py dokument.md --replace-with-images \
  --image-format png --output-markdown ausgabe.md

In Bilder konvertieren

# Einzelne Konvertierung
python scripts/mermaid_to_image.py diagramm.mmd ausgabe.png

# Mit benutzerdefinierten Einstellungen
python scripts/mermaid_to_image.py diagramm.mmd ausgabe.svg \
  --theme dunkel --background weiß --width 1200

# Verzeichnis stapelweise konvertieren
python scripts/mermaid_to_image.py diagrams/ ausgabe/ --format png --recursive

# Von stdin
echo "graph TD; A-->B" | python scripts/mermaid_to_

…

[gekürzt für die Übersetzung]

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills