soia-dev-drawio-visio-diagramslisted
Install: claude install-skill soia-team/soia-open-skills
# Draw.io / Visio 图表工程
把外部 `.vsdx` 当作只读原件,先做安全结构盘点,再用本机 draw.io Desktop 转成可编辑 `.drawio`,最后在新文件上理解、修改、渲染和复核。当前 draw.io 可以导入 VSDX,但 26.1.0 起移除了 VSDX 导出;默认交付真源是 `.drawio`,不要承诺无损回写 VSDX。
## 客户可读说明
### 这个技能可以做什么
| 客户目标 | 技能动作 | 可核验证据 |
|---|---|---|
| 读懂 VSDX | 只读解析 OOXML 包中的页面、形状、文字、连接和媒体 | JSON/Markdown 盘点、SHA-256、页数/形状数/连接数 |
| 转成 draw.io | 调用本机 draw.io Desktop CLI,把 VSDX 导入并导出为未压缩 `.drawio` XML | 原件未变、目标文件、CLI 版本、XML 验收 |
| 操作与升级 | 在副本上按 JSON 计划修改页面名、文字、样式和几何,或交给可选 draw.io MCP 做元素级编辑 | 变更计数、未匹配项、前后结构对比 |
| 生成预览/交付 | 从 `.drawio` 或 `.vsdx` 导出 PNG、SVG、PDF、JPG | 文件签名、大小、SHA-256、视觉复核 |
| 批量治理 | 递归检查目录并生成清单;修改仍逐文件显式执行 | 成功/失败/跳过清单,不覆盖原文件 |
### 客户如何使用
提供输入文件或目录、目标动作和交付路径。没有明确授权时只读,不覆盖原件。
```bash
python3 scripts/inspect_vsdx.py <diagram.vsdx> --format markdown
python3 scripts/drawio_cli.py doctor
python3 scripts/drawio_cli.py convert <diagram.vsdx> --output <diagram.drawio>
python3 scripts/inspect_drawio.py <diagram.drawio> --format markdown
python3 scripts/edit_drawio.py <diagram.drawio> --plan <upgrade-plan.json> --output <diagram-upgraded.drawio>
python3 scripts/drawio_cli.py export <diagram-upgraded.drawio> --format png --output <preview.png>
```
典型请求:
```text
读懂这个 ProcessOn 导出的 VSDX,列出页面、组件和关键链路
把这个 VSDX 转成可编辑 draw.io,原件不要动
把架构图里的旧系统名批量换成新名称,统一主色并导出 PNG
审查升级前后的 draw.io,确认页数、组件和关键文字没有丢
```
### 依赖与安装
| 依赖 | 类型 | 安装/用途 | 缺失时 |
|---|---|---|---|
| Python 3.10+ | 必需 | VSDX/draw.io 结构盘点与受控编辑 | 无法运行本地脚本 |
| draw.io Desktop | 转换/渲染必需 | macOS `brew install --cask drawio`;其他平台使用