
关于
当有规格说明或多步骤任务需求时,在编写代码之前使用此技能进行规划。
name: writing-plans description: "当你有规格说明或需求用于多步骤任务时,在动手写代码之前使用" risk: critical source: community date_added: "2026-02-27"
编写计划
概述
编写全面的实施计划,假设工程师对我们的代码库零上下文且品味存疑。记录他们需要知道的一切:每个任务要修改哪些文件、代码、测试、可能需要查看的文档、如何测试。将整个计划拆分为小任务。DRY。YAGNI。TDD。频繁提交。
假设他们是熟练的开发者,但对我们的工具集或问题领域几乎一无所知。假设他们不太了解良好的测试设计。
开始时宣布: "我正在使用 writing-plans 技能来创建实施计划。"
上下文: 这应该在专用的 worktree 中运行(由 brainstorming 技能创建)。
计划保存到: docs/plans/YYYY-MM-DD-<feature-name>.md
小任务粒度
每个步骤是一个操作(2-5 分钟):
- "编写失败的测试" - 步骤
- "运行它确保失败" - 步骤
- "实现使测试通过的最少代码" - 步骤
- "运行测试确保通过" - 步骤
- "提交" - 步骤
计划文档头部
每个计划必须以此头部开始:
# [功能名称] 实施计划
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
**目标:** [一句话描述构建什么]
**架构:** [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"
\`\`\`
注意事项
- 始终使用精确文件路径
- 计划中包含完整代码(不是"添加验证")
- 精确命令及预期输出
- 使用 @ 语法引用相关技能
- DRY、YAGNI、TDD、频繁提交
执行交接
保存计划后,提供执行选择:
"计划已完成并保存到 docs/plans/<filename>.md。两种执行选项:
1. 子代理驱动(本会话) - 我为每个任务分派新的子代理,任务间审查,快速迭代
2. 并行会话(单独) - 在新会话中使用 executing-plans 打开,批量执行带检查点
选择哪种方式?"
如果选择子代理驱动:
- 必需子技能: 使用 superpowers:subagent-driven-development
- 留在本会话
- 每个任务新子代理 + 代码审查
如果选择并行会话:
- 引导他们在 worktree 中打开新会话
- 必需子技能: 新会话使用 superpowers:executing-plans
何时使用
此技能适用于执行概述中描述的工作流或操作。
限制
- 仅在任务明确匹配上述范围时使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停下来要求澄清。
兼容工具
Claude CodeCursor
标签
前端开发