원클릭으로
devtree
依据 docs/DEVTREE.md 中作者维护的 Epic 结构,重新生成可视化图表和节点索引
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
依据 docs/DEVTREE.md 中作者维护的 Epic 结构,重新生成可视化图表和节点索引
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
按照 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 结构。一次性完成,之后就按新顺序维护。