@zeyue0329/xiaoma-cli 1.0.48 → 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.
@@ -78,6 +78,7 @@ commands:
78
78
  - create-brownfield-story: 运行任务 brownfield-create-story.md
79
79
  - create-epic: 为现有项目项目创建模块 (任务 brownfield-create-epic)
80
80
  - create-prd: 使用模板 prd-tmpl.yaml 运行任务 create-doc.md
81
+ - create-prd-from-rag: 基于Analyst需求分析产出物生成PRD (任务 create-prd-from-rag.md,模板 prd-from-rag-tmpl.yaml)
81
82
  - create-story: 从需求创建用户故事 (任务 brownfield-create-story)
82
83
  - doc-out: 将完整文档输出到当前目标文件
83
84
  - shard-prd: 为提供的 prd.md 运行任务 shard-doc.md (如果未找到则询问)
@@ -95,11 +96,13 @@ dependencies:
95
96
  - correct-course.md
96
97
  - create-deep-research-prompt.md
97
98
  - create-doc.md
99
+ - create-prd-from-rag.md
98
100
  - execute-checklist.md
99
101
  - shard-doc.md
100
102
  templates:
101
103
  - brownfield-prd-tmpl.yaml
102
104
  - prd-tmpl.yaml
105
+ - prd-from-rag-tmpl.yaml
103
106
  ```
104
107
  ==================== END: .xiaoma-core/agents/pm.md ====================
105
108
 
@@ -884,6 +887,444 @@ User can type `#yolo` to toggle to YOLO mode (process all sections at once).
884
887
  - End with "Select 1-9 or just type your question/feedback:"
885
888
  ==================== END: .xiaoma-core/tasks/create-doc.md ====================
886
889
 
