with one click
devtree
依据 docs/DEVTREE.md 中作者维护的 Epic 结构,重新生成可视化图表和节点索引
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
依据 docs/DEVTREE.md 中作者维护的 Epic 结构,重新生成可视化图表和节点索引
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
按照 git 规则自动分析变更并提交代码
提交前的自动 review 迭代环:委派子 agent 跑 CC 自带 /code-review(默认 sonnet × medium,并发/难复现等硬 diff 升 opus × high),发现高置信正确性问题就修、跑测试+happy-path 验证、复审,迭代到「运行验证通过 + 无高置信 correctness 问题」才放行。收敛靠运行验证+置信过滤,非 reviewer 挑不出为止。三条硬规则:永远显式传档位、永远委派子 agent、只用两个合法的模型×档位组合。由 /commit 在生成 commit 前自动调用,也可手动跑
为空项目搭建文档骨架(README.md / CLAUDE.md / DEVTREE.md),仅在项目首次开发前调用一次
完成当前开发项:撰写 SUMMARY.md,反思跨项目可沉淀流程并可向 claude-code-global 提 issue,关联并关闭 issue(GitHub / GitLab,如有),提交代码
诊断本地分支分叉并按清单引导完成 rebase,历史保持 FF 直线
把 claude-code-global 仓库管理的"跨项目共享开发配置模板"的最新变化同步进当前项目;含 adopt 模式(无 marker 老项目首次接入)
| name | devtree |
| description | 依据 docs/DEVTREE.md 中作者维护的 Epic 结构,重新生成可视化图表和节点索引 |
| disable-model-invocation | false |
用户调用此 skill 表示要刷新「可视化」和「节点索引」两个区块(含同步本轮开发项的 Epic 归属)。
「Epic 结构」区块是单一事实来源。「可视化」和「节点索引」每次调用本 skill 时都必须被完全重建,不允许增量修补、不允许从旧图里复制结构。
执行流程:
如果旧「节点索引」表里有某开发项的「一句话描述」且该开发项在新 Epic 结构中仍存在,可以复用这一行描述(避免重新读 SUMMARY.md),但层级/归属一律以新 Epic 结构为准。
例外:冷启动。当 docs/DEVTREE.md 不存在,或文件中没有「Epic 结构」区块,或 Epic 结构区块没有任何叶 Epic 时,本 skill 改为落初始骨架(见下文「第零步」),不报错。只要 Epic 结构非空,仍严格遵循「从 Epic 结构完全重建」原则。
区块顺序(从上到下):可视化 → 节点索引 → Epic 结构。 读者最先看到的是图,其次是索引表,最底下才是作者手写的依赖关系定义 —— 从「结论」到「原料」。
| 顺序 | 区块 | 维护者 | 说明 |
|---|---|---|---|
| 1 | 可视化 | AI 维护 | Mermaid 图 |
| 2 | 节点索引 | AI 维护 | 所有开发项的分类与 Epic 归属表 |
| 3 | Epic 结构 | 作者主导,AI 协助 | Markdown 树形列表,定义目标层次 + 轮次归属 |
(「可视化」「节点索引」每次从 Epic 结构完全重建,见上「核心原则」。另有「分类图例」小区块在「可视化」之前,作阅读字典。)
Epic 结构是作者主导维护的区块。AI 按下述策略协助:
作者在「Epic 结构」区块中用 Markdown 标题层级定义目标树:
已完成 / 进行中 / 已放弃为每个开发项分配以下 6 类之一,依据 SUMMARY.md(或 PROMPT.md)内容判断:
| 类型 | classDef 名 | 图标 | 判断标准 |
|---|---|---|---|
| 初建 | genesis | 🌱 | 某功能域首次从零建立 |
| 功能 | feature | ✨ | 扩展用户可感知的能力 |
| 修复 | bugfix | 🐛 | 纠正缺陷或回归 |
| 重构 | refactor | 🏗️ | 内部结构改善,用户行为不变 |
| 工程 | infra | 📦 | 打包/CI/分发/工具链 |
| 探索 | research | 🔬 | 调研,可能被搁置或回退 |
按顺序检查:
docs/DEVTREE.md 是否存在## Epic 结构 标题)任一不满足 → 判定为冷启动:
mkdir -p docs(如果 docs/ 也没有)> Epic 结构尚未填写,待作者添加叶 Epic 后再次调用 /devtree 渲染。(此区块由作者维护。在此用 Markdown 标题层级定义目标树。叶 Epic 包含「状态」(已完成 / 进行中 / 已放弃)与「轮次」(逗号分隔的开发项编号列表)字段;非叶 Epic 仅作为分组节点。完整规范见 ~/.claude/skills/devtree/SKILL.md。)
三个条件全部满足 → 冷启动判定不触发,继续执行第一步。
读取 docs/DEVTREE.md 的「Epic 结构」区块,提取:
这一步的数据模型是后续生成的唯一依据(不回看旧「可视化」/「节点索引」推断结构)。
遍历「Epic 结构」中列出的所有开发项编号:
docs/{编号}-*/SUMMARY.md(若无则读 PROMPT.md)分配类型、写一句话描述Mermaid 格式规范:
-->)表达 Epic 层级关系ROOT["{项目目录名}"]:::epic(由 AI 根据项目上下文推断){id}["{名称}"]:::epic,通过 --> 边与父节点连接
pd、ea、crosssubgraph {id}["{状态图标} {名称}"] 容器,内部声明 direction TB,通过 --> 边从父节点指向 subgraph id
~~~(不可见链接)强制纵向堆叠,不画有向边N{编号}["{类型图标} {编号} · {文件夹中文名}"]:::{classDef名}classDef epic fill:#f8f9fa,stroke:#adb5bd,color:#495057 用于 Epic 节点配色历史上踩过坑的几条硬规则,不要图省事:
~~~ 必须两两成对,不许链式:N1 ~~~ N2 ~~~ N3 链式写法在某些 Mermaid 版本会把中间节点当过渡吞掉、整个不渲染。拆成独立行(即便只两个节点):
N1 ~~~ N2
N2 ~~~ N3
--> 边放最前面,subgraph 块全部放在边声明之后。解析更稳、diff 更清爽。rankSpacing: 30, nodeSpacing: 20:节点密集的子图需更多呼吸空间,否则标签重叠或被裁。Qwen3-ASR 替换 SenseVoice 优于 Qwen3-ASR替换SenseVoice,避免个别渲染器对 CJK + 连字符的怪异处理。节点索引名称列同步保持一致。按编号升序排列,每行包含:编号、名称、类型、所属叶 Epic、一句话描述。「所属 Epic」列必须与第一步解析出的 Epic 结构一致,不得沿用旧索引中的归属。表格用紧凑单空格、不对齐补空格(见「输出格式模板」的表格规则)。
区块顺序固定:分类图例 → 可视化 → 节点索引 → Epic 结构。
表格一律用紧凑单空格:生成「分类图例」「节点索引」等表格时,每个单元格只用一个空格包裹、竖线不对齐(| a | b |、分隔行 | - | - |),绝不把各列补空格对齐到等宽。原因:DEVTREE.md 已被 .prettierignore 豁免,对齐补空格会让「内容一变整列重排」→ 每次 /devtree 刷新 diff 爆炸;紧凑单空格下改一行只动那一行(渲染结果两种写法相同)。注意:下方示例表在本 SKILL.md 里显示为对齐,是因 SKILL.md 自身不在豁免名单、被 prettier 补齐——示例仅供看列结构,写进 DEVTREE.md 时务必用紧凑单空格。
# 开发树
## 分类图例
| 图标 | 类型 | 说明 |
| ---- | ---- | -------------------------- |
| 🌱 | 初建 | 某功能域首次从零建立 |
| ✨ | 功能 | 扩展用户可感知的能力 |
| 🐛 | 修复 | 纠正缺陷或回归 |
| 🏗️ | 重构 | 内部结构改善,用户行为不变 |
| 📦 | 工程 | 打包/CI/分发/工具链 |
| 🔬 | 探索 | 调研,可能被搁置 |
## 可视化
```mermaid
%%{init: {'flowchart': {'rankSpacing': 30, 'nodeSpacing': 20}}}%%
graph TD
classDef genesis fill:#d4edda,stroke:#28a745,color:#155724,font-weight:bold
classDef feature fill:#cce5ff,stroke:#0d6efd,color:#003d8f,font-weight:bold
classDef bugfix fill:#f8d7da,stroke:#dc3545,color:#721c24,font-weight:bold
classDef refactor fill:#fff3cd,stroke:#ffc107,color:#664d03,font-weight:bold
classDef infra fill:#e2d9f3,stroke:#6f42c1,color:#3d1a78,font-weight:bold
classDef research fill:#e2e3e5,stroke:#6c757d,color:#383d41,font-weight:bold
classDef epic fill:#f8f9fa,stroke:#adb5bd,color:#495057,font-weight:bold,font-size:15px
ROOT["项目名"]:::epic
ROOT --> ea["顶层 Epic A"]:::epic
ea --> ea1
ea --> ea2
subgraph ea1["✅ 叶 Epic A1"]
direction TB
N0["🌱 0 · 示例开发项"]:::genesis
end
subgraph ea2["🔄 叶 Epic A2"]
direction TB
N1["✨ 1 · 示例开发项"]:::feature
N2["🐛 2 · 示例开发项"]:::bugfix
N1 ~~~ N2
end
```
## 节点索引
> 最后更新:{今日日期} | 共 {N} 轮
| # | 名称 | 类型 | 所属 Epic | 一句话描述 |
| --- | ---------- | ------- | ---------- | -------------- |
| 0 | 示例开发项 | 🌱 初建 | 叶 Epic A1 | (一句话描述) |
| 1 | 示例开发项 | ✨ 功能 | 叶 Epic A2 | (一句话描述) |
| 2 | 示例开发项 | 🐛 修复 | 叶 Epic A2 | (一句话描述) |
## Epic 结构
(此区块由作者主导维护;AI 仅在有新开发项且作者尚未自行加入时,提议追加并等确认后写入。)
如果进入本 skill 时看到的 docs/DEVTREE.md 还是老顺序(Epic 结构在第一位),本次调用要顺手把全文颠倒成新顺序:分类图例 → 可视化 → 节点索引 → Epic 结构。一次性完成,之后就按新顺序维护。