十月中旬的 GitHub Trending 上有个不太一样的名字:diagram-design(cathrynlavery/diagram-design),连续两天挂在总榜前列,星数冲到五万量级。它不是框架也不是应用,而是一个 Agent Skill——一套 SKILL.md 加 references 参考文件,装进 Claude Code、Codex、OpenClaw 这类支持技能机制的编码智能体后,你用自然语言描述,它就产出「编辑部风格」的图表:44 种图形类型,每张图是一个自带内联 SVG 与 CSS 的自包含 HTML 文件,浏览器直接打开,也能导出 SVG/PNG。它还吃得下存量资产——.drawio、Mermaid、.excalidraw 源文件可以重绘成新版式,甚至能从你的官网 URL 抽取品牌色与字体自动套皮。设计哲学很克制:目标密度 4/10,焦点节点一到两个,节点超过九个大概率应该拆成两张图。本篇从安装、品牌风格配置到出图、重绘、导出,把完整链路走一遍。
先理解:SKILL.md 是说明书,不是渲染器
diagram-design 的本体是一份写给模型看的工作规范。SKILL.md 主文件定义行为:何时出图、何时拒绝出图、如何组织版式;references/ 目录按需加载——style-guide.md 管颜色字体令牌,onboarding.md 管品牌接入流程,profiles.md 管配置的保存与读取,44 种类型各有版式参考,只有当你真的要画那一类图时,对应的参考文件才会被读进上下文。这套「按需加载」正是它能覆盖 44 种类型而不撑爆上下文窗口的原因。产出物是自包含的 HTML(内联 SVG 与 CSS),单个文件即整张图,进仓库、进文档、发消息都不丢样式;需要矢量或位图时再导出 SVG/PNG。
它还有一道「风格指南门」:新项目里初回出图时,skill 会检查 references/style-guide.md 里的令牌是否还是出厂默认(纸面 #f5f5f5、墨色 #2d3142、强调色 #eb6c36 珊瑚橘)。仍是默认就会先问你六选一:给官网 URL 抽品牌令牌、从已装 skill 抽、扫本地设计系统目录、手工粘贴令牌、暂用默认,或载入已保存的 profile。项目根目录存在 .diagram-design 标记文件时,按 profiles.md 的规则直接选中 profile 跳过这道门——这是为「团队统一皮肤」设计的机制,Step 2 会用到。
注意版本口径。这个 skill 迭代很快:早期版本收录 27 种类型,当前主版本 SKILL.md 写的是 44 种,各技能目录站收录的快照新旧不一。以你安装版本仓库里的 SKILL.md 与 references/ 为准;类型清单、安装参数如果与本篇有出入,照你手上的 README 走。
Step 1:安装——技能路线与插件路线
# 路线A:skills CLI,装进当前项目的技能目录
npx skills add https://github.com/cathrynlavery/diagram-design --skill diagram-design
# 也可用 --agent 参数指定目标客户端,例如 --agent claude-code
# 路线B:Claude Code 插件市场(plugin 形态,带斜杠命令)
claude plugin marketplace add cathrynlavery/diagram-design
claude plugin install diagram-design@diagram-design
# 已在 Claude Code 会话里也可以直接用斜杠命令:
# /plugin marketplace add cathrynlavery/diagram-design
# /plugin install diagram-design@diagram-design
路线 A 的通用性更好:skills CLI 面向所有支持 SKILL.md 的客户端,装进的是项目级技能目录(.claude/skills/ 一类),换客户端不用重装。路线 B 是 Claude Code 原生插件形态,除了技能本体还注册了斜杠命令,团队里统一用 Claude Code 的话管理更顺手。安装完成后重启一次会话让技能被发现。
Step 2:品牌风格与 profile
# 出图前先做品牌接入(对话内进行):
# 「先从 https://example.com 提取品牌色与字体,
# 更新 style guide 后再开始画图」
# 或手工粘贴令牌(对齐自家设计系统):
# paper: #FFFFFF
# ink: #1F2937
# accent: #0F62FE
# 定稿后让 skill 存成 profile,
# 项目根目录生成 .diagram-design 标记指向它
这一步值得认真做:默认配色的珊瑚橘落在自家产品文档里,一眼就是「AI 生成的」。六种接入方式里,给官网 URL 让它自动抽取是最常用的——skill 会读站点配色与字体生成令牌;本地有设计系统目录(token 文件、Figma 导出物)时选目录扫描更准。存成 profile 后,这个项目之后的出图都会自动套用,风格门也不再重复发问。
profile 别手工互相拷贝。标记文件选中的 profile 由 references/profiles.md 管理失败与保存行为,直接复制粘贴容易把「活跃 profile 头部」弄丢导致门逻辑失效。跨项目复用走六选项里的「载入已存 profile」,让 skill 自己处理。
Step 3:出图——从一句话到可交付
# 架构图示例:
# 「画一张订单系统架构图:客户端到 API 网关,
# 网关后面是订单服务与库存服务,共享 PostgreSQL
# 与 Redis,事件走 Kafka。用 diagram-design 的
# 架构图类型,输出内联 SVG。」
# 时序图示例:
# 「下单流程时序图:客户端、网关、订单服务、支付服务
# 四方,包含支付超时重试与幂等校验两个分支」
# 甘特图、桑基图、Wardley 地图、鱼骨图、用户旅程……
# 类型直接点名,skill 会加载对应版式参考
提示词的套路不复杂:点名类型(或者描述场景让它帮你选)、列清楚节点、说清连接关系、把分支与例外单独交代。skill 自己的「何时不该用」清单同样值得记住——快速示意用 wiretext 之类的轻量方案、罗列性质用表格、只有一个形状的「图」直接写句子。选对场景,出图质量才有下限。
Step 4:旧图重绘
# 三类来源都支持:
# draw.io —— .drawio / .drawio.png / .drawio.svg
# Mermaid —— .mmd 源文件
# Excalidraw —— .excalidraw 文件
# 重绘提示词示例:
# 「把 docs/legacy-auth.drawio 重绘成新版风格,
# 尺寸对齐 16:9,保留全部分支判断,不要增删节点」
重绘解决的是老项目的真实痛点:文档里的 draw.io 图三年没人敢改,Mermaid 手写长图改一处断一处。重绘时可以指定目标尺寸与细节档位,输出直接对齐新风格。流程上建议分两步——先让它解析原图结构给你确认节点清单,确认无误再生成,避免边改边猜。
重绘后逐节点核对。复杂源文件偶有节点或连线遗漏,交付前对照原图清点数量与分支;另外带内部拓扑、真实域名、密钥占位符的图先脱敏再交给智能体——图会连同全部内容进入模型上下文。
Step 5:迭代手法——像编辑一样改图
# 增量修改示例:
# 「把 Redis 从核心路径挪到旁路,标注只读副本」
# 「给支付失败分支加 annotation callout,
# 注明超时 3 秒触发熔断」
# 「整张图转 sketchy 手绘风格,其余不变」
skill 把「描述行为的语义模式」与「描述版式的类型参考」分开维护,所以挪节点、改流向、加标注这类行为级修改都是增量对话,不需要推倒重来。annotation callout(注释标注原语)、可访问动效、sketchy 手绘变体都是可选项,按需在对话里点名开启。改图的黄金动作是删:节点总在耦合时合并、连线显而易见时去掉,删到「不能再删」才算完成。
Step 6:导出与团队规范
# 导出(对话内完成):
# 「导出 SVG 和 2 倍 PNG」
# 自包含 HTML 直接进 docs/ 仓库或贴进协作工具
# 团队规范化三件事:
# 1) 定制好的 style guide 与 profile 提交进仓库
# 2) 项目根放置 .diagram-design 标记指向 profile
# 3) 新成员装好 skill 即自动继承品牌皮肤
自包含 HTML 意味着每张图都是一个可评审、可 diff、可回滚的代码资产,图表改动走代码评审流程,文档与实现不再两张皮。导出环节注意:PNG 是位图,放大就糊,文档与网页场景优先 SVG;要贴进对格式挑剔的平台再出 PNG。
商用合规自查。skill 本体 MIT 协议可自由商用,但图里的内容素材另有版权:贴进图里的产品 Logo、截图、字体授权都要自己把关,对外发布材料别默认「图是 AI 画的就没问题」。
常见问题 FAQ
Q:和 Mermaid、draw.io 比优势在哪?定位不同。Mermaid/draw.io 产出可编辑源文件,强在维护;diagram-design 直接产成品视觉,强在观感与速度,还带品牌一致性。要「可编辑源文件给同事继续画」选前者,要「文档里直接放成品图」选后者。
Q:不用 Claude 系客户端能装吗?能。SKILL.md 是开放格式,Codex、OpenClaw 等支持技能机制的客户端都能用;skills CLI 安装时用 --agent 参数指定目标客户端即可,具体支持的客户端列表以 skills CLI 文档为准。
Q:44 种类型都会用得上吗?多数团队高频用的是架构图、时序图、流程图、ER 图、甘特图这几类;Wardley 地图、鱼骨图、故事地图这类在方案评审与规划场景价值更高。按需用,不必全记住。
Q:免费吗?MIT 开源协议,免费;成本只有智能体本身的订阅或 API 调用。图越复杂、对话轮次越多,token 消耗越大——大批量出图前先用一两张试试水温和风格。