890
+ ==================== START: .xiaoma-core/tasks/create-prd-from-rag.md ====================
891
+ # 基于需求分析创建PRD任务
892
+
893
+ ## Purpose
894
+
895
+ 基于 Analyst 智能体的需求分析产出物(`docs/rag/` 目录),结合原始需求文档,生成高质量的 PRD 或 Epic 文档。本任务是 Analyst 智能体的下游任务,承接需求分析报告并转化为可执行的产品文档。
896
+
897
+ ## 上游交接物
898
+
899
+ ```yaml
900
+ 必需输入:
901
+ - docs/rag/_analysis-report.md # 需求分析报告(核心输入)
902
+ - docs/rag/_requirement-parsing.yaml # 需求解析结果
903
+ - req.txt # 原始需求文档
904
+
905
+ 可选输入:
906
+ - docs/rag/_questions.md # 问题清单
907
+ - docs/rag/_index.md # 知识索引
908
+ - docs/rag/business/ # 业务知识
909
+ - docs/rag/technical/ # 技术知识
910
+ - docs/rag/constraints/ # 约束条件
911
+ ```
912
+
913
+ ## Workflow Overview
914
+
915
+ ```
916
+ Analyst产出物 → 输入验证 → 复杂度评估 → 文档类型选择 → 文档生成 → 质量检查
917
+ ```
918
+
919
+ ---
920
+
921
+ ## Phase 1: 输入验证与上下文加载
922
+
923
+ ### 1.1 验证上游交接物
924
+
925
+ ```yaml
926
+ 执行步骤:
927
+ 步骤1_检查必需文件:
928
+ 动作: 检查 docs/rag/ 目录是否存在以下文件
929
+ 必需文件:
930
+ - _analysis-report.md
931
+ - _requirement-parsing.yaml
932
+ 缺失处理: |
933
+ 如果缺失必需文件,提示用户:
934
+ "未找到需求分析报告。请先执行 Analyst 智能体的 *analyze-requirement 命令完成需求分析。"
935
+
936
+ 步骤2_加载分析报告:
937
+ 动作: 读取并解析 _analysis-report.md
938
+ 提取内容:
939
+ - 需求概述(背景、目标、范围)
940
+ - 功能分析(功能清单、优先级、依赖关系)
941
+ - 用户分析(角色、旅程)
942
+ - 数据分析(实体、关系)
943
+ - 技术分析(可行性、兼容性)
944
+ - 业务规则汇总
945
+ - 差距分析
946
+ - 风险分析
947
+ - 待澄清事项
948
+
949
+ 步骤3_加载原始需求:
950
+ 动作: 读取 req.txt 原始需求文档
951
+ 目的: 确保不遗漏原始需求中的细节
952
+
953
+ 步骤4_加载知识上下文:
954
+ 动作: 扫描 docs/rag/ 子目录,加载相关知识文件
955
+ 加载顺序:
956
+ - technical/architecture.md # 技术架构
957
+ - technical/coding-standards/ # 编码规范
958
+ - technical/data-model.md # 数据模型
959
+ - business/ # 业务知识
960
+ - constraints/ # 约束条件
961
+ ```
962
+
963
+ ### 1.2 上下文整合
964
+
965
+ ```yaml
966
+ 整合输出:
967
+ 项目上下文:
968
+ - 项目背景与目标
969
+ - 技术栈与架构约束
970
+ - 现有系统兼容性要求
971
+
972
+ 需求上下文:
973
+ - 功能清单与优先级
974
+ - 用户角色与权限
975
+ - 数据实体与关系
976
+ - 业务规则
977
+
978
+ 约束上下文:
979
+ - 技术约束
980
+ - 安全合规要求
981
+ - 性能要求
982
+
983
+ 风险上下文:
984
+ - 已识别风险
985
+ - 待澄清事项
986
+ ```
987
+
988
+ ---
989
+
990
+ ## Phase 2: 复杂度评估与文档类型选择
991
+
992
+ ### 2.1 复杂度评估矩阵
993
+
994
+ ```yaml
995
+ 评估维度:
996
+ 功能复杂度:
997
+ 低: 功能点 <= 3,无复杂业务流程
998
+ 中: 功能点 4-8,存在中等复杂度业务流程
999
+ 高: 功能点 > 8,存在复杂业务流程或多系统集成
1000
+
1001
+ 技术复杂度:
1002
+ 低: 遵循现有模式,无架构变更
1003
+ 中: 部分新技术引入,小范围架构调整
1004
+ 高: 重大技术决策,架构级变更
1005
+
1006
+ 集成复杂度:
1007
+ 低: 单一系统,无外部集成
1008
+ 中: 2-3个系统集成
1009
+ 高: 多系统集成,复杂数据流
1010
+
1011
+ 风险等级:
1012
+ 低: 风险清单中无高风险项
1013
+ 中: 存在1-2个中等风险项
1014
+ 高: 存在高风险项或多个中等风险项
1015
+ ```
1016
+
1017
+ ### 2.2 文档类型选择规则
1018
+
1019
+ ```yaml
1020
+ 选择规则:
1021
+ 生成完整PRD:
1022
+ 条件:
1023
+ - 功能复杂度 >= 中 OR
1024
+ - 技术复杂度 >= 中 OR
1025
+ - 需要架构设计 OR
1026
+ - 涉及多个Epic
1027
+ 输出: docs/prd.md
1028
+ 模板: prd-from-rag-tmpl.yaml
1029
+
1030
+ 生成单Epic:
1031
+ 条件:
1032
+ - 功能复杂度 = 低
1033
+ - 技术复杂度 = 低
1034
+ - 可在1-3个Story内完成
1035
+ - 无重大架构变更
1036
+ 输出: docs/epic-{name}.md
1037
+ 模板: epic-from-rag-tmpl.yaml
1038
+
1039
+ 需要澄清:
1040
+ 条件:
1041
+ - 待澄清事项 > 5 OR
1042
+ - 存在阻塞性待澄清项
1043
+ 动作: 暂停生成,先与用户澄清关键问题
1044
+ ```
1045
+
1046
+ ### 2.3 交互确认
1047
+
1048
+ ```yaml
1049
+ 确认点:
1050
+ 展示内容:
1051
+ - 复杂度评估结果
1052
+ - 建议的文档类型
1053
+ - 预计的Epic/Story数量
1054
+ - 关键风险提示
1055
+
1056
+ 用户选项:
1057
+ - 确认并继续
1058
+ - 调整文档类型
1059
+ - 先澄清待定事项
1060
+ ```
1061
+
1062
+ ---
1063
+
1064
+ ## Phase 3: PRD文档生成
1065
+
1066
+ ### 3.1 PRD结构映射
1067
+
1068
+ 将分析报告内容映射到PRD结构:
1069
+
1070
+ ```yaml
1071
+ 映射规则:
1072
+ 目标与背景:
1073
+ 来源: 分析报告.需求概述
1074
+ 映射:
1075
+ - 需求背景 → PRD.背景上下文
1076
+ - 核心目标 → PRD.目标
1077
+ - 范围边界 → PRD.范围定义
1078
+
1079
+ 需求章节:
1080
+ 来源: 分析报告.功能分析 + 业务规则汇总
1081
+ 映射:
1082
+ - 功能清单 → PRD.功能性需求 (FR)
1083
+ - 业务规则 → PRD.功能性需求 (补充)
1084
+ - 技术分析.性能要求 → PRD.非功能性需求 (NFR)
1085
+ - 约束条件 → PRD.非功能性需求 (NFR)
1086
+
1087
+ UI设计目标:
1088
+ 来源: 分析报告.用户分析
1089
+ 映射:
1090
+ - 用户角色 → PRD.用户角色定义
1091
+ - 用户旅程 → PRD.关键交互范式
1092
+ - 功能清单中的UI相关项 → PRD.核心屏幕与视图
1093
+
1094
+ 技术假设:
1095
+ 来源: docs/rag/technical/ + 分析报告.技术分析
1096
+ 映射:
1097
+ - architecture.md → PRD.服务架构
1098
+ - coding-standards/ → PRD.编码规范约束
1099
+ - 技术可行性评估 → PRD.技术假设
1100
+
1101
+ Epic结构:
1102
+ 来源: 分析报告.功能分析
1103
+ 映射:
1104
+ - 功能清单(按优先级分组) → Epic列表
1105
+ - 功能依赖关系 → Story顺序
1106
+ - P0功能 → Epic 1 (核心功能)
1107
+ - P1功能 → Epic 2+ (增强功能)
1108
+
1109
+ 风险与待办:
1110
+ 来源: 分析报告.风险分析 + 待澄清事项
1111
+ 映射:
1112
+ - 风险清单 → PRD.风险评估
1113
+ - 待澄清事项 → PRD.开放问题
1114
+ ```
1115
+
1116
+ ### 3.2 Epic/Story 生成规则
1117
+
1118
+ ```yaml
1119
+ Epic生成规则:
1120
+ 分组策略:
1121
+ - 按功能模块分组
1122
+ - 每个Epic交付独立可测试的功能增量
1123
+ - Epic 1 优先包含P0功能
1124
+ - 后续Epic按优先级和依赖关系排列
1125
+
1126
+ Epic结构:
1127
+ - Epic标题
1128
+ - Epic目标 (2-3句话)
1129
+ - 包含的功能点
1130
+ - 技术实现要点(来自技术知识)
1131
+ - Story列表
1132
+
1133
+ Story生成规则:
1134
+ 拆分策略:
1135
+ - 每个Story是垂直切片
1136
+ - 单个AI Agent会话可完成(2-4小时工作量)
1137
+ - 明确的输入输出边界
1138
+
1139
+ Story结构:
1140
+ - Story标题
1141
+ - 用户故事格式 (As a... I want... So that...)
1142
+ - 验收标准 (基于分析报告中的业务规则)
1143
+ - 技术实现提示(来自技术知识)
1144
+ - 集成验证点(来自数据关系分析)
1145
+
1146
+ 排序规则:
1147
+ - 基础设施优先
1148
+ - 数据模型优先于业务逻辑
1149
+ - 核心流程优先于边缘场景
1150
+ - 遵循功能依赖关系图
1151
+ ```
1152
+
1153
+ ### 3.3 知识融合
1154
+
1155
+ ```yaml
1156
+ 知识融合点:
1157
+ 业务规则融合:
1158
+ 来源: docs/rag/business/rules-*.md
1159
+ 融合到: 验收标准、业务逻辑描述
1160
+
1161
+ 数据模型融合:
1162
+ 来源: docs/rag/technical/data-model.md
1163
+ 融合到: 数据实体定义、关联关系说明
1164
+
1165
+ 编码规范融合:
1166
+ 来源: docs/rag/technical/coding-standards/
1167
+ 融合到: 技术实现提示、代码示例引用
1168
+
1169
+ 中间件规范融合:
1170
+ 来源: docs/rag/technical/middleware/
1171
+ 融合到: 技术假设、实现约束
1172
+
1173
+ 安全要求融合:
1174
+ 来源: docs/rag/constraints/security.md
1175
+ 融合到: 非功能性需求、验收标准
1176
+ ```
1177
+
1178
+ ---
1179
+
1180
+ ## Phase 4: 质量检查与输出
1181
+
1182
+ ### 4.1 PRD质量检查清单
1183
+
1184
+ ```yaml
1185
+ 完整性检查:
1186
+ - [ ] 所有P0功能已覆盖
1187
+ - [ ] 所有P1功能已覆盖或标记为后续迭代
1188
+ - [ ] 所有已识别的业务规则已融入
1189
+ - [ ] 所有数据实体已定义
1190
+ - [ ] 所有用户角色已覆盖
1191
+
1192
+ 一致性检查:
1193
+ - [ ] 功能需求与分析报告一致
1194
+ - [ ] 技术假设与知识库一致
1195
+ - [ ] Epic/Story顺序符合依赖关系
1196
+ - [ ] 验收标准可测试
1197
+
1198
+ 可执行性检查:
1199
+ - [ ] 每个Story大小适合AI Agent执行
1200
+ - [ ] Story之间无循环依赖
1201
+ - [ ] 技术实现路径清晰
1202
+ - [ ] 风险缓解措施具体
1203
+
1204
+ 交接完整性检查:
1205
+ - [ ] 包含UX专家提示
1206
+ - [ ] 包含架构师提示
1207
+ - [ ] 待澄清事项已列出
1208
+ ```
1209
+
1210
+ ### 4.2 输出文件
1211
+
1212
+ ```yaml
1213
+ 主输出:
1214
+ PRD文档:
1215
+ 路径: docs/prd.md
1216
+ 格式: Markdown
1217
+
1218
+ 或 Epic文档:
1219
+ 路径: docs/epic-{name}.md
1220
+ 格式: Markdown
1221
+
1222
+ 辅助输出:
1223
+ 知识引用索引:
1224
+ 路径: docs/prd-knowledge-refs.md
1225
+ 内容: PRD中引用的知识文件清单
1226
+
1227
+ 待澄清事项:
1228
+ 路径: docs/prd-open-questions.md
1229
+ 内容: 需要进一步确认的问题
1230
+ ```
1231
+
1232
+ ---
1233
+
1234
+ ## Phase 5: 下游交接
1235
+
1236
+ ### 5.1 交接给UX专家
1237
+
1238
+ ```yaml
1239
+ UX专家交接:
1240
+ 必读文件:
1241
+ - docs/prd.md (UI设计目标章节)
1242
+ - docs/rag/_analysis-report.md (用户分析章节)
1243
+
1244
+ 关注点:
1245
+ - 用户角色与权限
1246
+ - 核心屏幕与视图
1247
+ - 关键用户旅程
1248
+ - 无障碍性要求
1249
+
1250
+ 建议命令: "*create-ux-design docs/prd.md"
1251
+ ```
1252
+
1253
+ ### 5.2 交接给架构师
1254
+
1255
+ ```yaml
1256
+ 架构师交接:
1257
+ 必读文件:
1258
+ - docs/prd.md (技术假设章节)
1259
+ - docs/rag/technical/ (技术知识目录)
1260
+ - docs/rag/_analysis-report.md (技术分析章节)
1261
+
1262
+ 关注点:
1263
+ - 技术栈与架构约束
1264
+ - 数据模型与关系
1265
+ - 集成点与接口
1266
+ - 性能与安全要求
1267
+
1268
+ 建议命令: "*create-architecture docs/prd.md"
1269
+ ```
1270
+
1271
+ ---
1272
+
1273
+ ## 使用说明
1274
+
1275
+ ### 激活命令
1276
+
1277
+ ```
1278
+ *create-prd-from-rag [rag_path]
1279
+ ```
1280
+
1281
+ ### 执行参数
1282
+
1283
+ ```yaml
1284
+ 参数:
1285
+ rag_path: RAG知识目录路径 (默认: docs/rag/)
1286
+ output_path: PRD输出路径 (默认: docs/prd.md)
1287
+ doc_type: 文档类型 (auto|prd|epic, 默认: auto)
1288
+ interactive: 交互模式 (默认: true)
1289
+ ```
1290
+
1291
+ ### 交互模式流程
1292
+
1293
+ 1. **验证阶段**: 检查上游交接物完整性
1294
+ 2. **评估阶段**: 展示复杂度评估结果,确认文档类型
1295
+ 3. **生成阶段**: 逐章节生成PRD,关键节点请求确认
1296
+ 4. **检查阶段**: 执行质量检查清单
1297
+ 5. **输出阶段**: 生成最终文档,提示下游交接
1298
+
1299
+ ### YOLO模式
1300
+
1301
+ 通过 `*yolo` 命令切换YOLO模式,一次性完成所有步骤,跳过中间确认环节。
1302
+
1303
+ ---
1304
+
1305
+ ## 任务完成标志
1306
+
1307
+ ```yaml
1308
+ 完成条件:
1309
+ 必要输出:
1310
+ - docs/prd.md 或 docs/epic-{name}.md
1311
+
1312
+ 完成提示: |
1313
+ ✅ PRD/Epic 文档生成完成!
1314
+
1315
+ 📄 输出文件: {output_path}
1316
+ 📊 Epic数量: {epic_count}
1317
+ 📝 Story数量: {story_count}
1318
+
1319
+ 🔄 下一步建议:
1320
+ - UX设计: *create-ux-design docs/prd.md
1321
+ - 架构设计: *create-architecture docs/prd.md
1322
+
1323
+ ⚠️ 待澄清事项: {open_questions_count} 项
1324
+ 请在开发前确认这些问题。
1325
+ ```
1326
+ ==================== END: .xiaoma-core/tasks/create-prd-from-rag.md ====================
1327
+
887
1328
  ==================== START: .xiaoma-core/tasks/execute-checklist.md ====================
