前言¶
设计评审、架构说明和交付文档里,UML 图往往要落在 Visio(.vsdx)里,方便和非开发同事一起改。常见做法是手拖图形、对齐连线,或者先画在别的工具里再导出,再进 Visio 微调,来回成本高。若希望由 AI 根据自然语言描述直接产出可编辑的 Visio 文件,而不是只给 Mermaid 截图或 PlantUML 源码,可以看一下 SkillHub 上的社区 Skill UML-Visio-generate(坐标 @user_6090b166/visio-uml-generate)。
下面介绍它是什么、能做什么、如何安装,以及按官方 SKILL 文档复现工作流时要注意的点。
这是什么¶
UML-Visio-generate 是一套基于通用 SKILL.md 格式的 Agent Skill:根据用户的文字描述,识别 UML 图类型与元素,生成结构化 JSON,再调用包内 Python 脚本输出 Microsoft Visio(.vsdx) 文件。
- 维护方:SkillHub 社区发布者
user_6090b166,来源标记为community。 - 分类:
dev-programming。 - 版本:
1.0.1(以 SkillHub 页面与skillhub search结果为准)。 - 依赖:标签标明
requires_api_key=false,不依赖额外 API Key。 - 官方入口:SkillHub 技能页;API 坐标页为
https://api.skillhub.cn/user_6090b166/visio-uml-generate。
Skill 文档中的内部名称写作 visio-uml-generator,与商店展示名 UML-Visio-generate 指同一套能力。
核心功能¶
依据 Skill 包内 SKILL.md,已声明的能力如下。
支持的 UML 图类型¶
| 类型 | 说明 |
|---|---|
| 类图(Class Diagram) | 类、接口、属性、方法,以及继承、组合、依赖等关系 |
| 用例图(Use Case Diagram) | 参与者、用例、关联、包含、扩展关系 |
| 序列图(Sequence Diagram) | 参与者、生命线、同步/异步/返回消息 |
| 活动图(Activity Diagram) | 动作节点、决策、开始/结束、控制流 |
工作流(Agent 侧)¶
- 分析用户文案,判断 UML 图类型与元素。
- 生成符合
references/uml-schema.md中 Schema 的 JSON 定义。 - 运行
scripts/generate_vsdx.py,生成.vsdx文件。 - 将文件交付给用户。
实现要点(文档说明)¶
.vsdx为 ZIP + XML;脚本从零构建 Visio XML 结构。- 自动布局:类图网格、用例图左右分布、序列图垂直时间线、活动图垂直流程。
- 配色:类(蓝)、接口(绿)、用例(黄)、活动(青)。
- 连接器:按关系类型设置箭头(如空心三角表示继承、虚线表示依赖、菱形表示组合等)。
- 生成脚本:
scripts/generate_vsdx.py为纯 Python,文档写明无第三方依赖。
文档中记载的测试结果:四类图均通过(类图 5 类 5 关系、用例图 2 参与者 4 用例 5 关系、序列图 4 参与者 6 消息、活动图 7 节点 7 流)。包内附带示例输入 visio-uml-test/ecommerce-class-diagram.json,文档还列出对应示例输出 ecommerce-class-diagram.vsdx。
安装与启用¶
安装前需本机有 SkillHub CLI。未安装时可按 SkillHub 安装说明 执行:
command -v skillhub && skillhub --version
# 完整安装(CLI + 默认 Skill,文档推荐)
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
# 仅安装 CLI
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only
安装 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/,Agent 可能识别不到。官方页面给出的安装提示为:根据 https://skillhub.cn/install/skillhub.md 安装 @user_6090b166/visio-uml-generate。
命令行安装示例(与 skillhub search 输出一致):
skillhub install visio-uml-generate --namespace user_6090b166 --dir <你的 Agent skills 目录>
常见客户端 skills 路径(摘自 SkillHub 安装文档):
- Cursor:
~/.cursor/skills/ - Codex:
~/.codex/skills/或项目下的.agents/skills/ - Claude Code:
~/.claude/skills/
装好后在对应客户端启用该 Skill,让 Agent 读取包内 SKILL.md 并按工作流执行。文档未单独区分 Cursor 与 Claude Code 的触发方式,二者均以「skills 目录 + SKILL.md」为准。
典型用法¶
1、自然语言驱动(推荐)¶
在已加载 Skill 的对话中,用中文或英文描述系统与关系,例如电商领域的类与仓储接口。Agent 应按 SKILL.md 完成 JSON 编写并调用 scripts/generate_vsdx.py,最后给出 .vsdx 路径。
2、对照包内 JSON 示例¶
Skill 提供的电商类图示例 JSON 片段结构如下(type 为 class_diagram,含 classes 与 relationships):
{
"title": "E-Commerce System - Class Diagram",
"type": "class_diagram",
"classes": [
{
"name": "User",
"attributes": ["- id: Long", "- username: String"],
"methods": ["+ login(password: String): Boolean"]
}
],
"relationships": [
{
"source": "User",
"target": "Order",
"type": "association",
"label": "places",
"multiplicity_source": "1",
"multiplicity_target": "0..*"
}
]
}
完整字段见包内 visio-uml-test/ecommerce-class-diagram.json。在 Agent 或本地按 Schema 写好 JSON 后,由 Skill 指引运行 scripts/generate_vsdx.py 生成 Visio 文件;具体命令行参数以包内脚本为准(SKILL.md 未展开 CLI 帮助)。
适用场景与注意¶
适合谁
- 需要在 Visio 生态里交付 UML、且希望用对话描述代替大量手动画线的开发者或架构师。
- 已使用 Cursor、Claude Code、Codex 等支持 SkillHub skills 的客户端,并愿意用 SkillHub CLI 管理技能包。
限制与坑
- 输出形态:目标是
.vsdx,不是 Mermaid/PlantUML 渲染图;复杂版式仍可能要在 Visio 里微调。 - 包内容完整性:
SKILL.md声明应有scripts/generate_vsdx.py与references/uml-schema.md。若你安装的1.0.1包内仅有文档与示例 JSON、缺少脚本与 Schema,生成步骤无法本地执行,需在 SkillHub 向发布者反馈或等待包更新后再用。 - 社区来源:
community技能无官方厂商背书,生产环境使用前建议在副本中验证生成文件能否用本机 Visio 正常打开、编辑。 - 统计口径:SkillHub 抓取资料显示评分
100000、下载1268、安装0;页面数字会变动,以商店实时数据为准。
结尾¶
UML-Visio-generate 把「文字描述 → 结构化 UML JSON → Visio .vsdx」写进 Agent 工作流,覆盖类图、用例图、序列图、活动图四类常见图,且不要求 API Key。若你的交付物必须是 Visio 可编辑文件,可以按上文命令装入当前 Agent 的 skills 目录试用。
官方地址:https://www.skillhub.cn/skills/user_6090b166/visio-uml-generate