with one click
ddev-diagram
用户需要绘制架构图、流程图、数据流图、对比图时使用。AI 直接按规范手写 ASCII 图到 .md,不经过 PlantUML。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
用户需要绘制架构图、流程图、数据流图、对比图时使用。AI 直接按规范手写 ASCII 图到 .md,不经过 PlantUML。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
在当前会话里按已写好的实现计划顺序执行任务时使用
在已有规格或多步骤任务需求、且在动代码之前使用。若上游 ddev-pc-test 已产出测试用例,自动走 TDD 流程:先实现测试 demo 代码(红灯),再实现被测代码(绿灯),测试覆盖不到的部分直接开发。
文档审查技能。将文档审查任务派发给独立子代理,重点审查文档基于代码改动的合理性、说明正确性、前后一致性、错漏和逻辑谬误,以及 AI 实现过程中产生的决策记录(implementation-notes.md)。当用户需要审查技术文档、spec文档、设计文档、计划文档、API文档、README 或任何与代码改动相关的文档时使用。
代码修改场景下,spec 文档确认后,需要继续以图优先方式梳理结构体定义、数据流和流程时使用
在代码修改前需要编写 spec 文档且应优先用图表达边界、入口、流程和改动关系时使用(仅限代码改动场景,非项目级架构文档初始化)
在代码实现完成后、准备结束任务或进入发布前使用,用来核对代码实现是否与 spec 文档以及 detail 文档一致,并通过代码质量审查、清理、编码规范和注释审查后给出最终验收结论
| name | ddev-diagram |
| description | 用户需要绘制架构图、流程图、数据流图、对比图时使用。AI 直接按规范手写 ASCII 图到 .md,不经过 PlantUML。 |
所有图文档共用的画图方法。业务 skill 只负责说"画什么",这里负责说"怎么画"。
如果上游来自 ddev-spec,默认就是把已写出的实现架构文档细化成图,不重新讨论架构本身。
如果上游来自 ddev-plan,默认就是把已确认的计划画成支持执行的图,不反过来改计划目标。
.md 文件,ASCII 图直接写在 fenced code block 里.puml 中间文件YY-MM-DD_name.md用户表达以下任一意图时,直接在 .md 中操作:
执行顺序:
.md更新 .md 时先判断类型:
默认目标:图跟着改动变,正文保持稳定。
在架构阶段,优先把"架构规划 + 接入点 + 主流程 + 前后对比"这四类图补齐。
❌ ASCII 拼接:
+----+----+
| A | B |
+----+----+
✅ Unicode 制表符:
┌────┬────┐
│ A │ B │
└────┴────┘
| 字符 | 作用 | 字符 | 作用 |
|---|---|---|---|
┌ ┐ └ ┘ | 四角 | ├ ┤ ┬ ┴ ┼ | T 型 / 十字 |
│ | 竖线 | ─ | 横线 |
► ▼ ▲ ◄ | 实心箭头 | ▷ ▽ △ ◁ | 空心箭头 |
同一列所有框宽度必须一致。先扫内容取最长标签,加边距后统一使用。
列宽 = max(框内最长行宽度) + 2 // 左右各留白一格
只用横线 ─ + 竖线 │,转弯用 └ ┌ ┘ ┐。
✅ 正交:
A ──> B
│
v
C
❌ 斜线:
A ──> B
╲
C
──> 右箭头 <── 左箭头
v 下箭头 ^ 上箭头
跨行箭头先竖线延伸到目标行再转弯:
A ─────────┐
v
B <────────┘
框内文字不超过 2 行。详细说明用框外标注或脚注补充。
框图 fenced code block 内的所有标签使用英文。 不在框内写中文。
原因:CJK 字符在等宽字体中的实际像素宽度 ≠ 2× ASCII 宽度(由字体渲染引擎决定,无法通过列宽计算弥补)。在框图中混用中英文会导致视觉错位("犬牙交错"),且此问题无法通过列宽算法解决。
✅ 英文标签:
┌────────────────┐
│ flash_test/ │
│ (new module) │
└────────────────┘
❌ 中文标签(对齐不可靠):
┌────────────────┐
│ 闪存测试/ │
│ (新增模块) │
└────────────────┘
规则:
_ 或 camelCase 保留代码标识符风格OK、FAIL、count=0)图外中文说明是对图中逻辑、流程或关系的中文解读,帮助读者理解"发生了什么";它不是图中英文术语的中英对照表。
✅ 正确 — 解释图意:
> 上电后 bootloader 先校验 flash_test 模块的签名,验签通过才跳转。
> 如果签名无效,回退到 recovery 分区。
❌ 错误 — 翻译术语表:
| 图中英文 | 中文 |
|----------------|---------|
| bootloader | 引导程序 |
| flash_test | 闪存测试 |
| recovery | 恢复分区 |
规则:
一张图只回答一个问题。开始拥挤就拆多张。
一张图 = 一个视角(边界 / 状态 / 数据布局 / 流程)
│ ─ v ──> 等连线图文档按此顺序:
每次写完或更新含图 .md 后,必须执行以下核对。不通过不得视为完成。
.md 文件全文| # | 检查项 | 方法 | 不通过时 |
|---|---|---|---|
| A | 右边框对齐 | 扫描 │ 字符列位置:同一列的 │ 是否在同一字符列 | 补空格或削空格,重写该行 |
| B | 上下框线等宽 | 同框的 ┌─...─┐ 和 └─...─┘ 必须字符数相同 | 调整横线数量 |
| C | T型/十字接合完整 | ├ ┤ ┬ ┴ ┼ 上下左右邻接位是否有对应连线 | 补连或改T型字符 |
| D | 无斜线 | grep ╲ ╱ ╳ ╱ — 必须零命中 | 改用正交转折 |
| E | 无断线 | 竖线 │ 贯穿多行时,每行同一列都有 │ 或合法转角 | 补竖线 |
写入的图(错误 — 第 3 行右边框偏右):
┌──────────────────────┐
│ AGENTS.md (global) │
│ session end hook │ ← 右边框比第 1 行右移了 2 列
└──────────────────────┘
自检发现 → 修正为:
┌──────────────────────┐
│ AGENTS.md (global) │
│ session end hook │
└──────────────────────┘
.md 中的 ASCII 图是否按绘制规范执行