888
1329
  <!-- Powered by XIAOMA™ Core -->
889
1330
 
@@ -1653,6 +2094,419 @@ sections:
1653
2094
  instruction: 此部分将包含给架构师的提示,保持简短扼要,以启动使用本文档作为输入的架构创建模式。
1654
2095
  ==================== END: .xiaoma-core/templates/prd-tmpl.yaml ====================
1655
2096
 
2097
+ ==================== START: .xiaoma-core/templates/prd-from-rag-tmpl.yaml ====================
2098
+ template:
2099
+ id: prd-from-rag-template-v1
2100
+ name: 基于需求分析的PRD文档
2101
+ version: 1.0
2102
+ description: 基于Analyst智能体的需求分析产出物生成PRD
2103
+ output:
2104
+ format: markdown
2105
+ filename: docs/prd.md
2106
+ title: "{{project_name}} 产品需求文档 (PRD)"
2107
+
2108
+ workflow:
2109
+ mode: interactive
2110
+ elicitation: advanced-elicitation
2111
+ upstream:
2112
+ agent: analyst
2113
+ required_files:
2114
+ - docs/rag/_analysis-report.md
2115
+ - docs/rag/_requirement-parsing.yaml
2116
+ optional_files:
2117
+ - docs/rag/_questions.md
2118
+ - docs/rag/_index.md
2119
+ - docs/rag/business/*
2120
+ - docs/rag/technical/*
2121
+ - docs/rag/constraints/*
2122
+
2123
+ sections:
2124
+ - id: input-validation
2125
+ title: 输入验证
2126
+ internal: true
2127
+ instruction: |
2128
+ 在开始生成PRD之前,执行以下验证:
2129
+
2130
+ 1. **检查必需文件**:
2131
+ - docs/rag/_analysis-report.md 是否存在
2132
+ - docs/rag/_requirement-parsing.yaml 是否存在
2133
+ - req.txt 原始需求文档是否存在
2134
+
2135
+ 2. **加载分析报告**:
2136
+ - 读取并解析 _analysis-report.md 的所有章节
2137
+ - 提取关键信息:功能清单、用户角色、数据实体、风险、待澄清事项
2138
+
2139
+ 3. **加载知识上下文**:
2140
+ - 扫描 docs/rag/technical/ 获取技术约束
2141
+ - 扫描 docs/rag/business/ 获取业务规则
2142
+ - 扫描 docs/rag/constraints/ 获取约束条件
2143
+
2144
+ 如果缺少必需文件,提示:
2145
+ "⚠️ 未找到需求分析报告。请先执行 Analyst 智能体完成需求分析:*analyze-requirement req.txt"
2146
+
2147
+ - id: complexity-assessment
2148
+ title: 复杂度评估
2149
+ instruction: |
2150
+ 基于分析报告内容,评估项目复杂度并推荐文档类型。
2151
+
2152
+ **评估维度**:
2153
+ 1. 功能复杂度:基于功能清单数量和依赖关系
2154
+ 2. 技术复杂度:基于技术可行性评估
2155
+ 3. 集成复杂度:基于数据关系和外部依赖
2156
+ 4. 风险等级:基于风险清单
2157
+
2158
+ **推荐文档类型**:
2159
+ - 完整PRD:复杂度 >= 中等,或涉及多个Epic
2160
+ - 单Epic:复杂度低,可在1-3个Story内完成
2161
+
2162
+ 展示评估结果并请用户确认文档类型。
2163
+ elicit: true
2164
+ sections:
2165
+ - id: assessment-result
2166
+ title: 评估结果
2167
+ type: table
2168
+ columns: [评估维度, 等级, 依据]
2169
+ - id: recommendation
2170
+ title: 推荐方案
2171
+ instruction: 基于评估结果给出文档类型推荐和理由
2172
+
2173
+ - id: goals-context
2174
+ title: 目标与背景
2175
+ instruction: |
2176
+ 从分析报告的"需求概述"章节提取内容,映射到PRD结构。
2177
+
2178
+ **映射规则**:
2179
+ - 分析报告.需求背景 → 背景上下文
2180
+ - 分析报告.核心目标 → 目标
2181
+ - 分析报告.范围边界 → 范围定义
2182
+
2183
+ 如果分析报告中信息不足,参考 req.txt 原始需求补充。
2184
+ sections:
2185
+ - id: goals
2186
+ title: 目标
2187
+ type: bullet-list
2188
+ instruction: |
2189
+ 从分析报告提取核心目标,转换为PRD目标格式。
2190
+ 每个目标应该是:
2191
+ - 可衡量的成果
2192
+ - 用户或业务价值
2193
+ - 与原始需求对应
2194
+ - id: background
2195
+ title: 背景上下文
2196
+ type: paragraphs
2197
+ instruction: |
2198
+ 综合以下来源生成背景描述:
2199
+ - 分析报告.需求背景
2200
+ - 分析报告.业务分析
2201
+ - 原始需求文档中的背景信息
2202
+ - id: scope
2203
+ title: 范围定义
2204
+ instruction: 从分析报告.范围边界提取,明确包含和不包含的内容
2205
+ sections:
2206
+ - id: in-scope
2207
+ title: 范围内
2208
+ type: bullet-list
2209
+ - id: out-of-scope
2210
+ title: 范围外
2211
+ type: bullet-list
2212
+ - id: changelog
2213
+ title: 变更日志
2214
+ type: table
2215
+ columns: [日期, 版本, 描述, 作者]
2216
+
2217
+ - id: requirements
2218
+ title: 需求
2219
+ instruction: |
2220
+ 从分析报告的"功能分析"和"业务规则汇总"章节提取需求。
2221
+
2222
+ **功能性需求来源**:
2223
+ - 分析报告.功能清单 → FR列表
2224
+ - 分析报告.业务规则 → FR补充说明
2225
+ - docs/rag/business/rules-*.md → 详细规则
2226
+
2227
+ **非功能性需求来源**:
2228
+ - 分析报告.技术分析.性能要求
2229
+ - docs/rag/constraints/security.md
2230
+ - docs/rag/constraints/performance.md
2231
+
2232
+ 确保每个需求都可追溯到分析报告或知识库文档。
2233
+ elicit: true
2234
+ sections:
2235
+ - id: functional
2236
+ title: 功能性需求
2237
+ type: numbered-list
2238
+ prefix: FR
2239
+ instruction: |
2240
+ 按优先级排列功能性需求:
2241
+ - P0功能优先列出
2242
+ - 每个FR包含:需求描述 + 来源标注
2243
+ - 复杂业务规则单独标注参考文档
2244
+
2245
+ 格式示例:
2246
+ FR1: [P0] 用户可以创建订单 (来源: 分析报告.功能清单.F001)
2247
+ examples:
2248
+ - "FR1: [P0] 系统支持用户通过手机号注册账户 (来源: _analysis-report.md#功能清单)"
2249
+ - "FR2: [P0] 订单状态流转遵循:待支付→已支付→已发货→已完成 (来源: business/rules-order.md)"
2250
+ - id: non-functional
2251
+ title: 非功能性需求
2252
+ type: numbered-list
2253
+ prefix: NFR
2254
+ instruction: |
2255
+ 从约束条件和技术分析中提取非功能性需求。
2256
+ 包括:性能、安全、可用性、兼容性等。
2257
+ examples:
2258
+ - "NFR1: 接口响应时间P99 < 500ms (来源: constraints/performance.md)"
2259
+ - "NFR2: 敏感数据传输必须使用HTTPS加密 (来源: constraints/security.md)"
2260
+
2261
+ - id: data-model
2262
+ title: 数据模型
2263
+ instruction: |
2264
+ 从分析报告的"数据分析"章节和技术知识中提取数据模型。
2265
+
2266
+ **来源**:
2267
+ - 分析报告.数据实体清单
2268
+ - 分析报告.数据关系图
2269
+ - docs/rag/technical/data-model.md
2270
+ sections:
2271
+ - id: entities
2272
+ title: 数据实体
2273
+ type: table
2274
+ columns: [实体名称, 描述, 核心属性, 来源]
2275
+ instruction: 列出所有数据实体及其核心属性
2276
+ - id: relationships
2277
+ title: 数据关系
2278
+ instruction: |
2279
+ 描述实体间的关系,使用Mermaid ER图表示。
2280
+ 从分析报告.数据关系图提取,补充详细说明。
2281
+ examples:
2282
+ - |
2283
+ ```mermaid
2284
+ erDiagram
2285
+ User ||--o{ Order : creates
2286
+ Order ||--|{ OrderItem : contains
2287
+ ```
2288
+
2289
+ - id: technical-constraints
2290
+ title: 技术约束
2291
+ instruction: |
2292
+ 整合技术知识库中的约束条件,指导后续架构设计。
2293
+
2294
+ **来源**:
2295
+ - docs/rag/technical/architecture.md
2296
+ - docs/rag/technical/tech-stack.md
2297
+ - docs/rag/technical/coding-standards/
2298
+ - docs/rag/technical/middleware/
2299
+ - 分析报告.技术分析.与现有系统兼容性
2300
+ elicit: true
2301
+ sections:
2302
+ - id: tech-stack
2303
+ title: 技术栈约束
2304
+ instruction: |
2305
+ 从技术知识库提取技术栈要求:
2306
+ - 后端框架和版本
2307
+ - 数据库类型和版本
2308
+ - 中间件要求
2309
+ template: |
2310
+ **后端**: {{backend_framework}}
2311
+ **数据库**: {{database}}
2312
+ **缓存**: {{cache}}
2313
+ **消息队列**: {{mq}}
2314
+ - id: architecture-constraints
2315
+ title: 架构约束
2316
+ instruction: 从 architecture.md 提取架构模式和约束
2317
+ - id: coding-standards
2318
+ title: 编码规范约束
2319
+ instruction: |
2320
+ 从 coding-standards/ 目录提取关键规范:
2321
+ - 命名规范
2322
+ - 分层规范
2323
+ - 异常处理规范
2324
+ - id: integration-constraints
2325
+ title: 集成约束
2326
+ instruction: 从分析报告.技术分析提取集成相关约束
2327
+
2328
+ - id: epic-list
2329
+ title: 模块列表
2330
+ instruction: |
2331
+ 基于分析报告的功能分析,规划Epic结构。
2332
+
2333
+ **规划原则**:
2334
+ - 按功能优先级分组:P0功能 → Epic 1
2335
+ - 遵循功能依赖关系
2336
+ - 每个Epic交付独立可测试的功能增量
2337
+
2338
+ **Epic分组策略**:
2339
+ 1. 从分析报告.功能清单提取所有功能
2340
+ 2. 按优先级排序:P0 > P1 > P2
2341
+ 3. 分析依赖关系,确定Epic边界
2342
+ 4. 每个Epic包含相关联的功能集
2343
+
2344
+ 展示Epic列表,请用户确认分组是否合理。
2345
+ elicit: true
2346
+ sections:
2347
+ - id: epic-overview
2348
+ title: Epic概览
2349
+ type: table
2350
+ columns: [Epic, 标题, 包含功能, 优先级, Story数量(预估)]
2351
+ instruction: 展示所有Epic的概览表格
2352
+
2353
+ - id: epic-details
2354
+ title: "Epic {{epic_number}}: {{epic_title}}"
2355
+ repeatable: true
2356
+ instruction: |
2357
+ 为每个Epic生成详细内容,包含所有Story和验收标准。
2358
+
2359
+ **Epic内容来源**:
2360
+ - 分析报告.功能清单 (对应功能)
2361
+ - 分析报告.业务规则 (相关规则)
2362
+ - docs/rag/business/ (详细业务知识)
2363
+ - docs/rag/technical/ (技术实现参考)
2364
+
2365
+ **Story生成规则**:
2366
+ - 每个Story是垂直切片
2367
+ - 单个AI Agent会话可完成(2-4小时)
2368
+ - 验收标准来源于分析报告中的业务规则
2369
+ - 包含技术实现提示(来自技术知识)
2370
+
2371
+ **Story排序**:
2372
+ - 遵循分析报告.功能依赖关系
2373
+ - 基础设施和数据模型优先
2374
+ - 核心流程优先于边缘场景
2375
+ elicit: true
2376
+ template: |
2377
+ **Epic目标**: {{epic_goal}}
2378
+
2379
+ **包含功能**:
2380
+ {{功能列表,来源于分析报告}}
2381
+
2382
+ **技术要点**:
2383
+ {{技术实现要点,来源于技术知识库}}
2384
+ sections:
2385
+ - id: story
2386
+ title: "Story {{epic_number}}.{{story_number}}: {{story_title}}"
2387
+ repeatable: true
2388
+ template: |
2389
+ 作为一名 {{user_type}},
2390
+ 我想要 {{action}},
2391
+ 以便 {{benefit}}。
2392
+ sections:
2393
+ - id: acceptance-criteria
2394
+ title: 验收标准
2395
+ type: numbered-list
2396
+ instruction: |
2397
+ 从以下来源生成验收标准:
2398
+ - 分析报告.业务规则 (对应规则)
2399
+ - docs/rag/business/rules-*.md (详细规则)
2400
+ - 分析报告.数据分析 (数据约束)
2401
+
2402
+ 每个标准必须:
2403
+ - 可测试、可验证
2404
+ - 明确无歧义
2405
+ - 包含边界条件
2406
+ item_template: "AC{{criterion_number}}: {{criteria}} (来源: {{source}})"
2407
+ - id: technical-hints
2408
+ title: 技术实现提示
2409
+ instruction: |
2410
+ 从技术知识库提取实现提示:
2411
+ - 相关编码规范
2412
+ - 中间件使用示例
2413
+ - 数据模型参考
2414
+ type: bullet-list
2415
+ - id: knowledge-refs
2416
+ title: 知识引用
2417
+ instruction: 列出Story实现时需要参考的知识文档
2418
+ type: bullet-list
2419
+
2420
+ - id: risks-and-open-items
2421
+ title: 风险与待澄清事项
2422
+ instruction: |
2423
+ 从分析报告直接提取风险和待澄清事项。
2424
+
2425
+ **来源**:
2426
+ - 分析报告.风险分析
2427
+ - 分析报告.待澄清事项
2428
+ sections:
2429
+ - id: risks
2430
+ title: 风险清单
2431
+ type: table
2432
+ columns: [风险ID, 风险描述, 等级, 缓解措施]
2433
+ instruction: 从分析报告.风险清单直接映射
2434
+ - id: open-questions
2435
+ title: 待澄清事项
2436
+ type: table
2437
+ columns: [序号, 问题, 上下文, 建议选项, 状态]
2438
+ instruction: |
2439
+ 从分析报告.待澄清事项提取。
2440
+ 标注状态:待确认/已确认/已关闭
2441
+ 在PRD评审时需要逐一确认这些问题。
2442
+
2443
+ - id: knowledge-index
2444
+ title: 知识引用索引
2445
+ instruction: |
2446
+ 列出本PRD引用的所有知识文档,便于追溯和维护。
2447
+ sections:
2448
+ - id: analysis-refs
2449
+ title: 分析报告引用
2450
+ type: table
2451
+ columns: [章节, 引用位置, 用途]
2452
+ - id: knowledge-refs
2453
+ title: 知识库引用
2454
+ type: table
2455
+ columns: [文件路径, 引用位置, 用途]
2456
+
2457
+ - id: next-steps
2458
+ title: 后续步骤
2459
+ sections:
2460
+ - id: ux-expert-prompt
2461
+ title: UX专家交接
2462
+ instruction: |
2463
+ 生成给UX专家的交接提示,包含:
2464
+ - 需要关注的用户角色
2465
+ - 核心屏幕和交互
2466
+ - 品牌和无障碍要求
2467
+ - 相关知识文档路径
2468
+ template: |
2469
+ **交接给UX专家**
2470
+
2471
+ 请基于本PRD的用户分析部分设计UI/UX方案:
2472
+
2473
+ **关键输入**:
2474
+ - PRD文档: docs/prd.md
2475
+ - 用户分析: docs/rag/_analysis-report.md#用户分析
2476
+ - 用户角色: {{user_roles}}
2477
+ - 核心屏幕: {{core_screens}}
2478
+
2479
+ **设计重点**:
2480
+ {{design_focus}}
2481
+
2482
+ **执行命令**: *create-ux-design docs/prd.md
2483
+ - id: architect-prompt
2484
+ title: 架构师交接
2485
+ instruction: |
2486
+ 生成给架构师的交接提示,包含:
2487
+ - 技术栈约束
2488
+ - 数据模型要点
2489
+ - 集成需求
2490
+ - 相关知识文档路径
2491
+ template: |
2492
+ **交接给架构师**
2493
+
2494
+ 请基于本PRD和技术知识库设计系统架构:
2495
+
2496
+ **关键输入**:
2497
+ - PRD文档: docs/prd.md
2498
+ - 技术分析: docs/rag/_analysis-report.md#技术分析
2499
+ - 技术知识: docs/rag/technical/
2500
+ - 数据模型: docs/rag/technical/data-model.md
2501
+
2502
+ **架构重点**:
2503
+ - 技术栈: {{tech_stack}}
2504
+ - 关键集成点: {{integration_points}}
2505
+ - 性能要求: {{performance_requirements}}
2506
+
2507
+ **执行命令**: *create-architecture docs/prd.md
2508
+ ==================== END: .xiaoma-core/templates/prd-from-rag-tmpl.yaml ====================
2509
+
1656
2510
  ==================== START: .xiaoma-core/checklists/change-checklist.md ====================
1657
2511
  <!-- Powered by XiaoMa™ Core -->
1658
2512