关于 utility-mermaid-diagrams
用于在产品文档中创建和验证 Mermaid 图表的技能,适合产品经理和文档作者。它帮助从 15 种图表类型中选择、编写有效语法,并判断图表是否比列表或表格更清晰。
主要功能
- 01涵盖 15 种图表类型
- 02按沟通目标选择图表
- 03Mermaid 语法与转义规则
- 04规划模板与参考资料
- 05渲染及无障碍检查
适用场景
- 01在 PRD 和规格文档中添加图表
- 02为产品工作流选择图表
- 03排查无法渲染的 Mermaid 图表
- 04检查图表的清晰度与无障碍性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ product-on-purpose/ pm-skills --skill utility-mermaid-diagrams安装后在 Claude Code 中输入/utility-mermaid-diagrams确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
HISTORY.mdevals/trigger-fixtures.jsonreferences/diagram-catalog.mdEXAMPLE.mdpm-use-cases.mdsyntax-guide.mdTEMPLATE.md详细介绍
Mermaid 图表
为产品文档创建有效且语法正确的 mermaid 图表。
适用场景
- 为 PRD、规格说明、路线图或利益相关方演示创建 mermaid 图表
- 从 15 种图表类型中选择适合特定沟通需求的类型
- 调试无法渲染或渲染结果不正确的 mermaid 代码
- 审查图表的清晰度、准确性和可访问性
不适用场景
- 将图表导出为图片文件(PNG/SVG)——这属于渲染工具的范畴
- 使用非 mermaid 图表工具(Figma、Lucidchart、draw.io)
- 创建没有信息传达目的的纯装饰性视觉内容
- 制作完整的客户旅程产物(包含阶段、触点、情绪曲线、痛点),而不是独立图表——请使用
discover-journey-map,它会在时间线或流程图部分组合使用此技能
首要原则
列表能说明白的内容,就不要画成图表。
图表的价值在于揭示关系、分支或流程,这些内容用文字表述时往往会被简化。在创建任何图表之前,请先问:
这张图能否展示列表或表格无法呈现的分支、关系或流程?
- 能 → 继续使用图表
- 不能 → 改用编号列表、项目符号列表或表格
一个包含 5 个步骤的线性流程应该用列表表示。一个包含 5 个步骤、两个决策点和一个重试循环的流程则应该用图表表示。
图表选择指南
| 我需要展示…… | 使用 | 也可以考虑 |
|---|---|---|
| 决策或审批流程 | Flowchart | State |
| 多服务或多方交互 | Sequence | Flowchart |
| 功能生命周期或状态转换 | State | Flowchart |
| 工作阶段或管道状态 | Kanban | State |
| 存在依赖关系的发布或冲刺时间线 | Gantt | Timeline |
| 版本历史或按时间排列的里程碑 | Timeline | Gantt |
| 二维优先级排序(工作量/影响、风险/价值) | Quadrant | - |
| 分配明细或组成结构 | Pie | Treemap |
| 问题分解或头脑风暴 | Mindmap | - |
| 领域模型或数据关系 | ER | Class |
| API 或对象契约 | Class | ER |
| 系统拓扑或基础设施 | Architecture | Flowchart |
| 流量或预算分配 | Sankey | Pie |
| 分层比例数据 | Treemap | Pie |
| 趋势或时间序列指标 | XY-Chart | - |
按 PM 任务整理的完整示例,请参阅 references/pm-use-cases.md。
各类型的完整语法和选项,请参阅 references/diagram-catalog.md。
语法有效性原则
以下 6 条规则可以避免大多数渲染失败:
- 为标签加引号 - 任何包含空格、括号、方括号、冒号、逗号或保留字的标签,都必须用双引号括起来
- 转义特殊字符 - 具有 mermaid 或 Markdown 含义的字符(行首的
>、<、-、#)需要转义或加引号 - 先声明,再引用 - 在边中使用节点之前,先定义该节点;在某些类型中,引用未声明的节点会导致静默失败
- 遵守限制 - 每种图表类型都有最大节点数或参与者数量限制,超过后可读性会急剧下降(各类型的限制请参阅
references/diagram-catalog.md) - 注释说明意图 - 使用
%%注释记录不明显的选择(例如为什么选择这种布局方向、为什么采用这种分组) - 交付前测试 - 将代码粘贴到 mermaid 渲染器(mermaid.live、VS Code 预览或目标环境)中,并确认渲染结果正确
完整语法参考请参阅 references/syntax-guide.md。
说明
- 明确要传达的内容 - 需要呈现什么关系、流程、层级或比例?受众是谁?
- 遵循首要原则 - 确认图表相比列表或表格能带来更多价值
- 选择图表类型 - 使用上方的选择指南,按任务浏览
references/pm-use-cases.md,或按类型浏览references/diagram-catalog.md - 规划图表 - 填写
references/TEMPLATE.md中的规划工作表:目的、受众、节点清单、类型选择理由 - 编写 mermaid 代码 - 遵循
references/syntax-guide.md中的规则;从references/diagram-catalog.md中最简的语法示例开始,再逐步扩展 - 验证 - 按照下方的质量检查清单逐项检查
- 嵌入 - 将通过验证的 mermaid 代码块放入文档中
输出约定
- 规划材料:填写完整的图表规划工作表(
references/TEMPLATE.md) - 最终输出:嵌入目标文档的语法有效的 mermaid 代码块
- 质量门槛:质量检查清单中的所有项目均通过
质量检查清单
- 图表在目标环境中渲染正常
- 符合首要原则:列表或表格无法更清晰地传达信息
- 不包含没有分支、关系或层级的线性序列
- 所有包含空格或特殊字符的标签均已正确加引号
- 需要转义的特殊字符均已转义
- 节点/参与者数量符合图表类型的限制
- 颜色符合无障碍要求(WCAG AA 对比度至少为 3:1,浅色背景上使用黑色文字)
- 颜色绝不作为唯一的区分方式;还要用形状和标签区分元素
- 图表具有描述性标题,或周围的正文提供了上下文
- 使用
%%注释说明所有不明显的布局或分组选择
参考资料
| 文件 | 用途 |
|---|---|
references/TEMPLATE.md | 图表规划工作表——编写 mermaid 代码前填写 |
references/EXAMPLE.md | 完整示例:PM 为产品发布创建 4 个图表 |
references/diagram-catalog.md | 全部 15 种图表类型:语法、PM 示例、限制和易错点 |
references/pm-use-cases.md | PM 任务 → 图表类型映射,并附简短完整示例 |
references/syntax-guide.md | 完整的语法有效性规则、转义、样式设置和验证清单 |
评论
支持 Markdown