smithery/klaaay

superpowers-writing-plans

设计完成后使用,为几乎不了解代码库的工程师生成详细的实施任务。产出?

Installation

$ npx skills add smithery/klaaay --skill superpowers-writing-plans

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/klaaay.

npx skills add smithery/klaaay

Browse all from smithery/klaaay

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,339 B
  • docs SUMMARY.md 240 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

编写实施计划

概览

编写全面的实施计划,默认读者对代码库几乎没有上下文,对当前技术栈和业务领域也不熟。你要把他们需要知道的内容尽量写全:每个任务改哪些文件、写什么代码、怎么验证、要参考哪些文档。

假设他们是熟练工程师,但几乎不了解当前工具栈,也不擅长测试设计。

开场声明: "我将使用 superpowers-writing-plans 技能编写实施计划。"

上下文: 如果当前处在隔离 worktree 中,它应在执行阶段通过 superpowers-using-git-worktrees 创建或确认。

计划存放: docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md

  • 若用户对计划路径有明确偏好,以用户要求为准。

范围检查

如果 spec 同时覆盖了多个彼此独立的子系统,这本来就应该在 brainstorming 阶段被拆开。若你发现它没有拆开,请先建议拆成多个计划,每个计划只交付一个可独立验证的结果。

文件结构先行

在列任务前,先明确哪些文件会被新建或修改,以及每个文件负责什么。这一步决定了后续任务的拆分方式。

  • 单个文件应只承担一个清晰职责。
  • 代码单元之间应有明确边界和接口。
  • 经常一起改动的内容应尽量放在一起,按职责拆,而不是机械按技术层拆。
  • 在现有代码库中要跟随既有模式;若某个目标文件已经过大,可以把适度拆分写进计划,但不要无端重构。

任务大小校准

一个任务是最小的独立交付单元:它拥有自己的测试循环,也值得通过一次新的 reviewer gate。划分任务边界时:

  • setup、configuration、scaffolding、documentation 要并入需要这些内容的交付任务
  • 只有当 reviewer 可以合理地拒绝某个任务、同时批准相邻任务时,才拆成两个任务
  • 每个任务结束时都必须产出可独立验证的结果

颗粒化任务粒度

每一步是一个动作,理想上在 2-5 分钟内可完成:

  • “编写失败测试” 是一步
  • “运行测试确认失败” 是一步
  • “写最小实现让测试通过” 是一步
  • “再次运行测试确认通过” 是一步
  • “提交代码” 是一步

计划文档头部

每个计划必须以此开头:

# [功能名称] 实现计划

> **对于 agent 型执行者:** 必需子 skill:优先使用 `superpowers-subagent-driven-development`,否则使用 `superpowers-executing-plans` 逐任务实施本计划。所有步骤使用 `- [ ]` 复选框格式追踪。

**目标:** [一句话描述这构建什么]

**架构:** [2-3 句话说明方法]

**技术栈:** [关键技术 / 库]

## Global Constraints

[从 spec 中逐字复制项目级要求:版本下限、依赖限制、命名和文案规则、平台要求等。每行一条,保留精确值。所有任务默认都包含这些约束。]

---

任务结构

````markdown

任务 N: [组件名称]

文件:

  • 创建: exact/path/to/file.py
  • 修改: exact/path/to/existing.py:123-145
  • 测试: tests/exact/path/to/test.py

Interfaces:

  • Consumes: [本任务依赖前序任务产物的内容,写出精确签名]
  • Produces: [后续任务依赖本任务产物的内容,写出精确函数名、参数和返回类型。实现者只会看到自己的任务;此块告诉它相邻任务使用哪些名字和类型。]
  • 步骤 1: 编写失败的测试
def test_specific_behavior():
    result = function(input)
    assert result == expected
  • 步骤 2: 运行测试验证失败

运行: pytest tests/path/test.py::test_name -v 预期: 失败并显示 "function not defined"

  • 步骤 3: 编写最小实现
def function(input):
    return expected
  • 步骤 4: 运行测试验证通过

运行: pytest tests/path/test.py::test_name -v 预期: 通过

  • 步骤 5: 提交
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature"

````

禁止占位符

每一步都必须包含实施者真正需要的信息。下面这些都属于计划失败,不能写:

  • TBD、TODO、稍后实现、自行补全细节
  • “补充适当的错误处理” / “加上校验” / “处理边界情况”
  • “给上面的逻辑补测试”,但不提供真实测试代码
  • “类似任务 N”,却不把关键代码和步骤再次写出
  • 只描述做什么,却不展示怎么做
  • 引用了计划中从未定义过的函数、类型或方法名

记住

  • 始终使用精确文件路径
  • 每个改代码的步骤都要包含完整代码,不要只写“补上验证”
  • 命令要精确,并写明预期输出
  • 遵循 DRY、YAGNI、TDD,保持频繁提交

自审

写完整份计划后,用新的视角快速复查一遍:

  1. 需求覆盖:把 spec 各节快速扫一遍。每一项需求都能在计划中找到对应任务吗?
  2. 占位符扫描:检查是否还残留上面“禁止占位符”一节中的反模式。
  3. 类型与命名一致性:后续任务里使用的函数名、类型名、属性名,是否和前文定义一致?

如果发现缺口,就直接补进文档;不用额外再开一次审查流程。

执行移交

保存计划后,给出执行选项:

计划完成并保存到 docs/superpowers/plans/<filename>.md。两种执行选项:

1. 子代理驱动(推荐) - 我为每个任务派遣新的子代理,任务间做审查,快速迭代

2. 当前会话内执行 - 在本会话里使用 superpowers-executing-plans 执行整份计划

选择哪种方法?

如果选择子代理驱动:

  • 需要使用的子技能: superpowers-subagent-driven-development
  • 每个任务使用新的子代理 + task review(spec compliance + code quality)

如果选择当前会话内执行:

  • 需要使用的子技能: superpowers-executing-plans
  • 按任务推进,遇阻就停下澄清