name: writing-plans description: 为多步骤开发任务提供结构化实施规划。当您有需求规格说明时,用于将工作分解为可执行的步骤。
编写实施计划
概述
为对代码库零背景的工程师创建实施计划。
每个计划包括:
- 每个操作的确切文件路径
- 完整代码(而非“在此处添加验证”)
- 测试优先方法及验证命令
- 小步骤(每个2-5分钟)
原则:DRY(不要重复自己)、YAGNI(你不会需要它)、TDD(测试驱动开发)、频繁提交。
开始前声明: “我正在使用 writing-plans 技能来创建实施计划。”
上下文: 在专用的工作树中运行。如果不存在,请先使用 using-git-worktrees 技能。
计划保存至: docs/plans/YYYY-MM-DD-<功能名称>.md
编写前准备
- 完整阅读需求规格说明
- 探索项目结构(
view .) - 识别技术栈(package.json, pyproject.toml 等)
- 注意类似文件中的现有模式
- 检查文档中是否有现有约定
小任务粒度
每个步骤都是一个独立可验证的操作(2-5分钟):
- “编写失败的测试” — 步骤
- “运行它以确认失败” — 步骤
- “实现通过测试的最简代码” — 步骤
- “运行测试以确认通过” — 步骤
- “提交” — 步骤
计划文档头部
每个计划必须以此头部开始:
# [功能名称] 实施计划
**目标:** [一句话描述此计划构建的内容]
**架构:** [2-3句话描述方法]
**技术栈:** [关键技术/库]
---
任务结构
### 任务 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`
预期:FAIL 并提示“function not defined”
**步骤 3: 编写最简实现**
```python
def function(input):
return expected
```
**步骤 4: 运行测试以验证其通过**
运行:`pytest tests/path/test.py::test_name -v`
预期:PASS
**步骤 5: 提交**
```bash
git add tests/path/test.py src/path/file.py
git commit -m "feat: add specific feature"
```
交付前检查
验证计划完整性:
- 每个文件路径都存在或将被创建
- 每个命令都可以完全按写好的方式运行
- 没有剩余的 TODO/占位符文本
- 测试覆盖了需求规格中的所有验收标准
- 包含确切的测试代码,而非描述
执行交付
保存计划后,呈现:
“计划已保存至 docs/plans/<文件名>.md。选择执行模式:”
- 子代理驱动 — 同一会话,每个任务使用新的子代理,快速迭代
- 并行会话 — 新会话,带检查点的批量执行
选择哪种方式?
如果选择子代理驱动
- 保持在此会话中
- 必需子技能:
subagent-driven-development - 每个任务使用新的子代理 + 两阶段审查
如果选择并行会话
- 引导用户在工作树中打开新会话
- 必需子技能: 新会话使用
executing-plans