关于 v-planning
用于将实现计划组织为可独立测试的垂直切片 DAG。它引导调研、依赖设计、步骤编写和结构验证,之后再将计划交由实现流程处理。
主要功能
- 01基于 DAG 的实现计划
- 02带依赖关系的垂直切片
- 03将调研委派给子 Agent
- 04自动验证计划结构
- 05步骤级与全局成功标准
适用场景
- 01规划可并行的功能实现
- 02将工作拆分为可独立测试的步骤
- 03为新的实现会话准备计划
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ desplega-ai/ ai-toolbox --skill v-planning安装后在 Claude Code 中输入/v-planning确认已加载。
附带文件templates/root.mdtemplates/step.md
详细介绍
v-planning
你可以将实现计划编写为垂直步骤组成的 DAG——每个步骤都是一个完整且可进行 QA 的价值切片(针对一项功能,包含 DB + API + UI + 测试)。DAG 描述功能级依赖关系,因此可以由子 Agent 并行实现互不依赖的步骤。
输出为一个计划目录:thoughts/<username|shared>/plans/YYYY-MM-DD-description/:
root.md # Overview, mermaid DAG, step index, Global Verification
step-1.md # frontmatter (id, name, depends_on) + Success Criteria
step-2.md
└── step-N.md
开始前的设置
-
自主模式——由调用命令传入;若未指定,默认为 Critical。
模式 行为 Autopilot 独立开展调研,编写完整计划目录,最后仅提交审阅 Critical(默认) 每完成一个调研步骤后,在起草前询问澄清问题;尤其要在 DAG 分解阶段列出设计选项 Verbose 每个子步骤都进行确认:验证理解、确认范围、指出未知事项,并在编写每个步骤文件前征求确认 -
提交偏好——除非处于 Autopilot 模式,否则通过
AskUserQuestion询问一次:问题 选项 “手动验证通过后,是否在每个步骤完成时创建提交?” 1. 是(推荐),2. 否,我会自行处理提交 -
以往经验——**可选子技能:**如果
~/.agentic-learnings.json存在,先运行/learning recall <topic>。
10 条规则
-
先搭建框架——在任何调研之前,先退出计划模式,并使用
cc-plugin/base/skills/v-planning/templates/root.md创建计划目录及其中的root.md。(如果知道用户姓名,就使用该姓名,例如taras;否则使用thoughts/shared/。)随着 DAG 在规则 4 中逐渐成形,再添加步骤文件。目录逐步完善,用户可以及早纠正方向。 -
繁重工作全部交给子 Agent——文件读取、调研、验证。默认设置
run_in_background: true。不要将原始工具输出放入主会话。 子 Agent 选项:codebase-locator(查找文件)、codebase-analyzer(理解当前实现)、codebase-pattern-finder(查找相似功能)、context7MCP(库/框架详情)、Explore或general-purpose(阅读提及的文件)。 -
通过
AskUserQuestion提问——参阅desplega:ask-user了解规范。切勿在聊天中以普通项目符号列表提问。 -
Critical/Verbose 模式下每完成一个步骤都提问,然后继续循环——按章节逐步编写计划:当前状态分析 → 实现方案 → DAG 分解 → 各步骤详情。每个章节都按以下流程进行:启动子 Agent → 综合调查结果(附
file:line引用)→ 通过AskUserQuestion询问未解决的问题 → 起草 → 进入下一章节。- DAG 分解:识别垂直切片(每个切片都能独立进行 QA)、它们的依赖关系,以及任何明确的集成步骤。列出拟议的步骤清单和 mermaid 图,并通过
AskUserQuestion确认结构,再起草步骤文件。 - 各步骤详情:根据
cc-plugin/base/skills/v-planning/templates/step.md创建每个step-<n>.md。Frontmatter 中的depends_on: [step-X, ...]是权威信息;root.md中的 mermaid 图和步骤索引表是派生视图——需保持同步。
- DAG 分解:识别垂直切片(每个切片都能独立进行 QA)、它们的依赖关系,以及任何明确的集成步骤。列出拟议的步骤清单和 mermaid 图,并通过
-
每个步骤都要有具体交付物(垂直切片)——每个步骤的 Overview 都要说明完成后将有哪些文件/功能/产出。**每个步骤都必须能独立进行 QA。**仅分层的步骤(“DB 迁移”“只有端点”)都应视为问题——应将它们合并为垂直切片。“改进 X”和“重构 Y”也都属于问题。
-
用工作成果证明进度:尽量采用自动化验证和自动化 QA——尽可能将工作变为可运行的命令(低层级)和由 Agent 驱动的 QA(browser-use、截图差异比较、CLI 演练)。手动验证是例外。每个步骤都有自己的 Success Criteria 区块;
root.md包含## Global Verification,用于在整个 DAG 完成后才执行的跨步骤检查。仅在跨步骤/需要大量证据的 QA 场景下,才使用链接到desplega:qa文档的### QA Spec (optional):,不要用于常规的逐步骤检查。 -
建议拆分 — 当某个步骤包含 >4 个子步骤或 >2 个不同关注点时,将其拆分为多个 DAG 节点(适当连接依赖关系)。当整个 DAG 无法放进一次并行实现会话时,将其拆分为多个计划(例如:契约 → 存储 → UI)。线性 DAG 可以接受,但值得指出——线性的
planning技能可能更合适。 -
坦率直言地提出异议 — 如果计划过大、含糊不清、混杂多个关注点或存在明显风险,请使用
desplega:feedback。沉默是毁灭性的同理心。 -
在展示计划前,使用 Haiku 子 Agent 验证结构(
general-purpose,并设置model: haiku)。请验证:每个step-<n>.md都包含全部三个“成功标准”小节(自动化验证 + 自动化 QA + 手动验证);所有条目都使用- [ ];自动化检查都是可运行的命令;每个步骤的depends_on都引用了现有步骤 ID;DAG 中没有环;root.md的 mermaid 图表与步骤索引表和步骤 frontmatter 一致;每个步骤的 frontmatter 都有status: ready(新建计划;状态转换发生在/v-implement期间);引用的路径都存在。请在展示前修正问题。 -
交接给新的会话——切勿在此处实现。 收尾步骤:
-
打开
/file-review:file-review <plan-dir>/root.md(Autopilot 模式除外);逐条处理意见。如有需要,重新打开各个step-<n>.md文件。 -
可选择调用
desplega:reviewing进行差距分析(通过AskUserQuestion提供此选项)。 -
可选子技能: 如果产生了重要见解,请通过
/learning capture记录。 -
如果任何步骤包含
### QA Spec (optional):块,请在交接前通过desplega:qa生成 QA 文档(thoughts/<username|shared>/qa/YYYY-MM-DD-[feature].md)。场景应写在文档中,而不是计划中。 -
通过
AskUserQuestion询问:问题 选项 "计划已就绪。接下来怎么做?" 1. 在新会话中实现,2. 先运行 /review,3. 暂时完成(搁置计划) -
明确告知用户:"打开一个新的 Claude Code 会话并运行
/desplega:v-implement <plan-dir>。从全新会话开始可保持实现上下文干净。"
-
DAG 细则
- 依赖关系以 frontmatter 为准。
root.md的 mermaid 图表由其生成。若两者不一致,以 frontmatter 为准。 - 步骤必须自成一体。 只拿到一个
step-<n>.md(以及来自root.md的计划级上下文)的子 Agent,应无需阅读其他步骤就能实现该步骤。 - frontmatter 携带执行状态。 每个步骤的初始状态为
status: ready;desplega:step-running会将状态依次转换为claimed→done(可重试的失败则恢复为ready),并在处于claimed状态时写入assignee/claimed_at。这样,同一计划目录就能安全地由多个编排器实例驱动。步骤正文(所需更改、成功标准)在执行期间不可变——只有 frontmatter 和复选框状态会变化。 - 必要时明确列出集成步骤。 如果并行的同级步骤需要进行非简单的整合(跨领域 e2e、共享界面协调),请添加一个显式的
step-N,设置depends_on: [step-X, step-Y, ...],其工作内容为“整合 + e2e”。否则,DAG 会在叶节点处结束。
提交集成
如果在 Setup 中启用了逐步骤提交:
- 每个步骤通过手动验证后,使用格式
[step-N] <brief description>提交。 - 仅在明确确认手动验证通过后才提交。
- 否则跳过——由用户处理提交。
成功标准格式(必须)
规范格式和标题层级见:
cc-plugin/base/skills/v-planning/templates/root.md(## Global Verification)cc-plugin/base/skills/v-planning/templates/step.md(每个步骤的三类成功标准)
结构验证会自动运行(规则 9,Haiku 子 Agent)。