[ PROMPT_NODE_26118 ]
writing-plans
[ SKILL_DOCUMENTATION ]
# 编写计划 (Writing Plans)
## 概述
编写全面的实施计划,假设工程师对我们的代码库毫无背景且品味存疑。记录他们需要知道的一切:每个任务要修改哪些文件、代码、测试、可能需要查阅的文档、如何测试。以小任务的形式提供整个计划。遵循 DRY(不要重复自己)、YAGNI(你不会需要它)、TDD(测试驱动开发)。频繁提交。
假设他们是一名熟练的开发人员,但对我们的工具集或问题领域几乎一无所知。假设他们不太擅长良好的测试设计。
**开始时宣布:** "我正在使用 writing-plans 技能来创建实施计划。"
**上下文:** 此技能应在专门的工作树(由头脑风暴技能创建)中运行。
**计划保存路径:** `docs/plans/YYYY-MM-DD-.md`
## 小任务粒度
**每一步都是一个动作(2-5 分钟):**
- "编写失败的测试" - 步骤
- "运行它以确保它失败" - 步骤
- "实现使测试通过的最小代码" - 步骤
- "运行测试并确保它们通过" - 步骤
- "提交" - 步骤
## 计划文档头部
**每个计划必须以这个头部开始:**
markdown
# [功能名称] 实施计划
> **对于 Claude:** 必需子技能:使用 superpowers:executing-plans 来逐任务执行此计划。
**目标:** [用一句话描述此功能构建的内容]
**架构:** [2-3 句话描述方法]
**技术栈:** [关键技术/库]
---
## 任务结构
markdown
### 任务 N:[组件名称]
**文件:**
- 创建:`exact/path/to/file.py`
- 修改:`exact/path/to/existing.py:123-145`
- 测试:`tests/exact/path/to/test.py`
**第 1 步:编写失败的测试**
python
def test_specific_behavior():
result = function(input)
assert result == expected
**第 2 步:运行测试以验证其失败**
运行:`pytest tests/path/test.py::test_name -v`
预期:失败,提示 "function not defined"
**第 3 步:编写最小实现**
python
def function(input):
return expected
**第 4 步:运行测试以验证其通过**
运行:`pytest tests/path/test.py::test_name -v`
预期:通过
**第 5 步:提交**
bash
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature"
## 记住
- 始终使用确切的文件路径
- 计划中包含完整代码(不要写“添加验证”)
- 包含带有预期输出的确切命令
- 使用 @ 语法引用相关技能
- DRY, YAGNI, TDD, 频繁提交
## 执行移交
保存计划后,提供执行选择:
**"Pla