Install
openclaw skills install mermaid-image-generatorGenerate PNG/SVG images from Mermaid diagram syntax using mermaid.ink API. Zero dependencies - uses only Node.js built-in modules and curl. Use when users ne...
openclaw skills install mermaid-image-generatorConvert Mermaid diagram syntax to PNG/SVG images using the mermaid.ink online rendering API. Zero dependencies - uses only Node.js built-in modules and curl.
# From a .mmd file
node scripts/mermaid-to-image.js diagram.mmd output.png
# From stdin
echo "flowchart LR; A --> B" | node scripts/mermaid-to-image.js - output.png
# Generate SVG instead
node scripts/mermaid-to-image.js diagram.mmd output.svg
Use this skill when:
node scripts/mermaid-to-image.js <input> <output>
Input options:
diagram.mmd- (pipe Mermaid code directly)Output format: Determined by file extension (.png or .svg)
Example 1: Convert file to PNG
node scripts/mermaid-to-image.js flowchart.mmd flowchart.png
Example 2: Pipe from stdin
cat <<EOF | node scripts/mermaid-to-image.js - sequence.png
sequenceDiagram
Alice->>Bob: Hello
Bob-->>Alice: Hi
EOF
Example 3: Generate SVG for web
node scripts/mermaid-to-image.js architecture.mmd architecture.svg
This skill supports all Mermaid diagram types:
| Type | Use Case |
|---|---|
flowchart | Processes, algorithms, user journeys |
sequenceDiagram | API flows, interactions over time |
classDiagram | OOP design, domain models |
erDiagram | Database schemas |
stateDiagram | State machines |
gantt | Project timelines |
pie | Proportional data |
gitGraph | Git branching strategies |
flowchart LR
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
sequenceDiagram
participant User
participant API
participant Database
User->>API: POST /login
API->>Database: Query
Database-->>API: Result
API-->>User: Response
classDiagram
Animal <|-- Duck
Animal <|-- Fish
Animal: +int age
Animal: +String gender
Animal: +isMammal()
Service: mermaid.ink Endpoints:
https://mermaid.ink/img/{base64_code}https://mermaid.ink/svg/{base64_code}Advantages:
Limitations:
The script handles common errors:
❌ File not found: diagram.mmd
❌ API request failed: 400 Bad Request
❌ Failed to connect to mermaid.ink: Connection timeout
Troubleshooting:
When creating diagrams for users:
.mmd file or use stdinExample workflow:
# 1. Create diagram
cat > openclaw-flow.mmd <<EOF
flowchart LR
User --> OpenClaw
OpenClaw --> Tools
EOF
# 2. Convert to image
node scripts/mermaid-to-image.js openclaw-flow.mmd openclaw-flow.png
# 3. Use the image (send via message, save, etc.)
%% for in-diagram documentation