| name | visio-replica-workflow |
| description | Use when an AI agent needs to recreate reference images, screenshots, whiteboards, architecture diagrams, flowcharts, or business diagrams as editable Microsoft Visio .vsdx files, export previews, or prepare visible screen-recording/tutorial workflows. |
Visio 复刻流程
当用户希望生成 Visio 图、把参考图复刻成可编辑 Visio、准备鼠标操作录屏,或把流程封装成教程资料时,使用本技能。本技能适用于 Codex、Claude Code,以及其他能读取 SKILL.md 的 AI agent;脚本层只依赖 Windows PowerShell 和 Microsoft Visio COM。
工作模式
先选择一种模式,并用一句话告诉用户:
- 先自动化:用脚本生成可编辑
.vsdx,导出预览,再视需要进行可见演示或录屏。
- 可见录屏:只用 Visio 界面、鼠标和键盘操作。除非用户明确要求立即直播式录制,否则先做彩排。
- 教程封装:交付可复用流程、脚本、提示词、检查清单和示例输出结构,方便别人照着学。
如果用户要录屏,在用户确认“已经开始录屏”之前,不要开始任何可见界面操作。
快速流程
-
收集输入
- 参考图路径或用户上传的图片。
- 输出文件夹和文件名。
- 复刻目标:结构复刻、视觉一比一,或适合教学的可编辑草稿。
- 是否需要把原图作为 Visio 的参考页或背景页嵌入。
-
检查环境
- 运行
scripts/check_visio_environment.ps1。
- 确认能找到
VISIO.EXE、COM 自动化、导出能力,以及 PDF/PNG 转换工具。
- 只关闭本任务启动的 Visio 实例,不要关闭用户正在编辑的其他 Visio 文件。
- 如果只是检查 JSON 计划,先用
scripts/create_visio_from_plan.ps1 -ValidateOnly,不要启动 Visio。
-
拆解参考图
- 记录画布尺寸和宽高比。
- 标出主要区域、边界框、重复模块、文字标签、图标、箭线路由和配色。
- 以参考图像素坐标为准,把像素映射到 Visio 英寸。常用比例:
100 px = 1 in。
-
构建 Visio 计划
- 优先使用可编辑基础图形,不要只粘贴整张截图。
- 使用矩形、虚线容器、标签、连接线、箭头、椭圆和简化图标。
- 保留第二页,命名为
原图参考 或 Reference,把原图铺满用于对比。
- 对复杂图,创建或更新 JSON 计划,然后交给
scripts/create_visio_from_plan.ps1 生成。
- 复杂图先运行
-ValidateOnly;校验通过后再真正生成 .vsdx。
-
生成与验证
- 保存
.vsdx。
- 导出矢量预览(
.emf 或 .pdf),可行时再转成 .png。
- 检查预览:文字是否换行异常、字体是否缺失、图形是否超出画布、线条是否混乱、页面比例是否错误。
- 反复调整,直到第一页预览可以接受。
-
准备录屏
- 关闭后台自动化留下的 Visio 实例。
- 根据教程目标,打开最终
.vsdx 或从空白 Visio 文件开始。
- 准备简短操作脚本:设置页面、插入参考图、绘制大容器、复制重复模块、连接箭头、添加文字、导出预览。
- 告诉用户:“准备好了,你开始录屏后回复‘开始’,我再操作。”
复刻准则
- 先匹配页面宽高比,后面所有坐标都依赖它。
- 先画大容器,再画细节。
- 重复模块用坐标和复制对齐生成,不要每个都凭感觉拖。
- 系统边界优先用虚线,流程线优先用黑色箭头;除非参考图明显不同。
- 图标优先用可编辑近似图形;如果用户提供 SVG/PNG,再使用精确素材。
- 不要依赖 emoji 或冷门符号做 Visio 标签,它们导出时很容易变形或缺字。
- 中文标签如果换行难看,优先缩短文字、放大框、降低字号,而不是硬挤。
PowerShell 和 Visio 注意事项
- Windows PowerShell 5.1 可能会误读带中文的 UTF-8 脚本。推荐这样加载:
$p = "C:/path/to/script.ps1"
$text = [System.IO.File]::ReadAllText($p, [System.Text.Encoding]::UTF8)
& ([scriptblock]::Create($text))
- Visio 刚启动时,COM 调用可能被拒绝。对
New-Object -ComObject Visio.Application、Visible、Documents.Add、SaveAs、Export 等关键步骤加等待和重试。
- 自动化烟测时默认让 Visio 后台运行;只有录屏或现场演示时才打开可见窗口。
- 如果 Visio COM 反复出现
RPC_E_CALL_REJECTED 或普通 COM 异常,先关闭所有空白 Visio 窗口,等待 10 秒,重新运行环境检查;如果仍不稳定,切换到可见录屏模式。
- 如果直接导出 PNG 卡住,先导出
.emf,或用 LibreOffice 把 .vsdx 转成 .pdf,再用 pdftoppm 把 PDF 渲染成 PNG。
visio.AlertResponse = 7 可以减少自动保存时的弹窗,但它不是必需项;设置失败时不要让主流程失败。
鼠标录屏操作顺序
教程录屏建议按这个顺序:
- 打开 Visio,新建空白绘图。
- 设置页面大小,让宽高比匹配参考图。
- 把参考图插入参考页,或临时放在锁定图层。
- 绘制外框和主要分区线。
- 绘制主要模块容器。
- 用复制、粘贴和对齐工具添加重复模块。
- 绘制连接线和箭头。
- 添加文字标签并调整字号。
- 导出预览,与参考图对比。
- 保存
.vsdx,展示最终可编辑结构。
可见操作要稳定、简洁,只解释当前正在做的步骤。用户录屏时,不要同时跑隐藏生成脚本,除非用户明确要做混合式教程。
交付物
普通图表任务建议交付:
- 可编辑
.vsdx。
- 预览
.png 或 .pdf。
- 如果用了自动化,附上源脚本或 JSON 计划。
- 简短说明复刻限制,尤其是图标和字体。
教程分享任务建议交付:
- Skill 或流程文件夹。
- 环境检查脚本。
- 可复用 Visio 生成脚本。
- 一句别人可以直接复制的示例提示词。
- 导出预览质量检查清单。
内置脚本
scripts/check_visio_environment.ps1:检查 Visio、COM 启动、导出和转换工具。
scripts/create_visio_from_plan.ps1:根据 JSON 计划创建 .vsdx,支持页面尺寸、图形、连接线、文字和可选参考图;-ValidateOnly 可在不启动 Visio 的情况下校验计划。
examples/minimal-plan.json:最小可验证示例,用于烟测脚本和演示 JSON 结构。
任务需要稳定生成 Visio 文件时,优先读取或运行这些脚本。