关于 writing-plans
writing-plans 是用于将功能需求整理为实施计划的技能,面向对代码库不熟悉的开发者。它把工作拆成小型可验证步骤,并注明文件、命令、预期结果和提交操作。
主要功能
- 01拆分为有序的小步骤
- 02注明文件与测试命令
- 03采用测试优先的任务结构
- 04指定计划保存路径与执行交接
适用场景
- 01为陌生代码库规划功能
- 02准备测试驱动的实施步骤
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ makerjackie/ jackie-skills-starter --skill writing-plans安装后在 Claude Code 中输入/writing-plans确认已加载。
详细介绍
(中文)编写计划
概览
编写全面的实现计划,假设工程师对我们的代码库一无所知,而且品味可能不太靠谱。记录他们需要了解的一切:每项任务要修改哪些文件、代码、测试、可能需要查阅的文档,以及如何测试。将完整计划拆分成易于执行的小任务。DRY。YAGNI。TDD。频繁提交。
假设他们是熟练的开发者,但对我们的工具集或问题领域几乎一无所知。假设他们不太了解如何设计好的测试。
开始时宣布:“我正在使用 writing-plans 技能来创建实现计划。”
**上下文:**应在专用工作树中运行(由 brainstorming 技能创建)。
计划保存至: docs/plans/YYYY-MM-DD-<feature-name>.md
易于执行的小任务粒度
每个步骤只执行一项操作(2-5 分钟):
- “编写失败的测试” - 一步
- “运行测试,确认它失败” - 一步
- “编写最少量的代码,让测试通过” - 一步
- “运行测试,确认它们通过” - 一步
- “提交” - 一步
计划文档头部
每份计划都必须以此头部开头:
# [Feature Name] Implementation Plan
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
**Goal:** [One sentence describing what this builds]
**Architecture:** [2-3 sentences about approach]
**Tech Stack:** [Key technologies/libraries]
---
任务结构
### Task N: [Component Name]
**Files:**
- Create: `exact/path/to/file.py`
- Modify: `exact/path/to/existing.py:123-145`
- Test: `tests/exact/path/to/test.py`
**Step 1: Write the failing test**
```python
def test_specific_behavior():
result = function(input)
assert result == expected
```
**Step 2: Run test to verify it fails**
Run: `pytest tests/path/test.py::test_name -v`
Expected: FAIL with "function not defined"
**Step 3: Write minimal implementation**
```python
def function(input):
return expected
```
**Step 4: Run test to verify it passes**
Run: `pytest tests/path/test.py::test_name -v`
Expected: PASS
**Step 5: Commit**
```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. 子 Agent 驱动(本会话) - 我为每项任务派发全新的子 Agent,并在任务之间进行审查,快速迭代
2. 并行会话(单独会话) - 在新会话中使用 executing-plans,分批执行并设置检查点
选择哪种方式?”
如果选择子 Agent 驱动:
- **必需子技能:**使用 superpowers:subagent-driven-development
- 留在本会话中
- 每项任务都使用全新的子 Agent,并进行代码审查
如果选择并行会话:
- 引导用户在工作树中开启新会话
- **必需子技能:**新会话使用 superpowers:executing-plans
评论
支持 Markdown