← 返回 Skills 市场
vincent-ng

Mermaid Image Generator

作者 wuzhanwei · GitHub ↗ · v1.0.0
cross-platform ✓ 安全检测通过
724
总下载
0
收藏
6
当前安装
1
版本数
在 OpenClaw 中安装
/install 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...
使用说明 (SKILL.md)

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 \x3Cinput> \x3Coutput>

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 \x3C\x3CEOF | 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 \x3C|-- Duck
    Animal \x3C|-- 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:

  1. Check internet connectivity
  2. Verify Mermaid syntax at https://mermaid.live
  3. Ensure output directory exists (script creates it automatically)

Integration Pattern

When creating diagrams for users:

  1. Write Mermaid code → Save to .mmd file or use stdin
  2. Run conversion script → Generate PNG/SVG
  3. Send/deliver image → Attach to response or save to specified location

Example workflow:

# 1. Create diagram
cat > openclaw-flow.mmd \x3C\x3CEOF
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

  1. Keep diagrams simple - Under 15 nodes for readability
  2. Use meaningful labels - Self-documenting diagrams
  3. Test syntax first - Validate at mermaid.live before converting
  4. Choose format wisely - PNG for PPTs, SVG for web/docs
  5. 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
安全使用建议
This skill is internally coherent and appears safe for normal use, but check a few things before installing: 1) The script requires the curl binary (it will fail if curl is absent) — ensure curl is available or modify the script to use Node https. 2) Diagram source is sent to mermaid.ink — do not send sensitive or private information. 3) Review the small script yourself (it’s short) to confirm it matches your expectations; run in an isolated environment if you have stricter privacy requirements. 4) Be aware of network access, service rate limits, and the mermaid.ink privacy/policy if you plan to process many diagrams.
功能分析
Type: OpenClaw Skill Name: mermaid-image-generator Version: 1.0.0 This skill bundle is benign. It transparently converts Mermaid diagram syntax to images using the `mermaid.ink` API, as described in `SKILL.md`. The `scripts/mermaid-to-image.js` script uses `spawnSync` to execute `curl` for fetching images, but the arguments are passed as an array, mitigating shell injection risks via the output path. The `SKILL.md` explicitly warns users that diagram code is sent to an external service (`mermaid.ink`) and advises against including sensitive information, demonstrating transparency rather than malicious intent.
能力评估
Purpose & Capability
The name/description match the included script and instructions: it encodes Mermaid and calls mermaid.ink. Minor inconsistency: SKILL.md advertises "zero dependencies" and the registry lists no required binaries, but the script calls the external 'curl' binary via spawnSync; if curl is not present the script will fail. This is a small mismatch but explainable.
Instruction Scope
Runtime instructions and the script stay within scope: read Mermaid from file/stdin, base64-encode, call mermaid.ink, write image file. The SKILL.md explicitly warns that diagram code is sent to an external service and advises against including sensitive data.
Install Mechanism
No install spec (instruction-only) and the code does not download or execute third-party archives. The script spawns curl to fetch images; there is no remote install/download of code beyond contacting the mermaid.ink rendering endpoint.
Credentials
No environment variables, credentials, or config paths are requested. The script does not attempt to read unrelated configuration or secrets.
Persistence & Privilege
The skill does not request persistent/always-on privileges and only writes the requested output file(s). It does not modify other skills or system-wide agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install mermaid-image-generator
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /mermaid-image-generator 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
初始发布 - 零依赖的 Mermaid 转图片工具
元数据
Slug mermaid-image-generator
版本 1.0.0
许可证
累计安装 6
当前安装数 6
历史版本数 1
常见问题

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... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 724 次。

如何安装 Mermaid Image Generator?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install mermaid-image-generator」即可一键安装,无需额外配置。

Mermaid Image Generator 是免费的吗?

是的,Mermaid Image Generator 完全免费(开源免费),可自由下载、安装和使用。

Mermaid Image Generator 支持哪些平台?

Mermaid Image Generator 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Mermaid Image Generator?

由 wuzhanwei(@vincent-ng)开发并维护,当前版本 v1.0.0。

💬 留言讨论