SuperAPI AI 工具集

writing-plans-enhanced

编程与开发

查看项目

更新于 10-16 05:30

技能介绍

用途

writing-plans-enhanced 用于把规格或需求转化为一份详尽的实现计划。它的核心假设是:执行计划的工程师技术熟练,但对当前代码库、工具链和问题域几乎一无所知,也不擅长测试设计。因此计划必须记录执行者需要知道的一切:要触碰哪些文件、要写什么代码、要运行什么命令、如何验证每一步。计划以小块任务(bite-sized tasks)形式给出,遵循 DRY、YAGNI、TDD 和频繁提交的原则。

技能开始时需声明:"I'm using the writing-plans skill to create the implementation plan." 它应在专门的工作树(worktree,由 brainstorming 技能创建)中运行。计划默认保存到 docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md,用户对计划位置的偏好可覆盖此默认值。

何时使用

技能内给出一个决策流程:如果没有规格或需求,先用 brainstorming 技能;如果是单步或探索性任务,直接实现;如果是多步且覆盖多个子系统,先拆成子计划;只有多步且属于单一子系统时,才使用本技能编写计划。

主要能力

计划分五个阶段编写,每个阶段的输出是下一阶段的依赖:

  1. Pre-Writing — 收集上下文:把规格读两遍(第一遍建立直觉,第二遍捕捉细节),研究代码库的约定、类似功能所在位置、扩展点、技术栈接线方式,并识别风险与未知项。发现简要记录在计划顶部的 Context 部分。
  2. Scope Check — 范围检查:确认这是适合单个计划的单一子系统。技能给出规模指引:3–10 个任务为单计划;11–20 个任务为带阶段标题的单计划;20+ 个任务应拆成多个计划。
  3. File Structure — 文件结构:在定义任务前,先规划要创建或修改哪些文件及各自职责,偏好小而聚焦的文件,按职责而非技术层拆分,并遵循既有代码库模式。
  4. Task Decomposition — 任务分解:每个步骤是一个动作(2–5 分钟),如写失败测试、运行确认失败、写最小实现、运行确认通过、提交。每个任务带元数据:Type(TDD | Config | Refactor | Migration | Documentation | Infrastructure)、Depends on、Parallel-safe、Risk。非 TDD 任务需用其他验证方式替代测试,例如配置变更加载配置并断言解析值、文件移动用 git status 确认重命名、文档检查交叉链接与代码块、基础设施用 terraform plan / kubectl diff 做 dry-run、重构确认既有测试仍通过、迁移先 dry-run 并准备回滚方案。
  5. Self-Review — 自审:对照规格检查覆盖度、扫描占位符、检查类型一致性、依赖顺序、验证完整性、提交粒度、并行安全标注准确性。可选派发 plan-document reviewer 子代理做独立审阅。

使用方式

计划文档有固定头部,包含 Goal、Architecture、Tech Stack 和 Context(代码库约定、参考模式、已知风险)。标准 TDD 任务包含 Files(创建/修改/测试的精确路径)和带复选框的步骤,每步给出实际代码、精确命令与预期输出。技能明确禁止占位符,如 "TBD"、"TODO"、"implement later"、"add appropriate error handling"、"write tests for the above"、"similar to Task N" 等。

技能提供 Red Flags 清单,列出计划不可交付的情形,例如存在占位符、后续任务引用前面未定义的类型或函数、非 TDD 任务缺少验证命令、标记为可并行的任务实际修改重叠文件、依赖前向引用、超过 20 个任务未拆分、Context 缺失、高风险任务缺少回滚说明。

技能还包含执行期间的计划更新处理规则:小修正就地更新并记录提交;需要重排任务时暂停并更新依赖元数据;出现新需求时在正确位置新增任务而非扩大现有任务范围;根本方法错误时停止执行、重新进入 brainstorming 并写新计划。

遥测与自动化校验

技能要求为每个任务记录遥测指标,包括墙钟时长、是否首次通过、通过前重试次数、新增测试数、每任务提交数、阻塞原因,并持久化为计划文件旁的 execution-log.md,用于在写下一个计划时发现模式。

技能提供自动化计划 linter,命令为:

bash ./scripts/plan-lint.sh docs/superpowers/plans/YYYY-MM-DD-feature.md

退出码:0 表示干净,1 表示发现问题(打印 file:line: issue),2 表示用法错误。linter 可捕获占位符、缺失 Context 块、任务缺少元数据、前向依赖、含糊提交信息等。技能强调 linter 通过是必要但不充分的,仍需运行自审。

执行交接与集成

保存计划后,技能提供两种执行选择:Subagent-Driven(推荐,每个任务派发新子代理并在任务间审查)或 Inline Execution(在当前会话中批量执行并设检查点)。选择后分别使用 superpowers:subagent-driven-development 或 superpowers:executing-plans。

集成方面,前置技能包括 superpowers:brainstorming(产出规格)和 superpowers:using-git-worktrees(隔离工作树);技能内引用 ./task-templates.md、./plan-document-reviewer-prompt.md、./scripts/plan-lint.sh、./scripts/test-plan-lint.sh;后续技能包括 superpowers:subagent-driven-development、superpowers:executing-plans 和 superpowers:finishing-a-development-branch。

限制

资料未提供该技能的收费、价格、支持平台或具体效果数据。其 linter 只能捕获机械性错误,无法验证规格覆盖度。技能本身不产出规格,需先有 brainstorming 产出的规格或需求。