@zeyue0329/xiaoma-cli 1.0.47 → 1.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,435 @@
1
+ # 基于需求分析创建PRD任务
2
+
3
+ ## Purpose
4
+
5
+ 基于 Analyst 智能体的需求分析产出物(`docs/rag/` 目录),结合原始需求文档,生成高质量的 PRD 或 Epic 文档。本任务是 Analyst 智能体的下游任务,承接需求分析报告并转化为可执行的产品文档。
6
+
7
+ ## 上游交接物
8
+
9
+ ```yaml
10
+ 必需输入:
11
+ - docs/rag/_analysis-report.md # 需求分析报告(核心输入)
12
+ - docs/rag/_requirement-parsing.yaml # 需求解析结果
13
+ - req.txt # 原始需求文档
14
+
15
+ 可选输入:
16
+ - docs/rag/_questions.md # 问题清单
17
+ - docs/rag/_index.md # 知识索引
18
+ - docs/rag/business/ # 业务知识
19
+ - docs/rag/technical/ # 技术知识
20
+ - docs/rag/constraints/ # 约束条件
21
+ ```
22
+
23
+ ## Workflow Overview
24
+
25
+ ```
26
+ Analyst产出物 → 输入验证 → 复杂度评估 → 文档类型选择 → 文档生成 → 质量检查
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Phase 1: 输入验证与上下文加载
32
+
33
+ ### 1.1 验证上游交接物
34
+
35
+ ```yaml
36
+ 执行步骤:
37
+ 步骤1_检查必需文件:
38
+ 动作: 检查 docs/rag/ 目录是否存在以下文件
39
+ 必需文件:
40
+ - _analysis-report.md
41
+ - _requirement-parsing.yaml
42
+ 缺失处理: |
43
+ 如果缺失必需文件,提示用户:
44
+ "未找到需求分析报告。请先执行 Analyst 智能体的 *analyze-requirement 命令完成需求分析。"
45
+
46
+ 步骤2_加载分析报告:
47
+ 动作: 读取并解析 _analysis-report.md
48
+ 提取内容:
49
+ - 需求概述(背景、目标、范围)
50
+ - 功能分析(功能清单、优先级、依赖关系)
51
+ - 用户分析(角色、旅程)
52
+ - 数据分析(实体、关系)
53
+ - 技术分析(可行性、兼容性)
54
+ - 业务规则汇总
55
+ - 差距分析
56
+ - 风险分析
57
+ - 待澄清事项
58
+
59
+ 步骤3_加载原始需求:
60
+ 动作: 读取 req.txt 原始需求文档
61
+ 目的: 确保不遗漏原始需求中的细节
62
+
63
+ 步骤4_加载知识上下文:
64
+ 动作: 扫描 docs/rag/ 子目录,加载相关知识文件
65
+ 加载顺序:
66
+ - technical/architecture.md # 技术架构
67
+ - technical/coding-standards/ # 编码规范
68
+ - technical/data-model.md # 数据模型
69
+ - business/ # 业务知识
70
+ - constraints/ # 约束条件
71
+ ```
72
+
73
+ ### 1.2 上下文整合
74
+
75
+ ```yaml
76
+ 整合输出:
77
+ 项目上下文:
78
+ - 项目背景与目标
79
+ - 技术栈与架构约束
80
+ - 现有系统兼容性要求
81
+
82
+ 需求上下文:
83
+ - 功能清单与优先级
84
+ - 用户角色与权限
85
+ - 数据实体与关系
86
+ - 业务规则
87
+
88
+ 约束上下文:
89
+ - 技术约束
90
+ - 安全合规要求
91
+ - 性能要求
92
+
93
+ 风险上下文:
94
+ - 已识别风险
95
+ - 待澄清事项
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Phase 2: 复杂度评估与文档类型选择
101
+
102
+ ### 2.1 复杂度评估矩阵
103
+
104
+ ```yaml
105
+ 评估维度:
106
+ 功能复杂度:
107
+ 低: 功能点 <= 3,无复杂业务流程
108
+ 中: 功能点 4-8,存在中等复杂度业务流程
109
+ 高: 功能点 > 8,存在复杂业务流程或多系统集成
110
+
111
+ 技术复杂度:
112
+ 低: 遵循现有模式,无架构变更
113
+ 中: 部分新技术引入,小范围架构调整
114
+ 高: 重大技术决策,架构级变更
115
+
116
+ 集成复杂度:
117
+ 低: 单一系统,无外部集成
118
+ 中: 2-3个系统集成
119
+ 高: 多系统集成,复杂数据流
120
+
121
+ 风险等级:
122
+ 低: 风险清单中无高风险项
123
+ 中: 存在1-2个中等风险项
124
+ 高: 存在高风险项或多个中等风险项
125
+ ```
126
+
127
+ ### 2.2 文档类型选择规则
128
+
129
+ ```yaml
130
+ 选择规则:
131
+ 生成完整PRD:
132
+ 条件:
133
+ - 功能复杂度 >= 中 OR
134
+ - 技术复杂度 >= 中 OR
135
+ - 需要架构设计 OR
136
+ - 涉及多个Epic
137
+ 输出: docs/prd.md
138
+ 模板: prd-from-rag-tmpl.yaml
139
+
140
+ 生成单Epic:
141
+ 条件:
142
+ - 功能复杂度 = 低
143
+ - 技术复杂度 = 低
144
+ - 可在1-3个Story内完成
145
+ - 无重大架构变更
146
+ 输出: docs/epic-{name}.md
147
+ 模板: epic-from-rag-tmpl.yaml
148
+
149
+ 需要澄清:
150
+ 条件:
151
+ - 待澄清事项 > 5 OR
152
+ - 存在阻塞性待澄清项
153
+ 动作: 暂停生成,先与用户澄清关键问题
154
+ ```
155
+
156
+ ### 2.3 交互确认
157
+
158
+ ```yaml
159
+ 确认点:
160
+ 展示内容:
161
+ - 复杂度评估结果
162
+ - 建议的文档类型
163
+ - 预计的Epic/Story数量
164
+ - 关键风险提示
165
+
166
+ 用户选项:
167
+ - 确认并继续
168
+ - 调整文档类型
169
+ - 先澄清待定事项
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Phase 3: PRD文档生成
175
+
176
+ ### 3.1 PRD结构映射
177
+
178
+ 将分析报告内容映射到PRD结构:
179
+
180
+ ```yaml
181
+ 映射规则:
182
+ 目标与背景:
183
+ 来源: 分析报告.需求概述
184
+ 映射:
185
+ - 需求背景 → PRD.背景上下文
186
+ - 核心目标 → PRD.目标
187
+ - 范围边界 → PRD.范围定义
188
+
189
+ 需求章节:
190
+ 来源: 分析报告.功能分析 + 业务规则汇总
191
+ 映射:
192
+ - 功能清单 → PRD.功能性需求 (FR)
193
+ - 业务规则 → PRD.功能性需求 (补充)
194
+ - 技术分析.性能要求 → PRD.非功能性需求 (NFR)
195
+ - 约束条件 → PRD.非功能性需求 (NFR)
196
+
197
+ UI设计目标:
198
+ 来源: 分析报告.用户分析
199
+ 映射:
200
+ - 用户角色 → PRD.用户角色定义
201
+ - 用户旅程 → PRD.关键交互范式
202
+ - 功能清单中的UI相关项 → PRD.核心屏幕与视图
203
+
204
+ 技术假设:
205
+ 来源: docs/rag/technical/ + 分析报告.技术分析
206
+ 映射:
207
+ - architecture.md → PRD.服务架构
208
+ - coding-standards/ → PRD.编码规范约束
209
+ - 技术可行性评估 → PRD.技术假设
210
+
211
+ Epic结构:
212
+ 来源: 分析报告.功能分析
213
+ 映射:
214
+ - 功能清单(按优先级分组) → Epic列表
215
+ - 功能依赖关系 → Story顺序
216
+ - P0功能 → Epic 1 (核心功能)
217
+ - P1功能 → Epic 2+ (增强功能)
218
+
219
+ 风险与待办:
220
+ 来源: 分析报告.风险分析 + 待澄清事项
221
+ 映射:
222
+ - 风险清单 → PRD.风险评估
223
+ - 待澄清事项 → PRD.开放问题
224
+ ```
225
+
226
+ ### 3.2 Epic/Story 生成规则
227
+
228
+ ```yaml
229
+ Epic生成规则:
230
+ 分组策略:
231
+ - 按功能模块分组
232
+ - 每个Epic交付独立可测试的功能增量
233
+ - Epic 1 优先包含P0功能
234
+ - 后续Epic按优先级和依赖关系排列
235
+
236
+ Epic结构:
237
+ - Epic标题
238
+ - Epic目标 (2-3句话)
239
+ - 包含的功能点
240
+ - 技术实现要点(来自技术知识)
241
+ - Story列表
242
+
243
+ Story生成规则:
244
+ 拆分策略:
245
+ - 每个Story是垂直切片
246
+ - 单个AI Agent会话可完成(2-4小时工作量)
247
+ - 明确的输入输出边界
248
+
249
+ Story结构:
250
+ - Story标题
251
+ - 用户故事格式 (As a... I want... So that...)
252
+ - 验收标准 (基于分析报告中的业务规则)
253
+ - 技术实现提示(来自技术知识)
254
+ - 集成验证点(来自数据关系分析)
255
+
256
+ 排序规则:
257
+ - 基础设施优先
258
+ - 数据模型优先于业务逻辑
259
+ - 核心流程优先于边缘场景
260
+ - 遵循功能依赖关系图
261
+ ```
262
+
263
+ ### 3.3 知识融合
264
+
265
+ ```yaml
266
+ 知识融合点:
267
+ 业务规则融合:
268
+ 来源: docs/rag/business/rules-*.md
269
+ 融合到: 验收标准、业务逻辑描述
270
+
271
+ 数据模型融合:
272
+ 来源: docs/rag/technical/data-model.md
273
+ 融合到: 数据实体定义、关联关系说明
274
+
275
+ 编码规范融合:
276
+ 来源: docs/rag/technical/coding-standards/
277
+ 融合到: 技术实现提示、代码示例引用
278
+
279
+ 中间件规范融合:
280
+ 来源: docs/rag/technical/middleware/
281
+ 融合到: 技术假设、实现约束
282
+
283
+ 安全要求融合:
284
+ 来源: docs/rag/constraints/security.md
285
+ 融合到: 非功能性需求、验收标准
286
+ ```
287
+
288
+ ---
289
+
290
+ ## Phase 4: 质量检查与输出
291
+
292
+ ### 4.1 PRD质量检查清单
293
+
294
+ ```yaml
295
+ 完整性检查:
296
+ - [ ] 所有P0功能已覆盖
297
+ - [ ] 所有P1功能已覆盖或标记为后续迭代
298
+ - [ ] 所有已识别的业务规则已融入
299
+ - [ ] 所有数据实体已定义
300
+ - [ ] 所有用户角色已覆盖
301
+
302
+ 一致性检查:
303
+ - [ ] 功能需求与分析报告一致
304
+ - [ ] 技术假设与知识库一致
305
+ - [ ] Epic/Story顺序符合依赖关系
306
+ - [ ] 验收标准可测试
307
+
308
+ 可执行性检查:
309
+ - [ ] 每个Story大小适合AI Agent执行
310
+ - [ ] Story之间无循环依赖
311
+ - [ ] 技术实现路径清晰
312
+ - [ ] 风险缓解措施具体
313
+
314
+ 交接完整性检查:
315
+ - [ ] 包含UX专家提示
316
+ - [ ] 包含架构师提示
317
+ - [ ] 待澄清事项已列出
318
+ ```
319
+
320
+ ### 4.2 输出文件
321
+
322
+ ```yaml
323
+ 主输出:
324
+ PRD文档:
325
+ 路径: docs/prd.md
326
+ 格式: Markdown
327
+
328
+ 或 Epic文档:
329
+ 路径: docs/epic-{name}.md
330
+ 格式: Markdown
331
+
332
+ 辅助输出:
333
+ 知识引用索引:
334
+ 路径: docs/prd-knowledge-refs.md
335
+ 内容: PRD中引用的知识文件清单
336
+
337
+ 待澄清事项:
338
+ 路径: docs/prd-open-questions.md
339
+ 内容: 需要进一步确认的问题
340
+ ```
341
+
342
+ ---
343
+
344
+ ## Phase 5: 下游交接
345
+
346
+ ### 5.1 交接给UX专家
347
+
348
+ ```yaml
349
+ UX专家交接:
350
+ 必读文件:
351
+ - docs/prd.md (UI设计目标章节)
352
+ - docs/rag/_analysis-report.md (用户分析章节)
353
+
354
+ 关注点:
355
+ - 用户角色与权限
356
+ - 核心屏幕与视图
357
+ - 关键用户旅程
358
+ - 无障碍性要求
359
+
360
+ 建议命令: "*create-ux-design docs/prd.md"
361
+ ```
362
+
363
+ ### 5.2 交接给架构师
364
+
365
+ ```yaml
366
+ 架构师交接:
367
+ 必读文件:
368
+ - docs/prd.md (技术假设章节)
369
+ - docs/rag/technical/ (技术知识目录)
370
+ - docs/rag/_analysis-report.md (技术分析章节)
371
+
372
+ 关注点:
373
+ - 技术栈与架构约束
374
+ - 数据模型与关系
375
+ - 集成点与接口
376
+ - 性能与安全要求
377
+
378
+ 建议命令: "*create-architecture docs/prd.md"
379
+ ```
380
+
381
+ ---
382
+
383
+ ## 使用说明
384
+
385
+ ### 激活命令
386
+
387
+ ```
388
+ *create-prd-from-rag [rag_path]
389
+ ```
390
+
391
+ ### 执行参数
392
+
393
+ ```yaml
394
+ 参数:
395
+ rag_path: RAG知识目录路径 (默认: docs/rag/)
396
+ output_path: PRD输出路径 (默认: docs/prd.md)
397
+ doc_type: 文档类型 (auto|prd|epic, 默认: auto)
398
+ interactive: 交互模式 (默认: true)
399
+ ```
400
+
401
+ ### 交互模式流程
402
+
403
+ 1. **验证阶段**: 检查上游交接物完整性
404
+ 2. **评估阶段**: 展示复杂度评估结果,确认文档类型
405
+ 3. **生成阶段**: 逐章节生成PRD,关键节点请求确认
406
+ 4. **检查阶段**: 执行质量检查清单
407
+ 5. **输出阶段**: 生成最终文档,提示下游交接
408
+
409
+ ### YOLO模式
410
+
411
+ 通过 `*yolo` 命令切换YOLO模式,一次性完成所有步骤,跳过中间确认环节。
412
+
413
+ ---
414
+
415
+ ## 任务完成标志
416
+
417
+ ```yaml
418
+ 完成条件:
419
+ 必要输出:
420
+ - docs/prd.md 或 docs/epic-{name}.md
421
+
422
+ 完成提示: |
423
+ ✅ PRD/Epic 文档生成完成!
424
+
425
+ 📄 输出文件: {output_path}
426
+ 📊 Epic数量: {epic_count}
427
+ 📝 Story数量: {story_count}
428
+
429
+ 🔄 下一步建议:
430
+ - UX设计: *create-ux-design docs/prd.md
431
+ - 架构设计: *create-architecture docs/prd.md
432
+
433
+ ⚠️ 待澄清事项: {open_questions_count} 项
434
+ 请在开发前确认这些问题。
435
+ ```