Get the FREE Ultimate OpenClaw Setup Guide →

mermaid-diagrams

Scanned
npx machina-cli add skill ccheney/robust-skills/mermaid-diagrams --openclaw
Files (1)
SKILL.md
4.7 KB

Mermaid Diagrams

Generate diagrams in markdown that render in GitHub, GitLab, VS Code, Obsidian, Notion.

Quick Start

```mermaid
flowchart LR
    A[Start] --> B{Decision}
    B -->|Yes| C[Action]
    B -->|No| D[End]
```

Quick Decision Tree

What to visualize?
├─ Process, algorithm, decision flow    → flowchart
├─ API calls, service interactions      → sequenceDiagram
├─ Database tables, relationships       → erDiagram
├─ OOP, type hierarchy, domain model    → classDiagram
├─ State machine, lifecycle             → stateDiagram-v2
├─ System architecture, services        → flowchart + subgraphs (or C4Context)
├─ Project timeline, sprints            → gantt
├─ User experience, pain points         → journey
├─ Git branches                         → gitGraph
├─ Data distribution                    → pie
└─ Priority matrix                      → quadrantChart

Diagram Types

TypeDeclarationBest For
Flowchartflowchart LR/TBProcesses, decisions, data flow
SequencesequenceDiagramAPI flows, service calls
ERerDiagramDatabase schemas
ClassclassDiagramTypes, domain models
StatestateDiagram-v2State machines
GanttganttProject timelines
JourneyjourneyUser experience
C4C4ContextSystem architecture
GitgitGraphBranch visualization

Common Patterns

System Architecture

flowchart LR
    subgraph Client
        Browser & Mobile
    end
    subgraph Services
        API --> Auth & Core
    end
    subgraph Data
        DB[(PostgreSQL)]
    end
    Client --> API
    Core --> DB

API Request Flow

sequenceDiagram
    autonumber
    Client->>+API: POST /orders
    API->>Auth: Validate
    Auth-->>API: OK
    API->>+DB: Insert
    DB-->>-API: ID
    API-->>-Client: 201 Created

Database Schema

erDiagram
    USER ||--o{ ORDER : places
    ORDER ||--|{ LINE_ITEM : contains
    USER { uuid id PK; string email UK }
    ORDER { uuid id PK; uuid user_id FK }

State Machine

stateDiagram-v2
    [*] --> Draft
    Draft --> Submitted : submit()
    Submitted --> Approved : approve()
    Submitted --> Rejected : reject()
    Approved --> [*]

Syntax Quick Reference

Flowchart Nodes

[Rectangle]  (Rounded)  {Diamond}  [(Database)]  [[Subroutine]]
((Circle))   >Asymmetric]   {{Hexagon}}

Flowchart Edges

A --> B       # Arrow
A --- B       # Line
A -.-> B      # Dotted arrow
A ==> B       # Thick arrow
A -->|text| B # Labeled

Sequence Arrows

->>   # Solid arrow (request)
-->>  # Dotted arrow (response)
-x    # X end (async)
-)    # Open arrow

ER Cardinality

||--||   # One to one
||--o{   # One to many
}o--o{   # Many to many

Best Practices

  1. Choose the right type — Use decision tree above
  2. Keep focused — One concept per diagram
  3. Use meaningful labels — Not just A, B, C
  4. Direction mattersLR for flows, TB for hierarchies
  5. Group with subgraphs — Organize related nodes

Reference Documentation

FilePurpose
references/FLOWCHARTS.mdNodes, edges, subgraphs, styling
references/SEQUENCE.mdParticipants, messages, activation
references/CLASS-ER.mdClasses, ER diagrams, relationships
references/STATE-JOURNEY.mdStates, user journeys
references/DATA-CHARTS.mdGantt, Pie, Timeline, Quadrant
references/ARCHITECTURE.mdC4, Block, Kanban
references/CHEATSHEET.mdAll syntax quick reference

Resources

Source

git clone https://github.com/ccheney/robust-skills/blob/main/skills/mermaid-diagrams/SKILL.mdView on GitHub

Overview

mermaid-diagrams automatically suggests diagrams when explaining complex systems. It triggers on diagrams, charts, visualizations, flowcharts, sequence diagrams, architecture diagrams, ER diagrams, state machines, Gantt charts, mindmaps, C4, class diagrams, and git graphs. It generates diagrams in Markdown that render in GitHub, GitLab, VS Code, Obsidian, and Notion.

How This Skill Works

When you describe a concept, the skill maps it to a Mermaid type (flowchart, sequenceDiagram, erDiagram, classDiagram, stateDiagram-v2, gantt, journey, C4Context, gitGraph) and returns a ready-to-render Markdown block. It utilizes common patterns like System Architecture, API Request Flow, Database Schema, and State Machine examples to illustrate the appropriate diagram, which you can paste into your Markdown editor.

When to Use It

  • Explaining code behavior or API interactions (use sequenceDiagram)
  • Modeling database schemas and relationships (erDiagram)
  • Mapping system architecture or service interactions (flowchart or C4Context)
  • Representing a state machine or lifecycle (stateDiagram-v2)
  • Planning projects or sprints with timelines (gantt)

Quick Start

  1. Step 1: Decide what you want to visualize and pick a Mermaid type (flowchart, sequenceDiagram, erDiagram, etc.).
  2. Step 2: Create a Markdown code block with ```mermaid and paste your diagram syntax.
  3. Step 3: Render the diagram in your Markdown tool (GitHub, GitLab, VS Code, Obsidian, Notion) and iterate.

Best Practices

  • Choose the right type — follow the Quick Decision Tree to match the visualization.
  • Keep focused — one concept per diagram
  • Use meaningful labels — not just A, B, C
  • Direction matters — LR for flows, TB for hierarchies
  • Group with subgraphs — organize related nodes

Example Use Cases

  • API Request Flow: sequenceDiagram showing Client → API → Auth → DB
  • System Architecture: flowchart with Client, API, Core, and DB interactions
  • Database Schema: erDiagram illustrating USER and ORDER relationships
  • State Machine: order lifecycle from Draft to Approved to [*]
  • Git History: gitGraph visualization of branches and merges

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers