技能使用指南

draw-io(图表绘制与编辑技能)Skill 是什么?如何下载?

draw-io 技能让 AI 直接读写 .drawio 源文件,完成图表创建、XML 布局微调、高清 PNG 导出与 AWS 图标匹配,无需手工拖拽即可产出风格统一的架构图。本文详解安装验证、转换命令、坐标计算与自检清单,并对比 Mermaid、PlantUML 等替代方案。想用 AI 提升绘图效率,立即阅读全文。

图表绘制与编辑技能Skilldraw-io
23 个章节 约 18 分钟阅读 AI 智能生成

draw-io(图表绘制与编辑技能):让 AI 直接改 .drawio 源文件,把架构图从手工拖拽变成可编程

  • 定位明确:这不是一个"生成图片"的工具,而是一个专注 .drawio XML 文件的编辑技能,能做图表创建、编辑、审阅、PNG 转换、布局调整与 AWS 图标使用。
  • 改的是源文件:所有修改都作用在纯 XML 的 .drawio 上,坐标、字体、箭头层级都可精确控制,产物可继续在 draw.io 里二次手工编辑。
  • 有工程化配套:技能自带 PNG 转换脚本与 pre-commit 钩子用法、AWS 图标搜索脚本,以及一份可逐条勾选的检查清单。
  • 有明确的设计规范:从字体设置、坐标计算、箭头背层放置,到 30px 边距、20px 标签避让,都是写死在技能里的规则,输出稳定性比"随手画"高很多。
  • 边界清晰:只编辑 .drawio,不直接编辑 .drawio.png,也不适合需要自由绘制的插画场景。

1. 该技能叫什么?如何下载安装 AI 技能提升开发效率?

1.1 基本信息

项目 内容
中文名 图表绘制与编辑技能Skill
英文名 draw-io
技能 ID 12295
核心对象 .drawio 文件(纯 XML 格式)
官方定位 draw.io 图表创建、编辑和审阅,用于 .drawio XML 编辑、PNG 转换、布局调整和 AWS 图标使用

1.2 它到底解决什么问题

用 draw.io 画图的人都会遇到同一个痛点:图形界面适合"从零画",但不适合"精确改"。想统一 20 个方框的字体大小、想把某个箭头往下挪 20 像素、想批量把背景色去掉换成透明、想给所有 AWS 服务换成最新版图标——这些操作在画布上要么重复劳动,要么很难对齐。

draw-io 技能换了个思路:把图表当成代码来改。.drawio 本身就是 XML,每个元素都是一个 mxCell,位置写在 mxGeometry 里。技能把"怎么改才不溢出、箭头放哪一层、标签留多少距离"这些隐含经验写成了规则,于是 AI 可以稳定地对源文件做精确编辑,再一键导出高清 PNG。

1.3 安装思路与步骤

技能详情中未提供公开的下载地址与安装命令,以下为通用思路,具体入口与命令请以官方说明为准:

  1. 确认运行环境:该技能面向支持 AI 技能(Skill)机制的客户端使用,技能内的脚本路径示例统一为 ~/.claude/skills/draw-io/,说明它预期被安装到本地技能目录中。
  2. 安装技能本体:通过官方技能市场或官方仓库获取 draw-io 技能,安装后确认目录内包含 scripts/convert-drawio-to-png.sh、scripts/find_aws_icon.py、references/layout-guidelines.md、references/aws-icons.md 等文件(这是判断"装完整了没"最直接的方法)。
  3. 准备本地转换依赖:技能的 PNG 转换内部调用 drawio -x -f png -s 2 -t -o output.drawio.png input.drawio,因此本机需要具备可执行的 draw.io 命令行工具。若你的项目使用 mise 与 pre-commit,技能也给出了 mise exec -- pre-commit run --all-files 的批量转换方式。
  4. 验证是否生效:随便找一个 .drawio 文件,执行 bash ~/.claude/skills/draw-io/scripts/convert-drawio-to-png.sh assets/diagram1.drawio,若生成了对应的 .drawio.png,说明脚本链路通了;再对 AI 说一句"把这张图里所有文本的背景色去掉",若它直接改 XML 而不是让你手动操作,说明技能已生效。

