
不知道你有没有被流程图改到崩溃的时候反正我有。需求方说“这里加一个判断”产品说“那条线走向不对”你打开画图软件拖框、拉线、调对齐改完一看整张图乱了。最近社区里特别流行一个做法不是继续跟画布较劲而是给 AI 配一个叫 Skill 的流程图编辑技能让所有修改都回到文字里发生。今天这篇就把这个热门 Skill 的玩法拆开讲清楚从为什么值得做到怎么自己写一个再到实际改流程图的完整过程一次说透。适合正在给 AI 写技能的人、画业务流程图的人以及所有后期不想再手动拖框的同学参考。1. 为什么改图改到崩溃反而要回到文字里1.1 改图崩溃的根因不是手残是画布状态先说个扎心的真相很多人改图画到崩溃并不全是操作不熟练而是画布本身太难维护。想象一张用户管理模块流程图里面有登录、注册、权限判断、管理员审核、锁定账号这些节点节点之间密密麻麻全是线。这时你想在“登录成功”和“进入首页”之间多加一个“是否需要重置密码”的判断听起来只是一条小改动但实际做起来要挪框、拉线可能还要把周围几条交叉的线全部重排一遍。拖完这个框周围的对齐又歪了调完对齐字体又要重新设。一次小改动半小时搭进去。这种痛苦在业务里特别常见。像 SAP 那种从采购到 PS 到销售的跨部门流程一张图动辄几十个节点线一多任何人去改都需要极大的心理建设。绘图软件擅长的是“从零画一张漂亮图”可一旦进入频繁修改阶段它就是负资产。你真正需要的是“描述这张图当前长什么样以及我希望它变成什么样”而不是在视觉层一次次手工搬运方块和箭头。1.2 文字才是流程图最稳定的中间格式流程图本质上不是图而是数据。任何一个流程图都可以拆成两件事一堆节点和一堆节点之间的连线。节点有名称、有类型连线有起点、终点可能还有条件分支。这些东西用文字表达反而更自然。我说的“回到文字里”不是退化成用 Word 打一堆文字说明而是把流程图当作结构化文本来维护。常见做法是节点清单和连线清单都写成 Markdown 表格或者代码块再用一个渲染脚本把这些文字变成图。这样做的最大好处是修改成本从“拖动图形”变成“改一行字”。比如你想把“审核通过后走下一步”改成“审核通过后先判断金额是否超过一万”那就只是在连线表里加一行在节点表里加一个节点。更重要的是文字天然支持版本控制。你用 Git 管理代码的时候每次改动都能看到 diff流程图也得能这样。但如果是文件格式二进制的绘图工程文件你很难在 diff 里看清“到底谁改了哪条线”。一旦把流程图维护在文本层这次改了什么、为什么改、上个版本长什么样全都清清楚楚。对团队协作来说这简直是一次解放评审人不用打开画布直接看文本 diff 就能给意见。1.3 什么图适合搬回文字里不是所有图都要用这套方案。如果只是画一个永远不会再改的示意图直接拖框五分钟搞定没必要上 Skill。但如果你的流程图处在高频修改状态或者需要多人协作或者要和代码、文档放在一起维护那文字方案就非常值得。适合的场景有几类一是算法流程图比如“输入 10 个数输出最大的数”“判断 n 能否同时被 3 和 5 整除”“求两个数 m 和 n 的最大公约数”这类流程图逻辑确定、节点清晰适合用文本描述甚至可以直接让 AI 把答案转成 N-S 图二是业务流程图特别是跨部门、跨系统的链路图比如采购到销售、订单到回款三是系统模块流程图像用户管理模块里登录、注册、权限、审核这些动作节点多、分支多改一版就要重新画一版用文字维护能省掉一半工作量。2. Skill 到底是什么它和 Agent 有什么不同2.1 Skill 的本质是“技能手册”而不是提示词这个热门方案的关键词是 Skill很多人第一次听会把它当成一种特殊提示词其实不是。Skill 更接近“技能手册”一个给 AI 助手看的操作说明书包含角色定位、处理流程、输入输出格式、注意事项甚至还可以带上脚本、模板、示例文件。现在很多 AI 编程工具都在支持这种目录约定比如在项目里放.claude/skills/、.codex/skills/、.cursor/skills/这样的目录目录下有一个SKILL.md文件里面写清楚这个技能是干嘛的、遇到什么情况调用、按什么步骤执行。有的工具还允许带 Python 脚本、Shell 脚本、参考模板让 Skill 不只是“会说话”还能“会动手”。以流程图修改 Skill 为例它不是一个简单的“帮我画个图”提示词而是告诉 AI“当用户给你流程需求时先拆节点再拆连线用表格输出然后套用渲染脚本生成图片如果用户要加分支你需要同步更新节点表和连线表并保证没有悬空的线。”这样 AI 每次执行都有固定套路输出质量稳定很多。2.2 Skill 和 Agent 的分工有人会把 Skill 和 Agent 混在一起其实它们是两个层面的东西。Agent 是那个跑起来的“大脑”负责理解任务、拆解步骤、决定什么时候调用什么工具Skill 则是大脑手里的一本本“操作手册”或者说是工具箱里的专用工具。Agent 可以同时使用多个 SkillSkill 自己不会主动跑它要等 Agent 触发。用一个生活化类比Agent 是做饭的主厨Skill 是菜谱和专用厨具。主厨会根据需求决定现在做川菜还是粤菜然后翻对应的菜谱用对应的切菜工具。你不需要让菜谱自己去炒菜你只需要确保菜谱写得足够清楚。放到流程图场景里Agent 负责理解“用户想改哪里、改成什么样”流程图 Skill 负责提供一套标准化的操作流程怎么把需求转成节点表怎么改不会破坏整张图。2.3 为什么热门 Skill 都选择“文字进文字出”最近各个社区里冒出一堆 Skill有做 PPT 的、有把一本书拆成读书卡片的、有做代码评审的还有专门处理流程图的。它们有一个共同趋势输入尽量用文字输出也尽量用文字中间如果需要成图再把文字交给渲染器。原因是AI 对文字的处理能力远强于对图形元素的操作能力。这一点我自己深有体会。让 AI 直接“在画布上拖一个框”是很难的因为 AI 没有手也没有鼠标它只能改代码、改文件、改配置。但让它“在这份节点表里加一行然后重新输出这一小段流程描述”它非常擅长。只要最后有一个工具能把文本渲染成图AI 就能全程参与流程图修改效果还比人手工拖得快。这套逻辑Claude 能用Codex 能用Cursor 能用很多支持 Skill 目录的 AI 工具都能用。3. 手把手做一个流程图修改 Skill3.1 先建目录跟着现有约定走要自己做一个流程图修改 Skill第一步不是写提示词而是先建目录。不同工具的加载位置略有区别但思路一致在项目里放一个符合约定的文件夹里面放一个SKILL.md然后让 AI 工具能扫到它。以最常见的目录形式为例你可以在项目根目录下建.claude/skills/flowchart-editor/ SKILL.md examples/ scripts/.codex/skills/flowchart-editor/ SKILL.md examples/ scripts/取什么名字不重要关键是要让 AI 在遇到流程图需求时能识别到“flowchart-editor”这个技能。如果你不想放项目里有些工具也支持放全局目录这样每个项目都能用。目录建好后真正的核心工作就是写好SKILL.md。3.2 SKILL.md 应该写什么SKILL.md是一份 Markdown 文件开头一般有一小段 YAML 格式的元信息用来告诉 AI 这个技能的名字和触发条件。再往下就是详细说明包括使用场景、执行步骤、输出规范和禁忌。下面是一个比较通用的模板可以直接抄--- name: flowchart-editor description: 当用户需要创建、修改或解析流程图时使用。支持业务流程图、系统流程图、算法流程图、用户管理模块流程图等。 --- # 流程图编辑技能说明 ## 工作目标 根据用户需求把流程逻辑整理成可渲染的文本结构确保节点、连线、分支逻辑一致。 ## 处理步骤 1. 先把用户需求拆成“流程目的”和“关键节点”。 2. 用表格整理节点清单字段包括节点 ID、节点名称、节点类型。 3. 用表格整理连线清单字段包括起点 ID、终点 ID、分支条件可选。 4. 生成可渲染的流程图描述文本并用渲染工具输出为图片。 5. 如果用户要求修改先定位受影响的节点和连线再修改文本不要直接重画整张图。 ## 输出规范 - 节点 ID 使用英文或拼音避免空格。 - 节点名称用中文不超过 8 个字。 - 条件分支用“是 / 否 / 其他”表达。 - 所有节点必须至少有一条入口或出口不能出现悬空节点。模板不用太花哨关键是让 AI 形成稳定的工作流先拆、后画、按表格输出、不随意重画。这里还有一个容易被忽略的点你要告诉 AI 什么情况下不要用这个 Skill。比如用户只是随口问“流程图怎么画”没有具体需求那就不需要动手先提问确认边界。3.3 技能的核心结构化流程描述写完了SKILL.md还要解决一个核心问题AI 输出什么格式的文本后续渲染才不坑。我的经验是不要只让 AI 写一段自然语言“流程图描述”而要让它输出节点表和连线表。先定义节点表例如| 节点ID | 节点名称 | 节点类型 | |--------|----------|----------| | start | 开始 | start | | input | 输入x | operation | | judge | xy? | gateway | | output | 输出较大值 | operation | | end | 结束 | end |再定义连线表例如| 起点ID | 终点ID | 分支条件 | |--------|--------|----------| | start | input | - | | input | judge | - | | judge | output | 是 | | judge | other | 否 | | other | end | - |这两张表就是流程图的“源代码”。AI 改图的时候本质上是改这两张表渲染的时候脚本再把表转成图。这样的好处是AI 不需要理解“画布”只需要理解表格关系准确率会高很多。后面对接 BPMN 这类带网关的标准模型也方便节点类型里写上 gateway、task、event连 BPMN 流程都能兼容。3.4 顺便加一个渲染脚本SKILL.md负责给 AI 讲规则渲染脚本负责把文本变成图。你可以自己写一个脚本也可以直接用市面上成熟的开源渲染工具。比较省事的做法是在 Skill 的scripts目录里放一个简单的命令行脚本接收一个.md文件或.mmd文件然后调用渲染引擎输出 PNG 或 SVG。比如安装渲染命令行工具后可以这样执行npx mermaid-js/mermaid-cli -i flow.mmd -o flow.pngpython render_flow.py --input flow.md --output flow.png如果你不想装命令行工具就把文本粘贴到支持图渲染的在线编辑器里预览效果一样。Skill 里带上渲染脚本的唯一好处是AI 可以在本地自动完成“生成文本→渲染图片→检查图片”的闭环。注意脚本本身不要复杂因为 AI 调用终端工具时越简单越不容易出错。4. 实操过程从“帮我改一条线”到一次成型4.1 先让 Skill 听懂需求Skill 写好后决定成败的关键就是你下的指令。很多人直接用“帮我把这里改一下”这种话AI 根本不知道“这里”是哪。要改流程最少要把两个东西说明白当前流程的状态和期望改成的状态。哪怕你不清楚具体节点叫什么只要说“登录后进入首页前加一个判断如果密码过期就跳转重置密码页否则进首页”AI 也能根据 Skill 里的规范把节点表和连线表改出来。一个我自己用着很顺的指令格式是当前流程用户输入账号密码系统校验成功进入首页校验失败返回登录页。 目标流程在校验成功后增加“密码是否过期”的判断过期则进入重置密码页否则进入首页。 请按流程图 Skill 的规范更新节点表和连线表并输出最终流程图文本。这里的关键是“给现状给目标指定使用规范”。AI 不需要猜你什么意思它只需要沿着 Skill 的步骤走最后输出一份稳定的结构化结果。4.2 一个典型例子10 个数找最大值算法流程图是最适合先拿来做测试的场景因为逻辑分散、分支多典型如“依次输入 10 个数要求输出其中最大的数”。用传统流程图表达很多新手会纠结怎么画循环和判断但用文字加节点表就非常清楚。先想逻辑输入第一个数时先把它当成当前最大值之后每输入一个数就和当前最大值比比它大就替换比它小就保留循环 10 次后输出最大值。节点表可以拆成节点 start开始 节点 initcount0, max0 节点 input输入一个数 x 节点 comparex max ? 节点 updatemax x 节点 inccount count 1 节点 loopcount 10 ? 节点 output输出 max 节点 end结束连线表就是start - init init - input input - compare compare(是) - update compare(否) - inc update - inc inc - loop loop(否) - input loop(是) - output output - end只要文本结构对得上渲染出来就是一张标准算法流程图。而且同一个文本结构还可以再让 Skill 转成 N-S 图或者伪代码对学习算法、写作业、出教程都很有用。这也解释了为什么“回到文字里”这么好用同样的逻辑换一种表达方式就能得到不同形式的输出。4.3 改图场景给用户管理模块加一个“重置密码”分支实际业务里流程图高频修改的场景往往不是从零画图而是“在已有图上加分支”。比如一张用户管理模块流程图原来用户登录后的流程是校验账号、校验密码、进入首页。现在产品说要在校验密码后增加一个“密码过期”的判断过期就去重置密码页没过期才进首页。用传统画法你要在原图上找位置插一个菱形判断框再拉两条线还得调整附近所有节点。用 Skill 就简单多了你只要告诉 AI“在校验密码之后进入首页之前加一个判断节点。密码过期→进入重置密码页密码未过期→进入首页。重置完成后回到登录页。” AI 会自动补上节点表和连线表里的对应行然后重新渲染。这种场景下Skill 的价值不是“画得快”而是“改得稳”。手动画图改三个分支可能漏一条线AI 改文本只要按规则来所有节点都能被追踪。尤其像系统流程图、跨部门业务流程图这种动辄几十个步骤的图多分支、多网关靠人眼检查很难做到零遗漏而文本结构的校验规则能帮你兜底。4.4 验证与导出改完文本后一定要做一次验证别急着交给别人。我一般会看三个东西第一有没有悬空节点也就是只有入口没有出口、或只有出口没有入口的节点第二分支条件是否互斥不能出现两个分支条件都为真的情况第三逻辑闭环流程最终能不能走到结束节点。把文本渲染成图之后还要瞄一眼中文显示是否正常、线有没有交叉灾难、节点名有没有被截断。如果只是一张很小的流程图这些检查人工做很快如果是几十个节点的大图就让 Skill 自己输出一份“检查清单”再配合渲染图确认。经过这一步你交出去的图基本不会翻车。5. 常见问题与排查技巧实录5.1 Skill 不被触发或没生效用了 Skill 但 AI 好像根本没按流程走是最常见的问题。先检查目录位置对不对有些工具只扫描特定路径放错地方就白搭。再看SKILL.md里的 description 是否写清楚了触发条件最好带上“流程图”“流程节点”“分支”这类词否则 AI 可能不知道这个技能适合当前任务。最后看你的提问方式你得让 AI 明显意识到这是流程图需求比如直接说“请使用流程图编辑 Skill 来改这张图”命中率会高很多。5.2 分支条件写反或逻辑不对AI 改图时偶尔会把“是/否”搞反比如“密码过期”分支下是走向“重置密码”还是走“直接通过”经常被弄颠倒。我的排查技巧是在指令里写全要素判断条件是什么、满足条件时去哪里、不满足条件时去哪里。你给的信息越完整AI 出错的概率就越低。如果渲染图里已经错了别让 AI 猜直接把出错的那两个节点名称点出来说“把 judge 节点‘是’出口指向改为 update而不是 end”一次就能改对。5.3 中文乱码和文字溢出文本渲染成图时中文乱码多半是缺少字体导致的。在服务器或命令行环境里渲染要先检查系统有没有中文字体没有就装一个。节点名称太长也会导致框里文字溢出可以在节点表规范里加一条节点名称不超过 8 个汉字放不下的信息放到连线条件或备注里。截面图、导出 PNG 时如果还乱多半是渲染引擎配置问题试着换一个渲染器往往能解决。5.4 现成图片怎么逆向回文字有人问我手里已经有一张图不是文本生成的怎么改成这种方式单纯让 AI 看一张图片然后直接输出可编辑文本偶尔能做但不稳定。我的做法是先把图片里的信息用人工或 AI 识别成“节点清单连线清单”转入文字层后再交给 Skill 维护。一旦转成功以后所有修改都不再依赖原始图片文件等于把这幅图“数字化”了。这个方法对于老旧文档、评审截图特别有用值得专门沉淀成一步流程。我自己现在改流程图已经很少打开画板去拖框了。大多数时候是开一个 Markdown 文件让流程图 Skill 帮我改结构文本再渲染成图确认一眼。刚开始会觉得不习惯但多改几次尤其是经历过“一个分支改动导致整条线重排”的惨案之后就会理解“改文字”这种方案的踏实之处。它不一定帮你画得更漂亮但一定能帮你改得更轻松。这个模式真正适合的其实是所有需要反复演进、持续维护的流程图不只是程序员做产品、做运营、做流程管理的人一样可以用。