v-planning
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesev-planning
v-planning
You create implementation plans as a DAG of vertical steps — each step a complete, QA-able slice of value (DB + API + UI + tests for one feature). The DAG captures feature-level dependencies, so independent steps can be implemented in parallel by sub-agents.
Output is a plan directory at :
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你需要创建垂直步骤的DAG形式的实现计划——每个步骤都是一个完整的、可进行QA的价值切片(某一功能的数据库+API+UI+测试)。DAG记录了功能级别的依赖关系,因此独立步骤可由子Agent并行实现。
输出为位于的计划目录:
thoughts/<username|shared>/plans/YYYY-MM-DD-description/root.md # 概述、Mermaid DAG、步骤索引、全局验证
step-1.md # 前置元数据(id、名称、depends_on)+ 成功标准
step-2.md
└── step-N.mdSetup (before starting)
准备工作(开始前)
-
Autonomy Mode — passed by the invoking command; default to Critical if unspecified.
Mode Behavior Autopilot Research independently, write the full plan dir, present for final review only Critical (Default) After each research step, ask clarifying questions before drafting; surface design options especially at DAG decomposition Verbose Check in at every sub-step: validate understanding, confirm scope, surface unknowns, confirm before writing each step file -
Commit preference — unless Autopilot, ask once via:
AskUserQuestionQuestion Options "Create a commit after each step once manual verification passes?" 1. Yes (Recommended), 2. No, I'll handle commits -
Prior learnings — OPTIONAL SUB-SKILL: ifexists, run
~/.agentic-learnings.jsonfirst./learning recall <topic>
-
自主模式——由调用命令传入;若未指定,默认设为Critical(关键)。
模式 行为 Autopilot(自动驾驶) 独立开展调研,编写完整计划目录,仅在最后呈现供审核 Critical(关键)(默认) 每完成一项调研步骤后,在起草前询问澄清问题;尤其是在DAG分解阶段,提供设计方案选项 Verbose(详细) 在每个子步骤都进行确认:验证理解、确认范围、提出未知问题、编写每个步骤文件前进行确认 -
提交偏好——除非是Autopilot模式,否则通过询问一次:
AskUserQuestion问题 选项 "手动验证通过后,是否在每个步骤完成后创建一次提交?" 1. 是(推荐),2. 否,我会自行处理提交 -
过往经验——可选子技能:若存在,先运行
~/.agentic-learnings.json。/learning recall <topic>
The 10 Rules
10条规则
-
Scaffold first — before any research, exit plan mode and create the plan directory withfrom
root.md. (Use the user's name when known, e.g.cc-plugin/base/skills/v-planning/templates/root.md; fall back totarasotherwise.) Step files are added as the DAG emerges in rule 4. The directory grows incrementally; the user can correct course early.thoughts/shared/ -
Sub-agent everything heavy — file reads, research, validation. Default. Keep raw tool output out of the main session. Sub-agent menu:
run_in_background: true(find files),codebase-locator(understand current implementation),codebase-analyzer(find similar features),codebase-pattern-finderMCP (library/framework specifics),context7orExplore(read mentioned files).general-purpose -
Ask via— see
AskUserQuestionfor conventions. Never ask in chat as plain bullets.desplega:ask-user -
Ask after each step (Critical/Verbose), then loop — work the plan section by section: Current State Analysis → Implementation Approach → DAG Decomposition → Per-Step Details. For each section: spawn sub-agents → synthesize findings (withrefs) → ask gaps via
file:line→ draft → next section.AskUserQuestion- DAG Decomposition: identify vertical slices (each QA-able on its own), their dependencies, and any explicit integration step. Present the proposed step list + mermaid graph and confirm shape via before drafting step files.
AskUserQuestion - Per-Step Details: create each from
step-<n>.md. Frontmattercc-plugin/base/skills/v-planning/templates/step.mdis canonical;depends_on: [step-X, ...]'s mermaid graph + step-index table is a derived view — keep them in sync.root.md
- DAG Decomposition: identify vertical slices (each QA-able on its own), their dependencies, and any explicit integration step. Present the proposed step list + mermaid graph and confirm shape via
-
Concrete deliverable per step (vertical slice) — every step's Overview names what file/feature/output exists when it's done. Each step must be QA-able on its own. Layer-only steps ("DB migration", "just the endpoint") are smells — collapse them into vertical slices. "Improve X" and "refactor Y" are also smells.
-
Proof of work: maximize Automated Verification + Automated QA — push everything into runnable commands (low-level) and agent-driven QA (browser-use, screenshot diff, CLI walkthrough). Manual Verification is the exception. Each step has its own Success Criteria block;has
root.mdfor cross-cutting checks that only fire after the whole DAG drains. A## Global Verificationlinking to a### QA Spec (optional):doc is reserved for cross-cutting / evidence-heavy QA — not routine per-step checks.desplega:qa -
Propose splitting — when a step has >4 sub-steps or >2 distinct concerns, split into multiple DAG nodes (wire deps appropriately). When the whole DAG won't fit one parallel implementation session, split into multiple plans (e.g., contract → storage → UI). A linear DAG is accepted but worth flagging — the linearskill may fit better.
planning -
Push back with radical candor — usewhen the plan is too big, vague, mixes concerns, or has obvious risks. Silence is Ruinous Empathy.
radical-candor:feedback -
Validate structure with a Haiku sub-agent before showing the plan (with
general-purpose). Verify: everymodel: haikuhas all three Success Criteria subsections (Automated Verification + Automated QA + Manual Verification); all items usestep-<n>.md; automated checks are runnable commands; every step's- [ ]references an existing step ID; no cycles in the DAG;depends_on's mermaid graph + step-index table agree with step frontmatter; every step's frontmatter hasroot.md(a fresh plan; transitions happen duringstatus: ready); referenced paths exist. Apply fixes before reveal./v-implement -
Hand off to a fresh session — never implement here. Close-out:
-
Open(unless Autopilot); iterate on comments. Re-open with individual
/file-review:file-review <plan-dir>/root.mdfiles if needed.step-<n>.md -
Optionally invokefor gap analysis (offer via
desplega:reviewing).AskUserQuestion -
OPTIONAL SUB-SKILL: if significant insights emerged, capture via.
/learning capture -
If any step has ablock, generate the QA doc via
### QA Spec (optional):before handoff (desplega:qa). Scenarios live in the doc, not the plan.thoughts/<username|shared>/qa/YYYY-MM-DD-[feature].md -
Ask via:
AskUserQuestionQuestion Options "Plan ready. What's next?" 1. Implement in a fresh session, 2. Run first, 3. Done for now (park the plan)/review -
Tell them explicitly: "Open a new Claude Code session and run. Starting fresh keeps the implementation context clean."
/desplega:v-implement <plan-dir>
-
-
先搭建框架——在任何调研之前,退出计划模式,使用中的模板创建计划目录及
cc-plugin/base/skills/v-planning/templates/root.md文件。(若已知用户名称则使用,例如root.md;否则默认使用taras)。步骤文件会在规则4的DAG形成过程中逐步添加。目录会逐步扩展,用户可以尽早修正方向。thoughts/shared/ -
所有繁重工作交由子Agent处理——文件读取、调研、验证。默认设置。避免在主会话中显示原始工具输出。 子Agent菜单:
run_in_background: true(查找文件)、codebase-locator(理解当前实现)、codebase-analyzer(查找类似功能)、codebase-pattern-finderMCP(库/框架细节)、context7或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是标准依据;depends_on: [step-X, ...]中的Mermaid图表+步骤索引表是衍生视图——需保持两者同步。root.md
- DAG分解:识别垂直切片(每个均可独立进行QA)、它们的依赖关系,以及任何明确的集成步骤。在起草步骤文件前,先提交拟议的步骤列表+Mermaid图表,并通过
-
每个步骤对应具体交付物(垂直切片)——每个步骤的概述需说明完成后将存在的文件/功能/输出。每个步骤必须可独立进行QA。仅涉及单一层级的步骤(如“数据库迁移”、“仅实现端点”)是不合理的——应将其合并为垂直切片。“改进X”和“重构Y”同样不合理。
-
工作证明:最大化自动化验证+自动化QA——尽可能将内容转化为可运行命令(底层)和Agent驱动的QA(浏览器使用、截图对比、CLI演练)。手动验证仅作为例外情况。每个步骤都有自己的成功标准块;中有
root.md部分,用于在整个DAG完成后才执行的跨领域检查。## 全局验证链接到### QA规范(可选):文档,仅用于跨领域/需要大量证据的QA——而非常规的每步检查。desplega:qa -
建议拆分——当一个步骤包含超过4个子步骤或2个不同关注点时,拆分为多个DAG节点(合理设置依赖关系)。当整个DAG无法在一个并行实现会话中完成时,拆分为多个计划(例如,契约→存储→UI)。线性DAG是可接受的,但值得指出——线性的技能可能更适合。
planning -
坦诚提出反对意见——当计划过大、模糊、混合关注点或存在明显风险时,使用。沉默是有害的共情。
radical-candor:feedback -
在展示计划前,使用Haiku子Agent验证结构(使用并设置
general-purpose)。验证内容包括:每个model: haiku都包含所有三个成功标准子部分(自动化验证+自动化QA+手动验证);所有项均使用step-<n>.md格式;自动化检查是可运行的命令;每个步骤的- [ ]引用了存在的步骤ID;DAG中无循环;depends_on的Mermaid图表+步骤索引表与步骤前置元数据一致;每个步骤的前置元数据都有root.md(新计划;状态转换在status: ready期间进行);引用的路径存在。在展示前应用修复。/v-implement -
移交至新会话——切勿在此处实现。收尾步骤:
-
打开(Autopilot模式除外);根据评论迭代。必要时单独打开
/file-review:file-review <plan-dir>/root.md文件。step-<n>.md -
可选调用进行缺口分析(通过
desplega:reviewing提供选项)。AskUserQuestion -
可选子技能:若产生重要见解,通过记录。
/learning capture -
若任何步骤包含块,在移交前通过
### QA规范(可选):生成QA文档(路径为desplega:qa)。场景记录在文档中,而非计划中。thoughts/<username|shared>/qa/YYYY-MM-DD-[feature].md -
通过询问:
AskUserQuestion问题 选项 "计划已准备就绪。下一步是什么?" 1. 在新会话中实现,2. 先运行 ,3. 暂时完成(搁置计划)/review -
明确告知用户:"打开一个新的Claude Code会话并运行。重新开始可保持实现环境的整洁。"
/desplega:v-implement <plan-dir>
-
DAG Specifics
DAG细节
- Frontmatter is canonical for deps. 's mermaid graph is derived. If they disagree, frontmatter wins.
root.md - Self-contained steps. A sub-agent handed only one (plus plan-level context from
step-<n>.md) should be able to implement it without reading sibling steps.root.md - Frontmatter carries execution state. Initial on every step;
status: readytransitions it throughdesplega:step-running→claimed(or back todoneon retry-able failure) and writesready/assigneewhile claimed. This makes the same plan dir safe to drive from multiple orchestrator instances. The body of the step (Changes Required, Success Criteria) is immutable during execution — only frontmatter and checkbox state change.claimed_at - Integration steps are explicit when needed. If parallel siblings need non-trivial stitching (cross-cutting e2e, shared-surface reconciliation), add an explicit with
step-Nwhose work is "stitch + e2e". Otherwise the DAG just terminates at its leaves.depends_on: [step-X, step-Y, ...]
- 前置元数据是依赖关系的标准依据。中的Mermaid图表是衍生内容。若两者不一致,以前置元数据为准。
root.md - 步骤独立完整。仅拿到一个(加上
step-<n>.md中的计划级上下文)的子Agent应无需读取同级步骤即可实现该步骤。root.md - 前置元数据记录执行状态。每个步骤初始状态为;
status: ready会将其状态转换为desplega:step-running→claimed(或在可重试失败时转回done),并在认领时写入ready/assignee。这使得同一计划目录可安全地由多个编排器实例驱动。步骤的主体内容(所需更改、成功标准)在执行期间不可变——仅前置元数据和复选框状态会变化。claimed_at - 必要时明确设置集成步骤。若并行的同级步骤需要非 trivial 的拼接(跨端e2e、共享界面协调),添加一个明确的,其
step-N,工作内容为“拼接+e2e”。否则DAG在叶节点处终止即可。depends_on: [step-X, step-Y, ...]
Commit Integration
提交集成
If commit-per-step was enabled in Setup:
- After each step's manual verification passes, commit with format .
[step-N] <brief description> - Only commit after explicit confirmation that manual verification passed.
- Otherwise, skip — the user handles commits.
若在准备工作中启用了每步提交:
- 每个步骤的手动验证通过后,以的格式提交。
[step-N] <简要描述> - 仅在明确确认手动验证通过后才提交。
- 否则跳过——由用户自行处理提交。
Success Criteria Format (MANDATORY)
成功标准格式(强制要求)
Canonical format and heading hierarchy live in:
- (
cc-plugin/base/skills/v-planning/templates/root.md)## Global Verification - (per-step three-bucket Success Criteria)
cc-plugin/base/skills/v-planning/templates/step.md
Structure validation runs automatically (rule 9, Haiku sub-agent).
标准格式和标题层级位于:
- (
cc-plugin/base/skills/v-planning/templates/root.md部分)## 全局验证 - (每步的三分类成功标准)
cc-plugin/base/skills/v-planning/templates/step.md
结构验证会自动运行(规则9,Haiku子Agent)。