2. 该技能的主要功能和特点

  • 纯 XML 级图表编辑:直接定位 mxCell 的 value 属性搜索元素,修改 mxGeometry 中的 x、y、width、height,实现"像素级"排版调整。
  • 高清 PNG 转换:内置 -x -f png -s 2 -t 参数组合,即导出模式、PNG 格式、2 倍缩放、透明背景,一次拿到可放进文档和幻灯片的高分辨率图。
  • 批量与单文件两种转换方式:既能用 pre-commit run --all-files 全量转换,也能用 --files 指定单个文件,还能直接跑技能自带脚本。
  • 字体一致性控制:要求在 mxGraphModel 标签上指定 defaultFontFamily,同时在每个文本元素的 style 里显式写 fontFamily,避免"有的框是默认字体、有的框是目标字体"的经典事故。
  • AWS 官方图标体系:配套 find_aws_icon.py 搜索脚本,支持 ec2、lambda 等关键词查询,并要求使用最新的 mxgraph.aws4.* 图标而非旧版。
  • 可计算的居中与对齐:明确给出元素中心坐标公式 y + (height / 2),让"对齐多个元素"从手感活变成算术题。
  • 箭头层级与避让规则:要求箭头放在背层(紧接标题之后),与标签保持至少 20px 距离,避免箭头穿透方框或图标。
  • 文本元素的箭头连接方案:指出文本元素上 exitX/exitY 不生效,改用显式的 sourcePoint / targetPoint 坐标,彻底解决"箭头连不上文字"的问题。
  • 中日文换行宽度规则:每个字符预留 30–40px,10 个字符至少给 300–400px 宽,从源头避免意外换行。
  • 渐近式披露的图表分层方法论:把复杂系统拆成上下文图、系统图、组件图、部署图、数据流图、序列图六类,按阶段展开。
  • 可访问性与设计原则:要求足够的颜色对比度、颜色之外用图案区分、统一配色与线条粗细、标注图例、包含标题/描述/最后更新/作者/版本等元数据。
  • 成体系的自检清单:从"未设置背景颜色"到"视觉验证 PNG 转换",一条条勾过去,比凭感觉验收可靠得多。

和普通绘图工具比强在哪? 普通工具解决"画出来",这个技能解决"改得准、改得快、改得一致"。尤其是同一个图要反复迭代十几次、或者一批图要统一风格时,差距非常明显。

3. 如何使用该技能?

步骤 1:明确输入是一个 .drawio 文件

技能的硬性规则是只编辑 .drawio,不要直接编辑 .drawio.png。PNG 是产物,不是源文件。如果你手上只有 PNG,需要先在 draw.io 里补出对应的 .drawio 源文件。

步骤 2:用自然语言提出修改需求

不需要自己算坐标,把意图讲清楚即可:

“在这张架构图右侧新增一个 Lambda 组件,用箭头指向已有的 ECR,标题写’事件处理’。”

AI 会去 XML 里找对应的 mxCell,按规则计算位置并插入新元素。

步骤 3:需要精修时,直接给出坐标级指令

当自动排版不理想,可以按技能给出的坐标调整流程介入:

  1. 在文本编辑器中打开 .drawio 文件(它是纯 XML);
  2. 通过 value 属性搜索目标元素的 mxCell;
  3. 修改 mxGeometry 里的 x(距左)、y(距顶)、width、height;
  4. 重新转换并验证。

对齐多个元素时用公式算中心:中心坐标 = y + (height / 2),让几个元素的中心值相等即可对齐。

步骤 4:转换并验证 PNG

三种方式任选:

# 方式一:转换全部 .drawio 文件
mise exec -- pre-commit run --all-files

# 方式二:只转换指定文件
mise exec -- pre-commit run convert-drawio-to-png --files assets/my-diagram.drawio

# 方式三:直接运行技能脚本
bash ~/.claude/skills/draw-io/scripts/convert-drawio-to-png.sh assets/diagram1.drawio

内部实际执行的命令与参数含义:

drawio -x -f png -s 2 -t -o output.drawio.png input.drawio
选项 描述
-x 导出模式
-f png PNG 格式输出
-s 2 2 倍缩放(高分辨率)
-t 透明背景
-o 输出文件路径

步骤 5:字体与说明文字的写法示例

用于幻灯片时,先在 mxGraphModel 上设默认字体:

<mxGraphModel defaultFontFamily="Noto Sans JP" ...>

再在每个文本元素的样式中显式声明:

style="text;html=1;fontSize=27;fontFamily=Noto Sans JP;"

步骤 6:查找 AWS 图标

python ~/.claude/skills/draw-io/scripts/find_aws_icon.py ec2
python ~/.claude/skills/draw-io/scripts/find_aws_icon.py lambda

步骤 7:按检查清单收尾

交付前逐条确认:未设置背景颜色、字体足够大、箭头在背层、箭头不压标签(在 PNG 里看)、箭头起终点离标签至少 20px、箭头不穿透框和图标、内部元素不溢出背景框架、框架与内部元素边距至少 30px、AWS 服务名是官方名称、图标为 mxgraph.aws4.* 最新版本、无多余装饰元素、已完成 PNG 视觉验证。

输出说明

最终你会同时得到两份东西:可继续编辑的 .drawio 源文件,以及可直接插入文档的透明背景高清 .drawio.png。如果用在 reveal.js 幻灯片里,记得在 YAML 头加 auto-stretch: false,以保证移动端显示正常。

4. 同类型竞品对比分析

方案名称 定位 核心功能 安装/使用门槛 适用场景 优势与不足
draw-io 技能(本技能) AI 直接编辑 .drawio 源文件的图表技能 XML 编辑、PNG 转换、布局坐标调整、AWS 图标、设计规范与检查清单 需安装技能本体、本机具备 draw.io 命令行工具;以自然语言下达指令即可 需要反复迭代的架构图、云上部署图、要进文档和幻灯片的正式图表 优势:改得准、风格统一、和现有 .drawio 资产无缝衔接;不足:依赖本地转换环境,不适合自由插画
draw.io 桌面版/网页版(手工绘图) 通用可视化绘图工具 拖拽绘制、模板库、导出多种格式 零门槛,打开浏览器即可用 一次性草图、临时沟通图 优势:所见即所得、上手最快;不足:批量统一风格、像素级对齐全靠手工,迭代成本高
Mermaid 代码化文本绘图 用文本描述生成流程图、时序图、类图 需掌握语法,或在支持 Mermaid 的平台上使用 文档内嵌流程图、与代码同仓库维护 优势:纯文本、易做版本管理;不足:布局自动生成不可精调,图标与视觉表现力有限,无法复用 .drawio 资产
其他云绘图 SaaS 在线协作白板/绘图平台 拖拽绘图、多人实时协作、模板生态 需注册账号,多数高级功能需订阅(以官方说明为准) 团队头脑风暴、跨部门共创 优势:协作体验好;不足:图表源文件可控性弱,难以纳入代码仓库与自动化流程
PlantUML 代码化 UML 绘图 用文本描述生成 UML 系列图 需掌握语法并部署渲染环境 标准 UML 建模、技术文档 优势:语义规范、适合工程团队;不足:样式定制受限,非 UML 类架构图表现一般

一句话选型建议:图要反复改、要统一风格、要和已有 .drawio 资产兼容,选本技能;只想快速出一张草图,用绘图工具本身更省事;图要和代码同生命周期演进,考虑 Mermaid 类方案。

5. 该技能的典型应用场景与实际体验情况

场景一:云架构图的持续迭代(解决方案架构师)

痛点:一张 AWS 架构图从初稿到定稿要改十几轮,每次加一个服务,就要重新调整周边所有元素的位置,箭头还会穿过方框。

使用方式:把架构图的 .drawio 交给技能,用自然语言描述新增组件与连接关系,让它按规则计算坐标、把箭头放背层、保证 30px 框架边距,然后转 PNG 自查。

实际体验:上手难度低,不需要懂 XML;效果主要体现在"改完不用返工",因为箭头避让和边距规则是强制执行的。注意事项:一定要看转换出来的 PNG,坐标算对了不等于视觉上没压线。

场景二:技术文档与幻灯片的配图生产(技术写作者 / 布道师)

痛点:同一批图表要进 PDF 文档和 reveal.js 幻灯片,字体不一致、图太小看不清、背景色和深色主题打架。

使用方式:统一设置 defaultFontFamily 与每个文本元素的 fontFamily,字号取标准的 1.5 倍(约 18px),去掉 background="#ffffff" 使用透明背景,幻灯片场景加 auto-stretch: false。

