Sep 22, 2026

drawio-skill 把提示词、代码和 Terraform 变成可编辑的图表

一个 10k-star 的 skill,从自然语言、import 图、IaC 或 SQL 生成可维护的 .drawio 文件——官方图形搜索、自检导出、CI 架构测试一应俱全。

#tutorial#architecture#developer-tools

让一个通用 agent 画架构图,你多半会得到一张漂亮但需要手工重画的图片。drawio-skill 这个 10k-star 项目瞄准的是可维护的产物:它把自然语言和真实系统来源变成可编辑的 .drawio 模型,并在系统演进时保持图与现状一致——增量同步不丢手工布局,一个模型投影多个视图,架构规则在 CI 里强制执行。

为什么这个 Skill 重要

三项能力让它不止是个画图器。第一,它从真实来源作画:16 个提取器把 Python、JavaScript/TypeScript、Go、Rust 的 import 图,Terraform / Kubernetes / docker-compose 配置,SQL DDL,OpenAPI,AsyncAPI,Protobuf,GraphQL SDL 和 CI 流水线变成图——还包括通过 terraform show -json、docker inspect 或 kubectl get -o json 抓取的线上基础设施快照。第二,它会自检:工作流先规划布局、写出 .drawio XML、导出草稿 PNG,再读回来自动修复重叠和被裁切的标签(最多 2 轮),之后才给你看结果,随后还有最多 5 轮反馈迭代。第三,它带真正的图标覆盖:图形搜索能从 10,000 多个官方 draw.io 图形中解析出精确样式,aiicons.py 能解析 321 个 AI/LLM 品牌标志外加 18 个数据存储品牌。

它支持 Claude Code、Cursor、Copilot、OpenClaw、Codex、Autohand Code、Hermes,以及任何兼容 Agent Skills 格式的 agent——这是 README 自己列出的名单。

安装

两步。先装 draw.io 桌面版 CLI,因为导出靠它渲染:

brew install --cask drawio
drawio --version

建议 30 或更高版本——Mermaid 转 .drawio 和 ELK 布局都依赖它,更低版本用不了。然后安装 skill:

npx skills add Agents365-ai/drawio-skill -g

Graphviz 是可选项,只有自动布局需要(brew install graphviz);其余功能没有它也能跑。

实战:描述一张图,迭代到满意

  1. 用自然语言描述系统,照 README 里 ML 示例的样子:
Draw a Transformer encoder-decoder for machine translation: 6-layer encoder
with self-attention, 6-layer decoder with cross-attention, input embeddings
(batch × 512 × 768), positional encoding, and a final output projection.
Annotate tensor shapes between layers and color-code by layer type.
  1. skill 规划布局、生成 .drawio XML、导出,并在你看到任何东西之前先自检自己的 PNG。
  2. 在最多 5 轮反馈里提出修改,然后拿最终导出——PNG、SVG 或 PDF。

11 种图类型预设覆盖了最常见的形态:ERD、UML 类图、时序图、C4、架构图、ML/深度学习、流程图、SysML、BPMN、网络拓扑、跨职能泳道图。

实战:代码变了,同步这张图

diagramctl sync 流程只更新变化的节点和关系,保留你调好的坐标、样式和标注;删除默认保持可审阅状态。想让图变成团队门禁,可以把架构规则写成 YAML/JSON,由官方 GitHub Action 在每个 PR 上执行,并同时渲染可视化 diff。一个模型还能投影全部五个视图——高管视图、系统视图、部署视图、数据流视图、安全视图——而不是手画五个分叉。

技巧

  • diagramctl 的子命令覆盖整个生命周期:doctor、build、sync、views、query、test、review、whatif、story、publish、transform。
  • 更喜欢文本优先?28 种 Mermaid 标准类型——mindmap、gantt、timeline、kanban 等——在 draw.io 30+ 上可以直接转成原生可编辑的 .drawio。
  • 内置样式预设(default、corporate、handdrawn、colorblind-safe、dark),skill 也能从你已有的 .drawio 文件学习你的风格——预览经你确认后才会保存。
  • README 里的对比表是项目自己的定位陈述——包括对官方 jgraph/drawio-mcp 的对比,它将其描述为互补关系。

何时不用这个 Skill

README 把替代方案交代得很诚实。想要手绘或白板式的随性风格,它指向 excalidraw-skill 或 tldraw-skill;想要放在 git 里、在 Markdown 里渲染的 diagrams-as-code,用 mermaid-skill 或 plantuml-skill;想要自由画布涂鸦,还是 tldraw-skill。另外,如果你的目标只是一张一次性的草稿,两步安装加 draw.io 桌面版的成本对这点活儿来说太重了。


查看 排行榜 了解更多 skill。