Mermaid 图表渲染器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_bf1d7f16/anymermaid-skill。
技能介绍
它解决什么问题
把架构图、流程图写进文档时,麻烦的往往不是画图本身,而是「描述」与「产物」之间的断层:改一行逻辑就要重新拖拽画布,导出的 PNG 在高分屏上糊成一片,或者渲染在无头环境里因为沙箱权限直接失败。AnyMermaid 的思路是反过来的——你只写文本,Mermaid 负责解析,mmdc 负责出图。
核心能力与工作流
技能覆盖 26 种 Mermaid 官方图表类型,从 graph / flowchart 流程图、sequenceDiagram 时序图,到 gantt、pie、gitGraph、C4Context、architecture-beta 等。类型确定后只读取 references/syntax.md 中对应的章节,不必把 400 多行语法整体载入上下文。
工作流大致如下:
- 识别图表类型:按用户意图对照类型表,落到唯一的 Mermaid 关键字
- 按需取语法:用
grep定位章节边界,再用read的offset/limit精确切片 - 决定是否落文件:图 ≤ 15 行且不需要保留源,走
stdinheredoc 一步直渲;否则写入当前工作目录的.mmd文件 - 干跑校验:渲染到临时路径验证语法,失败时按错误行号修正后再正式渲染
- 渲染与打开:按需求输出
.svg/.png/.pdf,headless 环境跳过打开动作并打印绝对路径 - 保留源文件:渲染成功后保留
.mmd,仅当用户明确确认满意才删除
推荐默认参数为 -w 1600 -s 3。-s 只影响位图,对 SVG 无效;-w 对 SVG 依然生效,会改变初始布局宽度,长链 flowchart LR 尤其明显,因此 SVG 同样建议带上。
适用边界与注意点
- 前置依赖:渲染前先检测
mmdc是否可用。缺失时技能不会自行改动宿主环境,而是停下来提示用户先安装,等确认完成后再继续。 - 沙箱:Docker、CI 与部分 Linux / WSL 下 Puppeteer 可能报
No usable sandbox,需要用-p传入 puppeteer 配置;macOS 与 Windows 桌面通常不需要。 - 中文乱码:容器内缺少中文字体时需安装
fonts-wqy-zenhei一类字库,桌面系统自带字体一般无需处理。 - 语法严格:节点 ID 不能含空格,含括号等特殊字符的标签要用引号包裹,例如
A["节点 (文本)"];流程图关键字后必须跟随方向。 - 大图截断:超出默认画布时增大
-w/-H,位图再加-s。
使用场景
- 技术评审前要画一张 C4 上下文图,把系统边界和外部依赖讲清楚并导出 SVG 贴进设计文档。
- Merge Request 描述里需要一张 gitGraph 分支合并历史图,说明特性分支到主干的合并顺序。
- 持续集成流水线里要把部署架构渲染成 PDF 归档,在无 GUI 的容器环境中跳过打开并打印绝对路径。
- 写设计文档时要把登录注册流程画成流程图,源文件保留为 .mmd,方便后续修改节点后重新渲染。
适合人员
- 撰写架构设计文档的后端工程师,需要在文档里固定附一张可随代码变更重新渲染的系统架构图。
- 负责 CI 流水线的 DevOps 工程师,需要在无 GUI 容器里把部署拓扑渲染成 PDF 并归档。
- 编写接口文档的技术作者,需要用时序图说明多个服务之间的交互顺序并输出可缩放 SVG。