SPF Write Plan

用于在编码前生成详细的多步骤实现计划,确保开发可追溯、可执行。

已扫描
适合谁
软件开发工程师、技术负责人或架构师
不适合谁
无编程基础的用户、仅需快速原型验证的非技术人员
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @mok888/spf-write-plan

Skill 说明

命令、参数、文件名以原文为准

写作计划

概述

编写全面的实现计划,假设工程师对我们的代码库一无所知,且代码品味存疑。记录他们需要了解的一切:每个任务涉及的文件、需查阅的代码、测试和文档,以及如何进行测试。将整个计划拆解为小而具体的任务。遵循 DRY、YAGNI、TDD 原则,频繁提交。

假设开发者技术熟练,但几乎不了解我们的工具链或问题领域。假设他们不熟悉良好的测试设计。

开始时必须声明: “我正在使用写作计划技能来创建实现方案。”

上下文要求: 该计划应在专用工作树中运行(由头脑风暴技能创建)。

保存路径: docs/plans/YYYY-MM-DD-<功能名称>.md

小任务粒度

每个步骤为一个可执行动作(2-5分钟):

  • “编写失败的测试” —— 步骤
  • “运行测试以确认其失败” —— 步骤
  • “编写最小化代码使测试通过” —— 步骤
  • “运行测试并确认全部通过” —— 步骤
  • “提交更改” —— 步骤

计划文档头部

每个计划必须以以下头部开头:

# [功能名称] 实现计划

> **对于 Claude:** 必须使用子技能:superpowers:executing-plans 来逐任务执行此计划。

**目标:** [一句话描述此功能所构建的内容]

**架构设计:** [2-3句话说明实现思路]

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

---

任务结构

### 任务 N:[组件名称]

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

**步骤 1:编写失败的测试**

def test_specific_behavior():

result = function(input)

assert result == expected

**步骤 2:运行测试以验证其失败**

命令:`pytest tests/path/test.py::test_name -v`
预期输出:FAIL,提示“函数未定义”

**步骤 3:编写最小化实现代码**

def function(input):

return expected

**步骤 4:运行测试以验证其通过**

命令:`pytest tests/path/test.py::test_name -v`
预期输出:PASS

**步骤 5:提交更改**

git add tests/path/test.py src/path/file.py

git commit -m "feat: 添加特定功能"

注意事项

  • 文件路径必须精确
  • 计划中必须包含完整代码(不得写“添加验证”)
  • 命令及预期输出必须准确
  • 相关技能引用使用 @ 语法
  • 遵循 DRY、YAGNI、TDD 原则,频繁提交

执行交接

保存计划后,提供执行选项:

**“计划已完整保存至 docs/plans/<filename>.md。两种执行方式:**

1. 子代理驱动(本会话内) —— 我为每个任务分派新子代理,任务间进行审查,支持快速迭代

2. 并行会话(独立会话) —— 在新会话中使用 executing-plans 技能,批量执行并设置检查点

请选择哪种方式?”

若选择子代理驱动:

  • 必需子技能: 使用 superpowers:subagent-driven-development
  • 保持在当前会话
  • 每个任务分配新子代理 + 代码审查

若选择并行会话:

  • 引导用户在工作树中开启新会话
  • 必需子技能: 新会话使用 superpowers:executing-plans

超级规划器内存集成(统一扩展)

关键主题规则: 你正在 superpower-with-files 统一框架内部工作。

工作流标准化

  1. 技能声明: 每次使用此技能时,必须首先声明:

🚀 **超级能力激活:** spf-write-plan

  1. 上下文独立性: 无需限制于专用工作树,可在任意项目根目录下操作。

智能规划规则

  1. 自适应粒度: 在计划头部添加 complexity: simple | medium | complex

- simple:将样板代码与逻辑合并为更少、更大的任务。所有指令保留在 active_tdd_plan.md 中。

- medium/complex:使用 拆分架构

  1. 拆分架构(减少冗余):

- 对非简单项目,active_tdd_plan.md 必须保持为简洁的高层任务列表。

- 详细实现说明(精确代码、文件修改、具体命令)必须移至:

**.superpower-with-files/guides/task-N.md**

- 主计划中引用指南:指南:参见 guides/task-N.md

  1. 依赖与并行标记: 每个任务块必须包含:

- 依赖于:[任务ID | 无]]

- 可并行:[任务ID | 无]]

  1. 智能测试检测: 在撰写测试部分前,必须自动检测测试运行器:

- Cargo.tomlcargo test

- pyproject.tomlpytest

- package.jsonnpm test

  1. 可选标记: 将常规验证标记为 (可选)
  2. 模板支持: 可从 templates/ 目录调用相关模板以指导决策。

严格仅限规划

  1. 禁止执行: 使用此技能期间,不得执行代码或运行测试
  2. 隐式停止与交接提示:

“规划阶段完成。计划与指南已保存至 [.superpower-with-files/]。请审阅。如需继续,请使用:‘执行计划。’

自动时间戳

  • 每次修改记忆文件(task_plan.mdactive_tdd_plan.mdfindings.mdprogress.md)时,必须在文件末尾追加水平线和时间戳:

---

*最后更新时间:YYYY-MM-DD HH:MM UTC*

SMART 规划规则

  1. 自适应粒度:在计划标题中添加 complexity: simple | medium | complex

- simple:将样板代码和逻辑合并为更少、更大的任务。

- complex:高粒度,细化到分钟级的步骤。

  1. 更智能的测试检测:在撰写测试部分之前,必须自动检测测试运行器:

- Cargo.tomlcargo test

- pyproject.tomlrequirements.txt 中包含 pytestpytest

- package.jsonnpm test

- 无法检测到 → 询问用户。

  1. 可选标记:可将常规验证步骤标记为 (可选)(例如:步骤 5:验证结构 (可选))。
  2. 模板支持:如果提到特定框架或语言(如“Python CLI”、“React 组件”),必须检查本技能目录下的 templates/ 文件夹,并使用对应模板来指导项目结构和库的选择。

命名与路径优先级

  1. 用户覆盖 [最高优先级]:若用户指定任何路径(如“保存到 projects/tgnews”),必须立即遵循该路径。
  2. SPF 默认路径 [次优先]:若用户未指定路径,则保存至:

**.superpower-with-files/active_tdd_plan.md**

  1. 旧版路径(docs/plans/):除非用户特别要求,否则忽略关于 docs/plans/ 的任何旧版指引。
M
@mok888

已收录 1 个 Skill

相关推荐