实际体验:透明背景这一条改动收益最大,一套图能同时适配浅色和深色主题,不用维护两份;放大字号后 PDF 里清楚很多。注意事项:日文/中文文本必须按每字符 30–40px 预留宽度,否则换行会出现在意想不到的位置。

场景三:批量图表风格治理(团队 Tech Lead)

痛点:仓库里几十张历史图表,配色五花八门,AWS 图标还是旧版,没人愿意动。

使用方式:用 mise exec -- pre-commit run --all-files 批量转换,配合 find_aws_icon.py 把旧图标替换成 mxgraph.aws4.*,按检查清单逐项治理。

实际体验:把"审美问题"变成了"清单问题",可验收、可分工。注意事项:技能明确要求移除与上下文无关的装饰性图标(例如已有 ECR 时单独放一个 Docker 图标就是冗余),治理时会删掉一些"看起来挺好看"的元素,需要提前和团队对齐。

场景四:复杂系统的分层表达(后端工程师)

痛点:一上来就画组件级细节,读者看不懂;想讲清楚又不知道从哪一层切。

使用方式:按技能给出的渐进式披露思路拆成六类图——上下文图讲外部视角、系统图讲主要组件、组件图讲技术细节、部署图讲基础设施、数据流图讲数据转换、序列图讲时序交互。

实际体验:这套分层本身就是方法论,比单纯"帮你画图"更有价值。注意事项:每张图都要带标题、描述、最后更新、作者和版本等元数据,否则半年后没人知道这张图对应哪个版本。

6. 该技能能为用户带来的价值

  • 效率提升:把"改图"从画布上的拖拽操作,变成一句自然语言指令 + 一次脚本转换。批量场景(全仓库图表转换、统一换图标)的收益尤其明显,从逐张手工处理变成一条命令。
  • 门槛降低:使用者不需要精通 draw.io 的样式面板,也不需要理解 mxCell 结构,只要说清楚"新增什么、连到哪里"。而技能内置的坐标公式与边距规则,替使用者兜住了大部分排版坑。
  • 质量下限被抬高:箭头背层、20px 标签避让、30px 框架边距、1.5 倍字号、透明背景、最新 AWS 图标——这些原本靠个人经验维系的规范,现在变成了强制项和检查清单,团队成员产出的图表风格天然趋同。
  • 资产可维护:产出仍是标准 .drawio 源文件,可以进版本库、可以在 draw.io 里继续手工微调,不会被某个工具锁死。
  • 长期价值:图表从"一次性截图"变成"可持续更新的工程资产"。当架构变化时,改的是源文件而不是重画一张图,知识沉淀才真正留得下来。

7. 常见问题 FAQ

Q1:这个技能怎么安装?需要准备什么?

通过官方技能渠道安装到本地技能目录(示例路径为 ~/.claude/skills/draw-io/),具体入口与命令以官方说明为准。安装后请额外确认两件事:目录内脚本与 references 文件齐全;本机具备 draw.io 命令行工具,否则 PNG 转换会失败。

Q2:收费吗?

技能详情中未涉及定价信息,请以官方说明为准。需要留意的是,PNG 转换依赖本地的 draw.io 命令行工具,这部分环境的准备成本需要自行评估。

Q3:适合谁用?不适合谁?

适合需要反复迭代架构图、维护成批图表、要求风格统一的开发者、架构师、技术写作者和 Tech Lead。不适合需要自由插画、手绘风格草图或纯图形创意设计的场景——它改的是结构化 XML,不是画布。

Q4:为什么不能直接改 .drawio.png?

因为 PNG 是导出产物,不是源文件,改它等于改一张位图,无法再回到可编辑状态。技能的规则很明确:只编辑 .drawio,.drawio.png 由预提交钩子自动生成,幻灯片里使用的也是这份自动生成的文件。

Q5:和 Mermaid、PlantUML 这类文本绘图怎么选?

如果你已有大量 .drawio 资产、需要精确控制布局与图标(尤其是 AWS 图标),选本技能;如果图要和代码同仓库演进、更看重"文本即源码"的极简维护方式,Mermaid 或 PlantUML 更合适。两者也可以并存:文档内嵌流程图用 Mermaid,正式架构图用 draw.io 技能产出。