# req-dev Skill 需求开发计划编写技能 - 从 PRD 到代码实现的桥梁 ## 快速开始 ### 使用方式 ```bash # 方式1: 通过 req 命令调用(推荐) /req doc REQ-20260126-0008 # 方式2: 直接调用 skill /req-dev REQ-20260126-0008 ``` ## 核心功能 ### 1. PRD 分析 - 自动提取功能点和技术要求 - 识别改动范围(前端/后端/数据库) ### 2. 代码库智能探索 - 使用 Task(Explore) 搜索相关代码 - 定位需要修改的文件 - 分析现有实现模式 ### 3. 分层架构引导 **Go 后端**: ``` Model → Repository → Service → Handler → Route → Migration ``` **React 前端**: ``` Types → Services → Components → Pages → Router ``` ### 4. 自动任务拆分 - 根据修改文件自动拆分子任务 - 每个子任务对应一个模块或文件 - 使用 `mcp__ai-proj__create_subtask` 创建 ### 5. 完整开发文档 生成包含以下内容的开发计划: - 需求概述 - 代码库分析 - 技术方案设计 - 开发任务拆分 - 实施顺序 - 技术风险评估 - 测试策略 ## 输出示例 ```markdown # [需求标题] 开发计划 ## 1. 需求概述 - 需求编号:REQ-20260126-0008 - 功能点清单 - 技术要求 ## 2. 代码库分析 | 文件 | 层级 | 是否修改 | 改动类型 | |------|------|----------|---------| | backend/models/manual.go | Model | ❌ 无需修改 | - | | backend/handlers/manual_handler.go | Handler | ✅ 需修改 | 新增接口 | | frontend/src/pages/ManualListPage.tsx | Page | ✅ 需修改 | 新增功能 | ## 3. 技术方案设计 ### 3.1 后端改动(Go) - Model 层:数据结构 - Repository 层:数据访问 - Service 层:业务逻辑 - Handler 层:HTTP 处理 - Route 层:路由注册 ### 3.2 前端改动(React) - Types:类型定义 - Services:API 服务 - Components:组件开发 - Pages:页面修改 ## 4. 开发任务拆分 ├── [Model] 修改 manual.go ├── [Handler] 修改 manual_handler.go ├── [Page] 修改 ManualListPage.tsx └── [Test] 添加单元测试 ## 5. 技术风险评估 ... ``` ## 与其他技能的配合 | 技能 | 使用场景 | 配合方式 | |------|----------|---------| | req-prd | PRD 编写 | req-dev 基于 req-prd 生成的 PRD 进行分析 | | dev-arch | 系统架构设计 | 大重构时先用 dev-arch 设计,再用 req-dev 实施 | | dev-coding | 编码实现 | req-dev 生成计划后,dev-coding 执行编码 | | dev-test | 测试 | req-dev 生成测试策略,dev-test 执行测试 | ## 工作流程 ``` 1. 获取需求信息(PRD 文档、关联任务) ↓ 2. 分析 PRD,提取功能点 ↓ 3. 探索代码库(Task Explore) ↓ 4. 生成技术方案(分层架构) ↓ 5. 拆分开发子任务 ↓ 6. 生成开发计划文档 ↓ 7. 评估技术风险 ``` ## 最佳实践 ### 1. 充分探索代码库 - 先精确搜索,再模糊搜索 - 识别可复用的代码模式 - 分析现有依赖关系 ### 2. 合理拆分任务 - 按 2-4 小时粒度拆分 - 每个任务对应一个文件或模块 - 遵循 SMART 原则 ### 3. 评估技术风险 - 数据库影响(Migration、索引) - API 兼容性(版本管理) - 性能影响(查询复杂度、缓存) - 业务风险(核心流程、回退方案) ### 4. 按分层架构开发 - 后端:Model → Repository → Service → Handler → Route - 前端:Types → Services → Components → Pages - 先下层,后上层(依赖关系) ## 常见问题 ### Q: req-dev 和 dev-arch 有什么区别? **A**: - **dev-arch**:系统级架构设计(新系统、大重构) - **req-dev**:功能级实现规划(需求开发、小改动) ### Q: 什么时候需要创建子任务? **A**: - 需要修改 3 个以上文件 - 预估总工时 > 4 小时 - 涉及多个层级(Model + Service + Handler) ### Q: 如何确保开发文档质量? **A**: - 基于真实代码探索(不猜测) - 提供具体文件路径和代码示例 - 评估技术风险和性能影响 - 给出清晰的实施顺序 ## 技术栈支持 ### 后端 - ✅ Go + Gin + GORM(ai-proj 项目) - ⚠️ 其他技术栈需要调整分层架构 ### 前端 - ✅ React + TypeScript + Ant Design(ai-proj 项目) - ⚠️ 其他技术栈需要调整目录结构 ### 数据库 - ✅ PostgreSQL + Migration(ai-proj 项目) ## 更新日志 - **V1.0** (2026-01-26): 初始版本 - 支持 Go 后端分层架构 - 支持 React 前端架构 - 自动任务拆分 - 代码库智能探索 - 技术风险评估 ## 相关文档 - [SKILL.md](./SKILL.md) - 完整技能文档 - [req SKILL.md](../req/SKILL.md) - 需求管理流程 - [req-prd SKILL.md](../req-prd/SKILL.md) - PRD 编写 - [CLAUDE.md](../../../CLAUDE.md) - 项目说明