编写计划
来自 Superpowers 项目的计划编写 Skill,用于创建详尽的实施计划,将复杂任务分解为小而可执行的步骤。该 Skill 强调在零背景假设下编写计划,确保任何工程师都能理解和执行,遵循 TDD、DRY、YAGNI 等最佳实践。
核心方法
零上下文假设:编写计划时假设执行工程师对代码库完全陌生。不能假设工程师知道项目的架构、约定或工具链。所有必要信息都必须在计划中明确说明。
熟练但不了解:假设工程师是熟练的开发人员,具备扎实的编程基础,但对我们的特定工具集、框架和代码库一无所知。需要提供足够的上下文和指导。
测试设计指导:不能假设工程师了解良好的测试设计。计划中需要明确说明如何测试、测试什么、预期结果是什么。提供具体的测试用例和验证步骤。
详细记录一切:必须记录所有关键信息,包括要修改哪些文件、如何测试、要检查什么、预期的输出等。不能遗漏任何执行所需的信息。
任务粒度
每个步骤都是一个原子性动作,预计耗时 2-5 分钟:
"编写失败的测试":这是一个独立步骤。明确指定测试文件位置、测试内容、预期失败原因。
"运行它以确保它失败":这是另一个独立步骤。说明如何运行测试、预期的失败输出是什么。
"实现最小代码使测试通过":又是一个独立步骤。指定要修改的文件、要添加的代码、实现的最小范围。
这种细粒度的步骤划分确保每个步骤都清晰、可验证、易于执行。
核心原则
DRY(Don't Repeat Yourself):不要重复自己。避免代码重复,提取共同逻辑到可复用的函数或模块。在计划中明确指出哪些代码可以复用,如何避免重复。
YAGNI(You Aren't Gonna Need It):你不会需要它。只实现当前需要的功能,不要过度设计或添加"可能有用"的功能。保持实现简单和专注。
TDD(Test-Driven Development):测试驱动开发。先写测试,再写实现。这确保代码是可测试的,并且有明确的验收标准。计划中的步骤应该遵循 TDD 流程。
频繁提交:鼓励小而原子性的提交。每完成一个有意义的步骤就提交,而不是等到所有工作完成。这样可以更容易追踪进度和回滚错误。
计划结构
任务概述:简要描述任务的目标和背景,说明为什么要做这个任务。
前置条件:列出执行任务前需要满足的条件,如环境配置、依赖安装等。
详细步骤:将任务分解为 2-5 分钟的原子步骤,每个步骤包括:
- 要执行的具体操作
- 涉及的文件和代码位置
- 如何验证步骤完成
- 预期的输出或结果
测试策略:说明如何测试实现,包括单元测试、集成测试、手动测试等。
验证检查点:列出关键的验证点,确保实现符合要求。
提交建议:建议在哪些步骤后进行代码提交。
计划存储
计划保存到:docs/plans/YYYY-MM-DD-<feature-name>.md
使用日期和功能名称命名,便于追踪和查找。计划文件本身也是项目文档的一部分,记录了功能的实现过程。
应用场景
新功能开发:为新功能制定详细的实施计划,确保开发过程有序、可追踪。
复杂重构:将复杂的重构任务分解为小步骤,降低风险,便于回滚。
Bug 修复:为复杂 bug 的修复制定系统化的计划,确保彻底��决问题。
团队协作:为团队成员提供清晰的实施指南,即使是新加入的成员也能快速上手。
应用价值
该 Skill 通过强制执行详细的计划编写,确保复杂任务被系统化地分解和执行。零上下文假设使得计划对任何工程师都是可理解和可执行的,大幅降低了知识传递的成本。
遵循 TDD、DRY、YAGNI 等最佳实践,确保实现的代码质量高、可维护性强。细粒度的步骤划分和频繁提交策略使得进度可追踪、问题易定位。对于需要多人协作或长期维护的项目,详细的实施计划是确保项目成功的重要保障。
评论
还没有评论。成为第一个评论的人!
相关工具
Writing Skills Skill
github.com/obra/superpowers
将测试驱动开发应用于流程文档 - 在部署前创建并验证 Skills 的有效性。
Brainstorming Skill
github.com/obra/superpowers
来自Superpowers项目的头脑风暴Skill,通过AI协作对话帮助探索用户意图、细化需求、生成设计方案,支持迭代式提问和多方案对比,非常适合功能设计、组件构建和行为修改等创意工作场景。
Subagent-Driven Development Skill
github.com/obra/superpowers
通过为每个任务调度新 subagent 执行计划,进行两阶段审查 - 先规范合规性再代码质量。
相关洞察
Skills + Hooks + Plugins:Anthropic 如何重新定义 AI 编程工具的扩展性
深入解析 Claude Code 的 Skills、Hooks 和 Plugins 三位一体架构,探讨为什么这种设计比 GitHub Copilot 和 Cursor 更先进,以及它如何通过开放标准重新定义 AI 编程工具的扩展性。

Obsidian + Claude Skills:真正让你的知识管理效率起飞
真正让 Obsidian 起飞的,不只是接入 Claude,而是接入一整套「Claude Skills」。
Claude Code 的下一站,不是代码,而是你本地的 Obsidian 知识库
探索 Obsidian + Claude Code 如何从知识管理工具转变为你的私密 AI 助手。包含 obsidian-skills、Claudian 插件、Claudesidian 模板的完整指南,以及数据隐私与 AI 能力兼得的最佳实践。