编写计划技能Skill writing-plans

此技能用于在软件开发中创建详细的实现计划,强调测试驱动开发(TDD)、避免重复代码(DRY)、你不需要它(YAGNI)原则,以及频繁提交。它帮助开发者逐步执行多步骤任务,确保代码质量和可维护性,适用于项目管理。关键词:软件开发、实现计划、测试驱动开发、TDD、DRY、YAGNI、频繁提交、代码审查。

测试 0 次安装 0 次浏览 更新于 3/18/2026

name: writing-plans description: 当您有一个多步骤任务的规范或需求时,在接触代码之前使用此技能。

编写计划

概述

编写全面的实现计划,假设工程师对我们的代码库零背景且品味可疑。记录他们需要知道的一切:每个任务要接触的文件、代码、测试、他们可能需要检查的文档、如何测试。将整个计划分解为小块任务。DRY。YAGNI。TDD。频繁提交。

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

开始时宣布: “我正在使用编写计划技能来创建实现计划。”

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

保存计划到: docs/plans/YYYY-MM-DD-<feature-name>.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: 编写失败测试**

```python
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"

## 记住
- 总是使用精确文件路径
- 计划中提供完整代码(不是“添加验证”)
- 精确命令和预期输出
- 使用 @ 语法引用相关技能
- DRY, YAGNI, TDD, 频繁提交

## 执行交接

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

**“计划完成并保存到 `docs/plans/<filename>.md`。两个执行选项:**

**1. 子代理驱动(此会话)** - 我为每个任务派遣新子代理,任务间审查,快速迭代

**2. 并行会话(单独)** - 使用executing-plans打开新会话,批量执行与检查点

**哪种方法?”**

**如果选择子代理驱动:**
- **必需子技能:** 使用superpowers:subagent-driven-development
- 保持在此会话
- 每个任务新子代理 + 代码审查

**如果选择并行会话:**
- 指导他们在工作树中打开新会话
- **必需子技能:** 新会话使用superpowers:executing-plans