| name | dev-steps-generator |
| description | 根据 PRD 文档、API 接口文档和 UI 设计图生成开发步骤文档。当用户需要将功能需求拆分为具体开发步骤、创建开发任务清单、生成开发指南时使用此技能。触发词包括:开发步骤、开发任务、任务拆分、开发计划、实现步骤等。每次调用只创建一个步骤文档。 |
开发步骤生成器技能
根据 PRD 文档、API 接口文档和 UI 设计图,将功能需求拆分为可执行的开发步骤文档。
核心规则
- 每次只创建一个:每次调用只能创建或修改一个开发步骤文档
- 必须查看源码:生成步骤前必须查看项目现有代码,了解技术架构
- 全中文:文档内容必须全部使用中文
- 代码规则:
- 总览文档禁止代码:开发步骤总览文档中不允许出现任何代码
- 步骤文档允许代码:具体的开发步骤文档中可以包含代码示例,用于指导开发实现
- 技术栈约束:
- 必须使用指定技术栈:文档中的代码示例必须使用用户提供的技术方案文档中的技术栈
- 禁止随意使用其他技术:不可随意使用技术方案文档中未提及的技术栈
- 需要用户同意:如果需要使用技术方案文档之外的技术栈,必须先征得用户同意
必需参数
用户调用时必须提供:
- 开发步骤文件夹:存放开发步骤文档的目录路径
- PRD 文档文件:产品需求文档的完整路径
- API 接口文档文件:API 接口文档的完整路径
- UI 设计图文件夹(可选):UI 设计图所在目录路径
- 技术方案文档文件(推荐):技术方案文档的完整路径,用于约束代码示例的技术栈
技术栈使用规范
基本原则
在生成开发步骤文档时,所有代码示例必须严格遵循用户提供的技术方案文档中的技术栈。
工作流程
-
读取技术方案文档
- 如果用户提供了技术方案文档路径,必须先读取该文档
- 提取文档中明确的技术栈选型(框架、库、工具等)
- 记录技术栈的版本要求和使用约束
-
代码示例生成规则
- ✅ 允许:使用技术方案文档中明确提及的技术栈
- ❌ 禁止:随意使用技术方案文档中未提及的技术栈
- ⚠️ 需确认:如果需要使用文档外的技术,必须先询问用户
-
技术栈冲突处理
- 如果发现需要使用技术方案文档之外的技术栈,立即暂停生成
- 向用户说明原因和替代方案
- 等待用户确认后再继续
示例场景
场景 1:技术方案明确指定
技术方案文档:Next.js 16 + Sequelize + PostgreSQL
代码示例:✅ 使用 Sequelize 查询数据
代码示例:❌ 使用 Prisma 查询数据(未经用户同意)
场景 2:需要额外技术栈
技术方案文档:Next.js 16 + Sequelize
需求:实现图片压缩功能
处理方式:
1. 检查技术方案文档中是否有图片处理库
2. 如果没有,询问用户:"检测到需要图片压缩功能,技术方案文档中未指定图片处理库。
建议使用 sharp 库,是否同意?或者您有其他选择?"
3. 等待用户确认后再生成代码示例
场景 3:未提供技术方案文档
如果用户未提供技术方案文档:
1. 提醒用户:"建议提供技术方案文档路径,以确保代码示例使用正确的技术栈"
2. 基于 PRD 文档和现有代码推断技术栈
3. 在生成代码示例前,向用户确认推断的技术栈是否正确
工作流程
阶段一:检查开发步骤总览文档
- 检查用户提供的开发步骤文件夹中是否存在
开发步骤总览.md
- 如果不存在,进入阶段二创建总览文档
- 如果存在,进入阶段三创建具体步骤文档
阶段二:创建开发步骤总览文档
当总览文档不存在时执行:
-
读取技术方案文档(如果提供)
- 完整阅读技术方案文档
- 提取技术栈选型和版本要求
- 记录技术约束和架构决策
-
读取 PRD 文档
-
读取 API 接口文档
- 完整阅读 API 接口文档
- 了解接口定义、参数和返回值
-
查看 UI 设计图(如果提供)
- 查看 UI 设计图文件夹中的所有图片
- 理解界面布局和交互流程
-
查看项目源码
- 根据 PRD 涉及的模块,查找相关代码文件
- 了解现有架构和代码组织方式
- 识别需要修改或新增的文件
-
规划开发步骤
- 根据功能依赖关系,将需求拆分为有序的开发步骤
- 每个步骤应该是一个独立可完成的任务
- 步骤之间有明确的先后顺序
-
生成总览文档
- 按照
references/overview-template.md 模板生成
- 保存到:
{开发步骤文件夹}/开发步骤总览.md
-
告知用户
- 告诉用户总览文档已创建
- 列出所有步骤的简要说明
- 提示用户再次调用以创建第一个步骤的详细文档
阶段三:创建具体步骤文档
当总览文档已存在时执行:
-
读取总览文档
-
读取技术方案文档(如果提供)
- 完整阅读技术方案文档
- 提取技术栈选型,用于约束代码示例
-
检查完成状态
- 遍历步骤文件夹,查找已创建的步骤文档
- 步骤文档命名格式:
步骤{N}-{步骤名称}.md
- 如果所有步骤都已创建,提示用户:"所有开发步骤文档已创建完毕!"
-
确定下一个步骤
- 找到第一个未创建文档的步骤
- 读取该步骤在总览中的描述
-
深入分析该步骤
- 重新阅读 PRD 中与该步骤相关的内容
- 阅读 API 接口文档中相关的接口定义
- 查看相关的 UI 设计图(如果有)
- 查看需要修改的源码文件
-
验证技术栈使用
- 检查代码示例是否需要使用技术方案文档之外的技术栈
- 如果需要,先询问用户是否同意
- 确保所有代码示例符合技术栈约束
-
生成步骤文档
- 按照
references/step-template.md 模板生成
- 代码示例必须使用技术方案文档中的技术栈
- 保存到:
{开发步骤文件夹}/步骤{N}-{步骤名称}.md
- N 为步骤序号,从 1 开始
-
告知用户
修改步骤文档
当用户要求修改某个步骤文档时,执行以下完整流程:
步骤一:更新开发步骤文档
- 读取要修改的步骤文档
- 读取开发步骤总览文档
- 根据用户的修改要求更新步骤文档
- 检查是否需要同步更新总览文档
- 如果步骤名称变更,更新总览
- 如果步骤范围变更,更新总览
- 如果影响其他步骤,提醒用户
- 保存修改后的文档
步骤二:同步 PRD 文档(调用 prd-writer 技能)
完成步骤文档修改后,必须检查 PRD 文档是否需要同步:
-
分析本次修改是否涉及以下内容变更:
- 功能需求描述
- 交互设计说明
- 业务规则
- 接口定义
- UI 设计要求
-
如果涉及上述变更,调用 prd-writer 技能同步 PRD 文档:
- 告知用户:"检测到本次修改可能影响 PRD 文档,正在调用 prd-writer 技能进行同步..."
- 使用 prd-writer 技能更新 PRD 中受影响的章节
- 更新 PRD 版本号和修订记录
-
如果不涉及上述变更,告知用户:"PRD 文档无需同步"
步骤三:同步测试用例(调用 test-case-generator 技能)
完成 PRD 同步后,必须检查测试用例是否需要同步:
-
分析本次修改是否涉及以下内容变更:
- 功能行为变更
- 交互流程变更
- 边界条件变更
- 异常处理变更
-
如果涉及上述变更,调用 test-case-generator 技能同步测试用例:
- 告知用户:"检测到本次修改可能影响测试用例,正在调用 test-case-generator 技能进行同步..."
- 使用 test-case-generator 技能更新受影响的测试用例
- 更新测试用例文档版本号和修订记录
-
如果不涉及上述变更,告知用户:"测试用例无需同步"
步骤四:汇总修改结果
完成所有同步后,向用户汇报:
修改完成汇总:
- 开发步骤文档:已更新 [步骤名称]
- 开发步骤总览:[已同步/无需同步]
- PRD 文档:[已同步至 vX.X/无需同步]
- 测试用例文档:[已同步至 vX.X/无需同步]
模板参考
- 总览文档模板:
references/overview-template.md
- 步骤文档模板:
references/step-template.md