一键导入
writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when you have a spec or requirements for a multi-step task, before touching code
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Before any creative work — creating features, building components, adding capabilities, or modifying behavior — you must use this skill. Explore user intent, requirements, and design before implementation.
Use when executing implementation plans with independent tasks in the current session
Use when implementing any feature or bug fix, before writing implementation code
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when you have a written implementation plan to execute in a separate session with review checkpoints
| name | writing-plans |
| description | Use when you have a spec or requirements for a multi-step task, before touching code |
编写全面的实施计划,假设工程师对我们的代码库一无所知且品味可疑。记录他们需要知道的一切:每个任务要修改哪些文件、代码、可能需要检查的文档、如何测试。将整个计划以细粒度任务的形式给出。DRY。YAGNI。TDD。频繁提交。
假设他们是熟练的开发者,但对我们的工具集或问题领域几乎一无所知。假设他们不太了解好的测试设计。
开始时宣布: "我正在使用 writing-plans 技能来创建实施计划。"
上下文: 这应该在专用 worktree 中运行(由 brainstorming 技能创建)。
保存计划到: docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md
-(用户对计划位置的偏好覆盖此默认值)
如果规格涵盖多个独立子系统,它应该在 brainstorming 期间被分解为子项目规格。如果没有,建议将其分解为单独的计划 —— 每个子系统一个。每个计划应该自行产生可工作、可测试的软件。
在定义任务之前,先规划哪些文件将被创建或修改,以及每个文件的职责。这是分解决策被锁定的地方。
这个结构为任务分解提供依据。每个任务应该产生独立有意义的自包含更改。
每个步骤是一个动作(2-5 分钟):
每个计划必须以此头部开始:
# [功能名称] 实施计划
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**目标:** [一句话描述构建内容]
**架构:** [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 with "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"
```
每个步骤必须包含工程师需要的实际内容。以下是计划失败 —— 永远不要写:
写完完整计划后,用新的眼光看规格并对照计划检查。这是你自己运行的检查清单 —— 不是子代理调度。
1. 规格覆盖: 浏览规格的每个部分/需求。你能指出实现它的任务吗?列出任何差距。
2. 占位符扫描: 在你的计划中搜索红旗 —— 上述"无占位符"部分的任何模式。修复它们。
3. 类型一致性: 你在后面的任务中使用的类型、方法签名和属性名与前面定义的一致吗?任务 3 中的 clearLayers() 但任务 7 中的 clearFullLayers() 是一个 bug。
如果发现问题,inline 修复。不需要重新审查 —— 直接修复然后继续。如果发现规格需求没有对应任务,添加任务。
保存计划后,提供执行选择:
"计划完成并保存到 docs/superpowers/plans/<filename>.md。两种执行选项:
1. Subagent-Driven(推荐) —— 我为每个任务调度一个新子代理,任务间审查,快速迭代
2. 内联执行 —— 使用 executing-plans 在此会话中执行任务,批次执行带检查点
选择哪个?"
如果选择了 Subagent-Driven:
如果选择了内联执行: