我把这5个串成一个工作流,下面是skill提示词:
name: programming-workflow
description: 编程工作流编排技能,将完整的软件开发流程串联为五个阶段:需求探索(brainstorming) → 计划编写(writing-plans) → 计划执行(executing-plans) → 测试驱动开发(test-driven-development) → 浏览器验证(agent-browser)。当用户提到"编程工作流"、“开发流程”、“完整开发”、“从零开始开发”、“全流程开发”、“workflow”、"development pipeline"时触发此技能。
metadata:
author: SOLO
version: “1.0.0”
编程工作流(Programming Workflow)
本技能将完整的软件开发流程编排为 五个有序阶段,每个阶段调用一个专门的 skill,形成从需求探索到浏览器验证的完整闭环。
核心原则
- 严格顺序执行 — 五个阶段必须按顺序进行,不得跳过或打乱
- 门控机制 — 每个阶段完成后必须获得用户确认才能进入下一阶段
- 可中断恢复 — 任何阶段失败时,记录当前进度,支持从失败点恢复
- 上下文传递 — 每个阶段的输出作为下一阶段的输入,确保信息不丢失
阶段总览
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 阶段一 │───▶│ 阶段二 │───▶│ 阶段三 │───▶│ 阶段四 │───▶│ 阶段五 │
│ brainstorming │ │ writing-plans │ │ executing-plans │ │ TDD │ │ agent-browser │
│ 需求探索 │ │ 计划编写 │ │ 计划执行 │ │ 测试驱动开发 │ │ 浏览器验证 │
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘
阶段一:需求探索(brainstorming)
调用技能: brainstorming
目的: 在动手写任何代码之前,充分理解用户意图、探索需求、提出方案并获得确认。
输入: 用户的初始需求描述
输出: 经过用户确认的设计文档(保存至 docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md)
执行步骤
- 调用
brainstormingskill - 按照该 skill 的 9 步流程执行:
- 探索项目上下文(检查已有文件、文档、代码结构)
- 逐一提出澄清问题(一次一个问题,使用多选题格式)
- 提出 2-3 种技术方案(附带权衡分析和推荐)
- 展示设计方案(分节展示,每节获得用户确认)
- 编写并保存设计文档
- 规格自审(检查占位符、矛盾、歧义)
- 用户审核确认
- 门控检查: 用户必须明确批准设计文档后才能进入阶段二
关键约束
- 禁止在此时编写任何实现代码
- 禁止跳过探索直接进入计划阶段
- 如果需求过于简单,仍需完成精简版探索流程
阶段二:计划编写(writing-plans)
调用技能: writing-plans
目的: 基于阶段一确认的设计文档,编写详细的、可执行的分步实现计划。
输入: 阶段一输出的设计文档
输出: 完整的实现计划文档(包含精确文件路径、完整代码、验证命令)
执行步骤
- 调用
writing-plansskill - 读取阶段一的设计文档作为输入
- 按照该 skill 的要求编写实现计划:
- 每个步骤是原子操作(2-5 分钟可完成)
- 严格遵循 TDD 模式编排
- 包含精确的文件路径、完整代码片段、验证命令和预期输出
- 不允许出现 TBD、TODO、“类似任务N” 等占位符
- 执行计划自审:
- 规格覆盖率检查(每个需求都有对应任务)
- 占位符扫描
- 类型/签名一致性检查
- 门控检查: 用户确认计划无误后才能进入阶段三
计划文档结构要求
# 实现计划:<项目名称>
## 目标(Goal)
一句话描述最终目标
## 架构(Architecture)
2-3 句描述整体架构
## 技术栈(Tech Stack)
关键技术、框架、库列表
## 任务列表
### 任务 1:任务标题
- **文件:** 精确路径
- **操作:** 具体步骤
- **代码:** 完整代码片段
- **验证:** 精确命令和预期输出
阶段三:计划执行(executing-plans)
调用技能: executing-plans
目的: 严格按照阶段二的计划,逐步执行所有实现任务。
输入: 阶段二输出的实现计划文档
输出: 完成的代码实现 + 执行日志
执行步骤
- 调用
executing-plansskill - 加载阶段二的计划文档
- 批判性审查计划内容(有疑问则提出,无疑问则开始执行)
- 创建 TodoWrite 任务列表,跟踪每个任务的进度
- 逐任务执行:
- 标记任务为"进行中"
- 严格按计划步骤执行
- 运行验证命令确认结果
- 标记任务为"已完成"
- 门控检查: 所有任务完成后才能进入阶段四
停止条件
遇到以下情况必须立即停止并求助用户:
- 缺少依赖或环境配置问题
- 测试反复失败且原因不明
- 计划指令不清晰或存在矛盾
- 发现计划中的关键缺口
关键约束
- 不要猜测 — 遇到不确定的地方必须向用户确认
- 不要跳过验证 — 每个任务完成后必须运行验证
- 未经用户同意不要在 main/master 分支上操作
阶段四:测试驱动开发(test-driven-development)
调用技能: test-driven-development
目的: 确保阶段三实现的代码通过严格的 TDD 流程验证,补充和完善测试覆盖。
输入: 阶段三完成的代码实现
输出: 通过全部测试的代码 + 完整的测试套件
执行步骤
- 调用
test-driven-developmentskill - 审查阶段三的代码,识别缺少测试或需要加强测试的部分
- 对每个需要测试的功能执行 Red-Green-Refactor 循环:
- RED: 编写失败测试(一个行为、清晰命名、使用真实代码)
- 验证 RED: 确认测试因功能缺失而失败(不是报错)
- GREEN: 编写最小实现使测试通过
- 验证 GREEN: 确认测试通过且无副作用
- REFACTOR: 清理代码(去重、改善命名、提取辅助函数)
- 执行完成检查清单:
- 每个新函数都有对应测试
- 看过每个测试失败(RED 阶段)
- 测试因预期原因失败
- 编写了最小实现
- 所有测试通过
- 输出干净无错误
- 覆盖了边界情况
- 门控检查: 全部测试通过后才能进入阶段五
铁律
没有失败测试就没有生产代码。 如果发现阶段三中存在未经测试的代码,必须补写测试。如果先写了代码再写测试,删掉代码从头开始。
阶段五:浏览器验证(agent-browser)
调用技能: agent-browser
目的: 如果项目涉及 Web 前端或需要浏览器交互的功能,使用浏览器自动化工具进行端到端验证。
输入: 阶段四通过全部测试的代码
输出: 浏览器验证报告(截图、交互测试结果)
执行步骤
- 调用
agent-browserskill - 启动本地开发服务器(如适用)
- 执行浏览器验证循环:
- Navigate: 打开应用 URL
- Snapshot: 获取页面结构和元素引用
- Interact: 模拟用户操作(点击、填写、导航)
- Re-snapshot: 操作后重新获取页面状态
- 验证关键功能:
- 页面渲染是否正确
- 用户交互是否正常响应
- 导航和路由是否工作
- 响应式布局是否适配
- 截图记录关键页面状态
- 生成验证报告
适用判断
- 需要执行此阶段: 项目包含 Web 前端、需要浏览器交互、有 UI 界面
- 可跳过此阶段: 纯后端 API、CLI 工具、库/SDK 开发(需用户确认)
关键约束
- 页面变化后必须重新 snapshot(元素引用会失效)
- 使用
wait for策略处理异步加载 - 截图保存至项目目录供用户查阅
异常处理与恢复
阶段间回退
如果某个阶段发现问题需要回退到之前的阶段:
| 当前阶段 | 可回退到 | 触发条件 |
|---|---|---|
| 阶段二(计划编写) | 阶段一(需求探索) | 发现设计文档存在重大遗漏或矛盾 |
| 阶段三(计划执行) | 阶段二(计划编写) | 计划存在关键缺口或不可执行 |
| 阶段四(TDD) | 阶段三(计划执行) | 发现实现与计划严重偏离 |
| 阶段五(浏览器验证) | 阶段三/四 | 发现功能性问题需要修复代码 |
进度记录
每个阶段完成后,在项目根目录维护一个进度文件 docs/superpowers/progress.md:
# 开发进度
## 阶段一:需求探索 ✅
- 完成时间:YYYY-MM-DD
- 设计文档:docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
## 阶段二:计划编写 ✅
- 完成时间:YYYY-MM-DD
- 计划文档:docs/superpowers/plans/YYYY-MM-DD-<topic>-plan.md
## 阶段三:计划执行 🔄
- 开始时间:YYYY-MM-DD
- 当前进度:3/10 任务完成
快速启动
当用户触发此技能时,按以下方式开始:
- 向用户展示五阶段流程概览
- 确认用户的需求描述
- 直接进入 阶段一:需求探索,调用
brainstormingskill
示例开场白:
我将按照编程工作流的五个阶段来完成你的需求:
需求探索 — 充分理解你的意图,探索方案
计划编写 — 制定详细的分步实现计划
计划执行 — 严格按照计划逐步实现
测试驱动开发 — 用 TDD 流程确保代码质量
浏览器验证 — 在浏览器中端到端验证(如适用)
现在让我们开始第一阶段——需求探索。
