Generates text-based software diagrams using Mermaid syntax, supporting types such as flowcharts, sequence diagrams, class diagrams, ERDs, and C4 architecture views. It converts logical descriptions of systems, processes, or data structures into valid, renderable Mermaid code blocks.
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when the user asks to visualize, map out, or document software architecture, database schemas, or process flows using Mermaid. It is appropriate for requests to create specific diagram types like sequence diagrams for API interactions, class diagrams for OOP design, or flowcharts for user journeys. It is also suitable when the user wants to convert a textual description of a system into a visual representation that can be rendered in Markdown or similar tools.
Create professional software diagrams using Mermaid's text-based syntax. Mermaid renders diagrams from simple text definitions, making diagrams version-controllable, easy to update, and maintainable alongside code.
All Mermaid diagrams follow this pattern:
diagramType
definition content
Key principles:
- First line declares diagram type (e.g., classDiagram, sequenceDiagram, flowchart)
- Use %% for comments
- Line breaks and indentation improve readability but aren't required
- Unknown words break diagrams; parameters fail silently
Choose the right diagram type:
Entity relationships and dependencies
Sequence Diagrams - Temporal interactions, message flows
Method call sequences
Flowcharts - Processes, algorithms, decision trees
Deployment pipelines
Entity Relationship Diagrams (ERD) - Database schemas
Schema design
C4 Diagrams - Software architecture at multiple levels
Code (class/interface level)
State Diagrams - State machines, lifecycle states
classDiagram
Title -- Genre
Title *-- Season
Title *-- Review
User --> Review : creates
class Title {
+string name
+int releaseYear
+play()
}
class Genre {
+string name
+getTopTitles()
}
sequenceDiagram
participant User
participant API
participant Database
User->>API: POST /login
API->>Database: Query credentials
Database-->>API: Return user data
alt Valid credentials
API-->>User: 200 OK + JWT token
else Invalid credentials
API-->>User: 401 Unauthorized
end
flowchart TD
Start([User visits site]) --> Auth{Authenticated?}
Auth -->|No| Login[Show login page]
Auth -->|Yes| Dashboard[Show dashboard]
Login --> Creds[Enter credentials]
Creds --> Validate{Valid?}
Validate -->|Yes| Dashboard
Validate -->|No| Error[Show error]
Error --> Login
erDiagram
USER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
PRODUCT ||--o{ LINE_ITEM : includes
USER {
int id PK
string email UK
string name
datetime created_at
}
ORDER {
int id PK
int user_id FK
decimal total
datetime created_at
}
For in-depth guidance on specific diagram types, see:
%% comments to explain complex relationships.mmd files alongside code for easy updatesConfigure diagrams using frontmatter:
---
config:
theme: base
themeVariables:
primaryColor: "#ff6b6b"
---
flowchart LR
A --> B
Available themes: default, forest, dark, neutral, base
Layout options:
- layout: dagre (default) - Classic balanced layout
- layout: elk - Advanced layout for complex diagrams (requires integration)
Look options:
- look: classic - Traditional Mermaid style
- look: handDrawn - Sketch-like appearance
Native support in: - GitHub/GitLab - Automatically renders in Markdown - VS Code - With Markdown Mermaid extension - Notion, Obsidian, Confluence - Built-in support
Export options:
- Mermaid Live Editor - Online editor with PNG/SVG export
- Mermaid CLI - npm install -g @mermaid-js/mermaid-cli then mmdc -i input.mmd -o output.png
- Docker - docker run --rm -v $(pwd):/data minlag/mermaid-cli -i /data/input.mmd -o /data/output.png
{} in comments, use proper escape sequences for special charactersAlways diagram when: - Starting new projects or features - Documenting complex systems - Explaining architecture decisions - Designing database schemas - Planning refactoring efforts - Onboarding new team members
Use diagrams to: - Align stakeholders on technical decisions - Document domain models collaboratively - Visualize data flows and system interactions - Plan before coding - Create living documentation that evolves with code
LICENSEREADME.mdSKILL.mdreferences/advanced-features.mdreferences/architecture-diagrams.mdreferences/c4-diagrams.mdreferences/class-diagrams.mdreferences/erd-diagrams.mdreferences/flowcharts.mdreferences/sequence-diagrams.mdVendored from softaworks/agent-toolkit, commit 3027f20f3181, path skills/mermaid-diagrams, licence MIT. The upstream licence file ships inside the skill.