关于 feature-planning
feature-planning 是将 Z01 研究资料转为 Z02 实施计划的工作流技能,面向准备进入功能实现阶段的项目团队。它先加载 CLAUDE.md 约束并检查研究与澄清文件,再调用 superpowers:writing-plans 并验证输出。
主要功能
- 01读取 CLAUDE.md 项目约束
- 02检查并读取全部 Z01 文件
- 03阻止未答复问题进入规划
- 04调用 superpowers:writing-plans
- 05验证 Z02 计划与澄清文件
适用场景
- 01根据研究资料制定功能实施计划
- 02将项目约定纳入实施步骤
- 03检查阻塞问题后再开始规划
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nicepkg/ ai-workflow --skill feature-planning安装后在 Claude Code 中输入/feature-planning确认已加载。
详细介绍
功能工作流:规划实现
你正在阅读此技能
停止。在进行任何其他操作之前:
- ☐ 创建 TodoWrite 清单(见下文)
- ☐ 将步骤 1 标记为
in_progress - ☐ 首先阅读 CLAUDE.md(如果存在)
此技能是一个封装器,用于加载 Z01 上下文并调用 superpowers:writing-plans
强制第一步:创建 TodoWrite
TodoWrite({
todos: [
{content: "Step 1: Load project context (CLAUDE.md if exists)", status: "in_progress", activeForm: "Reading CLAUDE.md"},
{content: "Step 2: Verify Z01 files exist", status: "pending", activeForm: "Checking research"},
{content: "Step 3: Read ALL Z01 files", status: "pending", activeForm: "Loading context"},
{content: "Step 4: Invoke superpowers:writing-plans", status: "pending", activeForm: "Creating plan"},
{content: "Step 5: Verify Z02 outputs", status: "pending", activeForm: "Validating output"}
]
})
每完成一步: 将其标记为已完成,并将 in_progress 移至下一步。
为什么使用此封装器?
- 自动管理 Z01 → Z02 文件
- 将 CLAUDE.md 约束加载到规划上下文中
- 强制采用功能工作流命名约定(Z02_{feature}_plan.md)
- 集成澄清工作流(Z02_CLARIFY)
- 保持文件结构一致
不使用此封装器: 你需要手动加载 Z01 文件、传递给 superpowers:writing-plans、管理 Z02 输出路径并检查是否存在需要澄清的问题。
工作流步骤
步骤 1:加载项目上下文(强制第一步)
如果 CLAUDE.md 存在,请先阅读。
从 CLAUDE.md 中提取(如果存在):
- 必须保留的强制模式
- 必须避免的禁止做法
- 项目约定(命名、结构等)
- 发布工作流和约束
重要: 如果 CLAUDE.md 存在且包含约束,必须将这些约束传递给 superpowers:writing-plans,以确保计划遵循项目标准。
步骤 2:确认 Z01 文件存在
在常见位置(docs/ai/ongoing、.ai/ongoing、docs/ongoing)中查找现有的 Z01 文件。
如果找到 Z01 文件:
- 记录 ONGOING_DIR 的位置
- 从文件名中提取功能名称(例如,Z01_metrics_research.md → “metrics”)
- 功能名称应已由 feature-research 转换为规范的 snake_case
如果未找到 Z01 文件:
- 询问用户是否要先运行 feature-workflow:feature-researching
- 或者在没有研究上下文的情况下继续(不理想)
步骤 3:读取所有 Z01 文件
读取 ONGOING_DIR 中的所有 Z01 文件:
- Z01_{feature}_research.md(必需)
- Z01_CLARIFY_{feature}_research.md(如果存在)
阻断性检查——如果 Z01_CLARIFY 存在:
- 读取该文件
- 检查“User response:”字段是否为空
- 如果有任何字段为空 → 停止,并报告:“无法在问题尚未回答的情况下制定计划。请先回答 Z01_CLARIFY_{feature}_research.md 中的所有问题。”
- 如果所有问题均已回答 → 继续
提取:
- 技术研究和集成点
- 文件路径和行范围
- 已回答的澄清问题
- 安全和测试要求
步骤 4:调用 Superpowers 规划
重要: 此技能的主要职责是调用 superpowers:writing-plans 并提供 Z01 上下文。如果跳过此调用,此技能将毫无用处。
使用 Skill 工具调用 superpowers:writing-plans
提供以下指令:
“根据 Z01_{feature}research.md 中的研究内容以及 Z01_CLARIFY{feature}_research.md 中的澄清内容,为 {feature} 功能制定实现计划。
来自 CLAUDE.md 的强制约束: [如果 CLAUDE.md 存在,请在此处填写其中的约束、模式或禁止做法]
重要:将计划保存到 {ONGOING_DIR}/Z02_{feature}_plan.md(使用检测到的路径,而非硬编码的 docs/plans/)。
该计划应为一份指令性文档,并包含:
- 研究中提到的确切文件路径
- 完整的代码示例
- 每项任务的验证步骤
- TDD 结构(测试失败-实现-测试通过-提交)
- 假设工程师对该领域的了解很少
如果规划期间发现新的阻断性问题(Z01_CLARIFY 中尚未涉及),请创建 {ONGOING_DIR}/Z02_CLARIFY_{feature}_plan.md。否则,不要创建 Z02_CLARIFY 文件。
纳入已回答的问题时: 删除已全部回答的 CLARIFY 文件;如果只有部分问题已回答,则移除已纳入的问答对。”
步骤 5:验证输出
superpowers:writing-plans 完成后:
检查结构:
- Z02_{feature}_plan.md 必须存在于 ONGOING_DIR 中(主指令计划)
- 仅当存在新的问题时,才创建 Z02_CLARIFY_{feature}_plan.md
向用户报告:
- “已创建计划:Z02_{feature}_plan.md”
- 如有待澄清事项:“Z02_CLARIFY_{feature}_plan.md 中有待解决的问题”
- 下一步:“检查待澄清事项,然后使用 feature-workflow:feature-implementing”
危险信号——出现以下情况说明你做得不对:
- Z01_CLARIFY 中的问题尚未解答就继续操作(阻塞——必须停止)
- 未先读取 CLAUDE.md(如果存在)
- CLAUDE.md 存在,但未将其中的约束传递给规划流程
- 未检查 Z01 文件*
- 未加载 Z01 上下文就直接调用 superpowers:writing-plans
- 创建了非标准名称的计划文件(不是 Z02_{feature}_plan.md)
- 将计划保存到了错误的目录
- 使用了 SlashCommand
/superpowers:write-plan(应使用 Skill 工具) - 未在提示词中明确指定输出路径
- 跳过读取 Z01_CLARIFY(如果存在)
- 使用硬编码路径(应检测路径模式)
常见借口
| 借口 | 事实 |
|---|---|
| “跳过路径检测吧,我知道是 docs/ai/ongoing” | 不行。 路径假设会导致非标准仓库出错。检测 ONGOING_DIR。 |
| “没有 Z01 文件,跳过检查吧” | 不行。 研究上下文对计划质量至关重要。先检查。 |
| “Superpowers 会弄清楚输出结构” | 不行。 通用计划缺少我们的研究整合。明确说明 Z02* 要求。 |
| “只读取 Z01_research,跳过 Z01_CLARIFY” | 不行。 缺失上下文会导致计划不完整。读取所有 Z01* 文件。 |
| “即使没有问题,也创建 Z02_CLARIFY” | 不行。 空文件会使目录杂乱。仅在有新问题时创建。 |
| “直接调用 superpowers:writing-plans 就行” | 不行。 此封装会加载 Z01 上下文,这正是它的价值。 |
| “这是封装技能,不需要跟踪步骤” | 不行。 封装包含关键步骤(加载上下文、调用)。使用 TodoWrite 跟踪。 |
| “TodoWrite 会增加开销,跳过吧” | 不行。 TodoWrite 可让用户了解进度,并避免遗漏步骤。必须使用。 |
成功标准
符合以下条件即表示你遵循了工作流:
- ✓ 如果 CLAUDE.md 存在,则已读取
- ✓ 已将 CLAUDE.md 中的约束传递给 superpowers:writing-plans
- ✓ 已检查 Z01* 文件
- ✓ 如果 Z01* 文件存在,则已全部读取
- ✓ 已调用 superpowers:writing-plans 技能(不是斜杠命令)
- ✓ 已在提示词中明确指定输出路径
- ✓ 已验证 Z02_{feature}_plan.md 已创建
- ✓ 已向用户报告后续步骤
适用场景
工作流位置: 位于 feature-research(Z01 文件)之后、feature-implement 之前
适用于:
- 存在 Z01 研究文件
- 需要创建实施计划
- 希望自动完成 Z01 → Z02 工作流
不适用于:
- 不存在 Z01 文件 → 先使用 feature-research
- 已有完整计划
- 简单的单步骤任务