writing-plans

文档 社区 @obra
信任分
88/100
兼容 Agent
1
速查档案 只列事实:领域、Agent、信任分、作者、原文章节。装与不装请看下方作者解读。
领域
文档
兼容 Agent
Claude Code
信任分
88 / 100 · 社区维护
作者 / 版本 / 许可
@obra · 未声明 license
安装命令数
1 条

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

想读作者英文原文? ↓ 滚到正文区切换 · 在 GitHub 查看 ↗

解读由编辑根据原文凝练而成,命令、链接、术语均与作者原文一致;想看完整论述请切到右侧

writing-plans 写的是实施计划——目标读者是「假设对你的代码库零上下文、品味也未必好」的工程师。计划要明确:每条任务碰哪些文件、给到代码、列要看的测试与文档、说怎么验。整体走 DRY / YAGNI / TDD / 频繁 commit 的旗帜。

设计思路

作者把计划当成写给陌生人的合同:技能扎实但不熟你这套 toolset / problem domain,也不太懂好的测试设计——所以把上下文 + 拆任务 + 验证手段全塞进去。同时认知到计划者推理力受限于一次能 hold 在脑里的代码量——所以「文件分解」是第一等大事。

文件存放

默认 docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md(用户偏好可覆盖)。Scope Check:如果 spec 跨多个独立子系统,应该在 brainstorming 阶段就拆成 sub-project spec;没拆就建议拆——每份计划都应能独立产出可工作可测试的软件。

File Structure 必须先定

定 task 之前先画文件清单:哪些文件被新建 / 修改、各自负责什么——这步把「分解决策」钉死。原则:每个文件单一明确职责;改在一起的文件放在一起——按职责拆而非按技术层;已有 codebase 用大文件就别擅自重组,但你正在改的文件长得不像样子时把"拆"也写进计划是合理的。

Bite-Sized Task Granularity

每一步是 2–5 分钟的单个动作:「写失败测试」是一步、「跑一遍确认它失败」是一步、「写让它过的最小代码」是一步、「跑测试确认通过」是一步、「commit」是一步——不要把它们合成一行。这样整张计划是 RED→GREEN 节奏的真实 step list,不是模糊的目标列表。

Plan Document Header

顶部要有 frontmatter / header 说明 scope、文件结构、参考资料——让接管的人一眼知道在哪儿能找到上下文。No placeholders:不要写 TODO: figure out X——计划阶段就要解决,留 TODO 等于把决策推给执行者。

Self-Review & Execution Handoff

写完自检一遍:每条任务自包含可独立验吗?文件分解能 hold 进同一个上下文窗口吗?测试覆盖了关键 behavior 吗?最后 handoff 时明确「执行者用什么 skill」(多半 subagent-driven-development / executing-plans)。

适合谁

  • 多人 / 多 agent 协作的中大型 feature / refactor
  • 想把「思考阶段」与「执行阶段」彻底分开
  • 让 subagent 接力执行的工程节奏

何时不要用

  • 改动只有一两个 commit:直接做更省
  • 还没和用户对齐就着急写 plan:先 writing-fragments / 讨论

配套

request-refactor-plan(重构 RFC)、to-prd(PRD)、to-issues(计划落 issue)、subagent-driven-development / executing-plans(执行)、using-git-worktrees(隔离工作区)、tdd / test-driven-development(执行时的红绿循环)。