Create Mermaid diagrams in Obsidian including flowcharts, sequence diagrams, class diagrams, and more. Use when visualizing processes, system architectures, workflows, or any structured relationships in Obsidian notes.
From obsidian-blocksnpx claudepluginhub bityoungjae/marketplace --plugin obsidian-blocksThis skill uses the workspace's default tool permissions.
architecture.mdblock.mdclass-diagram.mder-diagram.mdflowchart.mdgantt.mdgitgraph.mdjourney.mdmindmap.mdpie.mdquadrant-chart.mdreference.mdsankey.mdsequence.mdstate.mdtimeline.mdxychart.mdGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Obsidian has built-in Mermaid support. Use fenced code blocks with mermaid language identifier.
For common syntax (styling, comments, themes), see reference.md.
Rendering Differences: Obsidian's Mermaid version may lag behind mermaid.js releases. Some cutting-edge features may not work.
Theme Interaction: Diagram colors adapt to Obsidian theme. Use explicit styles for consistent appearance across themes.
Performance: Very large diagrams (50+ nodes) may slow down rendering. Split into multiple diagrams if needed.
Export: PDF export converts diagrams to images. For external sharing, capture as PNG/SVG.
No JavaScript: Click events and JavaScript callbacks are disabled for security.
| Use Case | Diagram Type | Keyword |
|---|---|---|
| Process flow, decision trees | Flowchart | flowchart |
| API calls, message passing | Sequence | sequenceDiagram |
| OOP design, relationships | Class | classDiagram |
| Project timeline, scheduling | Gantt | gantt |
| State machine, lifecycle | State | stateDiagram-v2 |
| Git branching strategy | Gitgraph | gitGraph |
| Brainstorming, hierarchies | Mindmap | mindmap |
| Proportions, percentages | Pie Chart | pie |
| Database schema, entities | ER Diagram | erDiagram |
| User experience steps, satisfaction | User Journey | journey |
| Historical events, milestones | Timeline | timeline |
| Priority matrix, 2D positioning | Quadrant Chart | quadrantChart |
| Flow visualization, proportional bands | Sankey Diagram | sankey-beta |
| Numerical data visualization | XY Chart | xychart-beta |
| Precise element positioning, layouts | Block Diagram | block-beta |
| Cloud services, service relationships | Architecture | architecture-beta |
flowchart TD
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
Key syntax:
TD (top-down), LR (left-right), BT, RL[rect], (rounded), {diamond}, [(cylinder)], ((circle))-->, -.-> (dotted), ==> (thick)-->|text| or -- text -->For details: flowchart.md
sequenceDiagram
participant C as Client
participant S as Server
participant D as Database
C->>S: HTTP Request
activate S
S->>D: Query
D-->>S: Result
S-->>C: Response
deactivate S
Key syntax:
->> (sync), -->> (response), -) (async)activate/deactivate or +/- suffixloop, alt/else, opt, par/and, criticalNote right of A: text, Note over A,B: textFor details: sequence.md
classDiagram
class Animal {
+String name
+int age
+makeSound() void
}
class Dog {
+fetch() void
}
Animal <|-- Dog : extends
Key syntax:
+ public, - private, # protected, ~ package<|-- inheritance, *-- composition, o-- aggregation, --> association+method(args) returnTypeFor details: class-diagram.md
gantt
title Project Timeline
dateFormat YYYY-MM-DD
section Planning
Requirements :a1, 2024-01-01, 7d
Design :a2, after a1, 5d
section Development
Implementation :2024-01-15, 14d
Testing :7d
Key syntax:
dateFormat: Date format (YYYY-MM-DD, etc.)name :id, start, duration or name :after id, durationdone, active, crit, milestoneFor details: gantt.md
stateDiagram-v2
[*] --> Idle
Idle --> Processing : start
Processing --> Success : complete
Processing --> Error : fail
Success --> [*]
Error --> Idle : retry
Key syntax:
[*]State1 --> State2 : eventstate Name { ... }state fork_name <<fork>>, <<join>>For details: state.md
gitGraph
commit id: "init"
branch develop
checkout develop
commit id: "feat-1"
commit id: "feat-2"
checkout main
merge develop id: "v1.0" tag: "release"
Key syntax:
commit: Add commit, optional id:, tag:, type:branch name: Create branchcheckout name: Switch branchmerge name: Merge branchFor details: gitgraph.md
mindmap
root((Project))
Frontend
React
TypeScript
Backend
Node.js
PostgreSQL
DevOps
Docker
CI/CD
Key syntax:
root((circle)), (rounded), [square], ))cloud((For details: mindmap.md
pie showData
title Browser Market Share
"Chrome" : 65
"Safari" : 19
"Firefox" : 8
"Edge" : 5
"Other" : 3
Key syntax:
title: Optional chart titleshowData: Display values on segments"Label" : valueFor details: pie.md
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER {
int id PK
string email UK
string name
}
Key syntax:
ENTITY_NAMEtype name [PK/FK/UK]||--o{ (one to many), ||--|| (one to one)ENTITY1 REL ENTITY2 : labelFor details: er-diagram.md
journey
title Customer Support
section Contact
Submit ticket: 2: Customer
Receive notice: 4: Agent
section Resolution
Troubleshoot issue: 3: Agent
Confirm solution: 5: Customer
Key syntax:
section nameTask name: score: actorFor details: journey.md
timeline
title Product Roadmap
section 2023
Q1 2023 : MVP launch
Q4 2023 : v1.0 release
section 2024
Q2 2024 : Major features
Q4 2024 : v2.0
Key syntax:
period : eventperiod : event1 : event2For details: timeline.md
quadrantChart
title Feature Prioritization
x-axis Effort --> Value
y-axis Complexity --> Impact
Dark Mode: [0.4, 0.7]
Search: [0.6, 0.8]
Export PDF: [0.7, 0.6]
Fix UI Bug: [0.2, 0.3]
Key syntax:
x-axis label --> label and y-axis label --> labelName: [x, y] (coordinates 0.0-1.0)For details: quadrant-chart.md
sankey-beta
A,B,10
A,C,15
B,D,8
C,D,22
Key syntax:
source, target, valueFor details: sankey.md
xychart-beta
title "Sales Data"
x-axis [Jan, Feb, Mar, Apr, May]
y-axis "Revenue" 0 --> 100
line [30, 45, 55, 70, 85]
Key syntax:
xychart-beta or xychart-beta horizontal[categories] or min --> max"label" min --> maxline [values] or bar [values]For details: xychart.md
block-beta
columns 2
A["Frontend"]:1
B["Backend"]:1
C["Database"]:2
style A fill:#e3f2fd,stroke:#1565c0,color:#0d47a1
style B fill:#f3e5f5,stroke:#7b1fa2,color:#4a148c
style C fill:#e8f5e9,stroke:#2e7d32,color:#1b5e20
Key syntax:
ID["Label"]:SPAN - Each block on new linecolumns N - Define layout widthstyle ID fill:#hex,stroke:#hex,color:#hex:N suffix - How many columns block occupiesFor details: block.md
architecture-beta
group Cloud(cloud)[Cloud Infrastructure]
service web(server)[Web Server] in Cloud
service api(server)[API Server] in Cloud
service db(database)[Database]
web:R --> L:api
api:R --> L:db
Key syntax:
group {id}({icon})[{label}] - Organize servicesservice {id}({icon})[{label}] (in {parent})? - Available icons: server, database, cloud, disk, internetin {parent_id} - Place service/group inside parent group{id1}:{pos} {arrow} {pos}:{id2} - Position: L(eft), R(ight), T(op), B(ottom)--> (right), <-- (left), -- (both)For details: architecture.md
flowchart LR
A[Normal] --> B[Styled]
style B fill:#f96,stroke:#333,stroke-width:2px
flowchart LR
A:::highlight --> B --> C:::highlight
classDef highlight fill:#ff0,stroke:#f00,stroke-width:2px
flowchart TD
%% This is a comment
A --> B
For complete documentation on common features:
For diagram-specific guides: