Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create diagrams and visualizations using Mermaid syntax. Use when generating flowcharts, sequence diagrams, class diagrams, entity-relationship diagrams, Gantt charts, or any visual documentation. Triggers on Mermaid, flowchart, sequence diagram, class diagram, ER diagram, Gantt chart, diagram, visualization.
.claude/skills/nicepkg-mermaid-diagrams/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-15 | ✗→✓ | ▲ Improved | 212% | 0% |
| case-20 | ✓→✗ | ▼ Worse | 168% | 0% |
| case-22 | ✓→✗ | ▼ Worse | 364% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 264% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 346% | 0% |
Create diagrams and visualizations using Mermaid markdown syntax.
Mermaid diagrams are written in markdown code blocks with mermaid as the language identifier.
mermaidflowchart TD A[Start] --> B{Is it valid?} B -->|Yes| C[Process data] B -->|No| D[Show error] C --> E[Save to database] D --> F[Return to input] E --> G[End] F --> A
flowchart TD %% TD = top-down, LR = left-right, RL, BT
A[Rectangle] %% Square brackets = rectangle
B(Rounded) %% Parentheses = rounded rectangle
C{Diamond} %% Curly braces = diamond/decision
D[[Subroutine]] %% Double brackets = subroutine
E[(Database)] %% Cylinder shape
F((Circle)) %% Double parentheses = circle
G>Asymmetric] %% Flag shape
A --> B %% Arrow
B --- C %% Line without arrow
C -.-> D %% Dotted arrow
D ==> E %% Thick arrow
E --text--> F %% Arrow with label
F -->|label| G %% Alternative label syntaxmermaidflowchart TB subgraph Frontend A[React App] --> B[Components] B --> C[Hooks] end subgraph Backend D[API Server] --> E[Database] end A -->|HTTP| D
mermaidsequenceDiagram participant U as User participant C as Client participant S as Server participant D as Database U->>C: Click submit C->>S: POST /api/data activate S S->>D: INSERT query D-->>S: Success S-->>C: 200 OK deactivate S C-->>U: Show success message
sequenceDiagram
participant A as Alice
participant B as Bob
A->>B: Solid line with arrow
A-->>B: Dotted line with arrow
A-)B: Solid line with open arrow
A--)B: Dotted line with open arrow
activate B %% Activation box
B->>A: Response
deactivate B
Note over A,B: This is a note
Note right of A: Note on right
alt Condition true
A->>B: Do this
else Condition false
A->>B: Do that
end
loop Every minute
A->>B: Ping
end
opt Optional action
A->>B: Maybe do this
endmermaidclassDiagram class User { +String id +String name +String email +login() +logout() } class Order { +String id +Date createdAt +calculateTotal() } class Product { +String id +String name +Number price } User "1" --> "*" Order : places Order "*" --> "*" Product : contains
classDiagram
class ClassName {
+publicField
-privateField
#protectedField
~packageField
+publicMethod()
-privateMethod()
}
ClassA <|-- ClassB : Inheritance
ClassC *-- ClassD : Composition
ClassE o-- ClassF : Aggregation
ClassG --> ClassH : Association
ClassI ..> ClassJ : Dependency
ClassK ..|> ClassL : RealizationmermaiderDiagram USER ||--o{ ORDER : places ORDER ||--|{ LINE_ITEM : contains PRODUCT ||--o{ LINE_ITEM : "is in" USER { string id PK string email UK string name datetime created_at } ORDER { string id PK string user_id FK datetime created_at string status } PRODUCT { string id PK string name decimal price } LINE_ITEM { string id PK string order_id FK string product_id FK int quantity }
||--|| One to one
||--o{ One to zero or more
||--|{ One to one or more
}o--o{ Zero or more to zero or moremermaidgantt title Project Timeline dateFormat YYYY-MM-DD section Planning Requirements :a1, 2024-01-01, 7d Design :a2, after a1, 14d section Development Backend API :b1, after a2, 21d Frontend :b2, after a2, 28d Integration :b3, after b1, 7d section Testing QA Testing :c1, after b3, 14d Bug Fixes :c2, after c1, 7d section Launch Deployment :milestone, after c2, 0d
mermaidstateDiagram-v2 [*] --> Idle Idle --> Processing: Submit Processing --> Success: Valid Processing --> Error: Invalid Success --> Idle: Reset Error --> Idle: Retry Success --> [*]
mermaidpie title Browser Market Share "Chrome" : 65 "Safari" : 19 "Firefox" : 10 "Edge" : 4 "Other" : 2
mermaidgitGraph commit commit branch feature checkout feature commit commit checkout main merge feature commit branch hotfix checkout hotfix commit checkout main merge hotfix
mermaidjourney title User Checkout Experience section Browse View products: 5: User Add to cart: 4: User section Checkout Enter shipping: 3: User Enter payment: 2: User Confirm order: 5: User section Post-Purchase Receive confirmation: 5: User, System Track shipment: 4: User
mermaidmindmap root((Project)) Frontend React TypeScript Tailwind Backend Node.js PostgreSQL Redis DevOps Docker Kubernetes CI/CD
mermaidflowchart LR A[Start]:::green --> B[Process]:::blue --> C[End]:::red classDef green fill:#22c55e,color:#fff classDef blue fill:#3b82f6,color:#fff classDef red fill:#ef4444,color:#fff
tsximport mermaid from 'mermaid'; import { useEffect, useRef } from 'react'; mermaid.initialize({ startOnLoad: true, theme: 'neutral', // default, dark, forest, neutral securityLevel: 'loose', }); interface MermaidProps { chart: string; id?: string; } export function Mermaid({ chart, id = 'mermaid-diagram' }: MermaidProps) { const ref = useRef<HTMLDivElement>(null); useEffect(() => { if (ref.current) { mermaid.render(id, chart).then(({ svg }) => { if (ref.current) { ref.current.innerHTML = svg; } }); } }, [chart, id]); return <div ref={ref} className="mermaid-container" />; } // Usage <Mermaid chart={` flowchart LR A --> B --> C `} />
TD (top-down), LR (left-right), BT (bottom-top), RL (right-left)%% for commentsA["Label with (parentheses)"]<br/> for multi-line labels| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 4,712 | 14,077 | +199% | 1 | 1 | 0% | 734 | 2,674 | +264% | 0 | 0 | — |
case-02 | pass→pass | 3,712 | 2,104 | -43% | 1 | 1 | 0% | 534 | 2,379 | +346% | 0 | 0 | — |
case-03 | pass→pass | 4,883 | 2,349 | -52% | 1 | 1 | 0% | 750 | 2,464 | +229% | 0 | 0 | — |
case-04 | pass→pass | 9,198 | 4,416 | -52% | 1 | 1 | 0% | 1,526 | 2,914 | +91% | 0 | 0 | — |
case-05 | pass→pass | 5,658 | 3,499 | -38% | 1 | 1 | 0% | 928 | 2,600 | +180% | 0 | 0 | — |
case-06 | pass→pass | 7,464 | 3,344 | -55% | 1 | 1 | 0% | 1,299 | 2,640 | +103% | 0 | 0 | — |
case-07 | pass→pass | 5,400 | 2,361 | -56% | 1 | 1 | 0% | 962 | 2,407 | +150% | 0 | 0 | — |
case-08 | pass→pass | 5,794 | 3,273 | -44% | 1 | 1 | 0% | 853 | 2,520 | +195% | 0 | 0 | — |
case-09 | pass→pass | 4,483 | 2,331 | -48% | 1 | 1 | 0% | 752 | 2,432 | +223% | 0 | 0 | — |
case-10 | pass→pass | 4,249 | 2,861 | -33% | 1 | 1 | 0% | 766 | 2,609 | +241% | 0 | 0 | — |
case-11 | pass→pass | 3,330 | 2,611 | -22% | 1 | 1 | 0% | 478 | 2,441 | +411% | 0 | 0 | — |
case-12 | pass→pass | 4,806 | 1,902 | -60% | 1 | 1 | 0% | 724 | 2,412 | +233% | 0 | 0 | — |
case-13 | pass→pass | 8,925 | 3,619 | -59% | 1 | 1 | 0% | 1,435 | 2,691 | +88% | 0 | 0 | — |
case-14 | pass→pass | 4,012 | 1,401 | -65% | 1 | 1 | 0% | 607 | 2,327 | +283% | 0 | 0 | — |
case-15 | fail→pass | 4,959 | 3,240 | -35% | 1 | 1 | 0% | 834 | 2,604 | +212% | 0 | 0 | — |
case-16 | pass→pass | 11,090 | 9,603 | -13% | 1 | 1 | 0% | 1,932 | 4,014 | +108% | 0 | 0 | — |
case-17 | pass→pass | 2,939 | 1,510 | -49% | 1 | 1 | 0% | 431 | 2,331 | +441% | 0 | 0 | — |
case-18 | pass→pass | 4,419 | 2,531 | -43% | 1 | 1 | 0% | 678 | 2,440 | +260% | 0 | 0 | — |
case-19 | pass→pass | 4,695 | 3,019 | -36% | 1 | 1 | 0% | 753 | 2,536 | +237% | 0 | 0 | — |
case-20 | pass→fail | 7,724 | 7,962 | +3% | 1 | 1 | 0% | 1,319 | 3,532 | +168% | 0 | 0 | — |
case-21 | pass→pass | 5,022 | 4,174 | -17% | 1 | 1 | 0% | 816 | 2,802 | +243% | 0 | 0 | — |
case-22 | pass→fail | 4,065 | 6,549 | +61% | 1 | 1 | 0% | 687 | 3,191 | +364% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of -25 percentage points is the difference between those two pass rates over the 22 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.