🧪 Skills
Mermaid Image Generator
Generate 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...
v1.0.0
Description
name: mermaid-image-generator description: Generate 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 need to convert Mermaid code to images, create diagrams for presentations/PPTs, visualize flowcharts/class diagrams/sequence diagrams, or generate shareable diagram images. Supports both file input and stdin.
Mermaid Image Generator
Convert 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.
Quick Start
# 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
When to Use This Skill
Use this skill when:
- User asks to "draw a diagram", "create a flowchart", "make a visual"
- User needs diagram images for PPTs, documentation, or presentations
- User wants to convert Mermaid code to shareable image files
- Local Mermaid CLI (mmdc) is unavailable or has dependency issues
Script Usage
Basic Conversion
node scripts/mermaid-to-image.js <input> <output>
Input options:
- File path:
diagram.mmd - Stdin:
-(pipe Mermaid code directly)
Output format: Determined by file extension (.png or .svg)
Examples
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
Mermaid Diagram Types
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 |
Example Mermaid Code
Flowchart
flowchart LR
A[Start] --> B{Decision}
B -->|Yes| C[Action 1]
B -->|No| D[Action 2]
C --> E[End]
D --> E
Sequence Diagram
sequenceDiagram
participant User
participant API
participant Database
User->>API: POST /login
API->>Database: Query
Database-->>API: Result
API-->>User: Response
Class Diagram
classDiagram
Animal <|-- Duck
Animal <|-- Fish
Animal: +int age
Animal: +String gender
Animal: +isMammal()
API Details
Service: mermaid.ink Endpoints:
- PNG:
https://mermaid.ink/img/{base64_code} - SVG:
https://mermaid.ink/svg/{base64_code}
Advantages:
- ✅ No local dependencies (no Chrome/Puppeteer needed)
- ✅ Free and fast
- ✅ Returns high-quality PNG/SVG
- ✅ Works in headless environments
Limitations:
- Requires internet connection
- Diagram code is sent to external service (don't use for sensitive data)
Error Handling
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:
- Check internet connectivity
- Verify Mermaid syntax at https://mermaid.live
- Ensure output directory exists (script creates it automatically)
Integration Pattern
When creating diagrams for users:
- Write Mermaid code → Save to
.mmdfile or use stdin - Run conversion script → Generate PNG/SVG
- Send/deliver image → Attach to response or save to specified location
Example 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.)
Best Practices
- Keep diagrams simple - Under 15 nodes for readability
- Use meaningful labels - Self-documenting diagrams
- Test syntax first - Validate at mermaid.live before converting
- Choose format wisely - PNG for PPTs, SVG for web/docs
- Add comments - Use
%%for in-diagram documentation
Security Notes
- Diagram code is sent to mermaid.ink API
- Do not include sensitive information in diagrams
- For sensitive data, use local Mermaid CLI instead
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!