@chongyan/autospec 1.0.1

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.
Files changed (243) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +472 -0
  3. package/README.md +476 -0
  4. package/bin/autospec.js +3 -0
  5. package/knowledge/README.md +144 -0
  6. package/knowledge/checklists/code.md +182 -0
  7. package/knowledge/checklists/design.md +196 -0
  8. package/knowledge/checklists/release.md +70 -0
  9. package/knowledge/checklists/requirement.md +169 -0
  10. package/knowledge/checklists/test.md +46 -0
  11. package/knowledge/config/README.en.md +44 -0
  12. package/knowledge/config/README.md +44 -0
  13. package/knowledge/config/role-composition.yaml +98 -0
  14. package/knowledge/config/role-extensions.yaml +140 -0
  15. package/knowledge/config/skill-compositions.yaml +142 -0
  16. package/knowledge/config/team-stage.yaml +95 -0
  17. package/knowledge/config/team-tasks.yaml +139 -0
  18. package/knowledge/config/team-triggers.yaml +198 -0
  19. package/knowledge/config/validation-patterns.yaml +137 -0
  20. package/knowledge/domain/README.md +115 -0
  21. package/knowledge/domain/flows/README.md +194 -0
  22. package/knowledge/domain/glossary.md +143 -0
  23. package/knowledge/domain/rules.md +138 -0
  24. package/knowledge/environment/README.en.md +36 -0
  25. package/knowledge/environment/README.md +87 -0
  26. package/knowledge/environment/component-knowledge.md +316 -0
  27. package/knowledge/environment/detection-patterns.yaml +502 -0
  28. package/knowledge/environment/middleware-knowledge.md +237 -0
  29. package/knowledge/environment/template-registry.md +321 -0
  30. package/knowledge/guides/domain-driven-design.md +345 -0
  31. package/knowledge/guides/knowledge-management.md +369 -0
  32. package/knowledge/guides/requirement-engineering.md +329 -0
  33. package/knowledge/guides/stages/ai-effect-evaluator.md +93 -0
  34. package/knowledge/guides/stages/code-implementer.md +205 -0
  35. package/knowledge/guides/stages/code-reviewer.md +111 -0
  36. package/knowledge/guides/stages/consistency-checker.md +177 -0
  37. package/knowledge/guides/stages/design-planner.md +401 -0
  38. package/knowledge/guides/stages/design-reviewer.md +83 -0
  39. package/knowledge/guides/stages/integration-test-runner.md +105 -0
  40. package/knowledge/guides/stages/release-checker.md +205 -0
  41. package/knowledge/guides/stages/requirement-analyzer.md +195 -0
  42. package/knowledge/guides/stages/requirement-reviewer.md +83 -0
  43. package/knowledge/guides/stages/security-reviewer.md +89 -0
  44. package/knowledge/guides/stages/test-context-analyzer.md +250 -0
  45. package/knowledge/guides/stages/test-generator.md +241 -0
  46. package/knowledge/guides/stages/test-planner.md +183 -0
  47. package/knowledge/guides/stages/test-reviewer.md +76 -0
  48. package/knowledge/guides/stages/unit-test-runner.md +83 -0
  49. package/knowledge/guides/support/ai-agent-analyzer.md +362 -0
  50. package/knowledge/guides/support/ai-anomaly-analyzer.md +213 -0
  51. package/knowledge/guides/support/ai-artifact-evaluator.md +192 -0
  52. package/knowledge/guides/support/ai-capability-analyzer.md +193 -0
  53. package/knowledge/guides/support/ai-component-analyzer.md +169 -0
  54. package/knowledge/guides/support/ai-data-validator.md +276 -0
  55. package/knowledge/guides/support/ai-evaluation-planner.md +374 -0
  56. package/knowledge/guides/support/ai-path-evaluator.md +274 -0
  57. package/knowledge/guides/support/ai-pipeline-evaluator.md +219 -0
  58. package/knowledge/guides/support/ai-rag-analyzer.md +339 -0
  59. package/knowledge/guides/support/ai-task-assessor.md +418 -0
  60. package/knowledge/guides/support/ai-test-diagnostics.md +133 -0
  61. package/knowledge/guides/support/complexity-assessor.md +268 -0
  62. package/knowledge/guides/support/component-discovery.md +183 -0
  63. package/knowledge/guides/support/environment-scanner.md +207 -0
  64. package/knowledge/guides/support/environment-validator.md +207 -0
  65. package/knowledge/guides/support/knowledge-generator.md +234 -0
  66. package/knowledge/guides/support/methodology-extractor.md +55 -0
  67. package/knowledge/guides/support/pipeline-protocol.md +438 -0
  68. package/knowledge/guides/support/practice-logger.md +359 -0
  69. package/knowledge/guides/support/scope-inference.md +174 -0
  70. package/knowledge/guides/support/skill-distiller.md +91 -0
  71. package/knowledge/guides/support/skill-updater.md +45 -0
  72. package/knowledge/guides/support/skill-validator.md +72 -0
  73. package/knowledge/guides/support/team-orchestrator.md +323 -0
  74. package/knowledge/guides/support/tech-stack-analyzer.md +139 -0
  75. package/knowledge/guides/support/test-runner.md +254 -0
  76. package/knowledge/guides/system-design.md +352 -0
  77. package/knowledge/organization/ai-native-team.md +318 -0
  78. package/knowledge/organization/team-metrics.md +228 -0
  79. package/knowledge/principles/constitution.md +134 -0
  80. package/knowledge/principles/core-principles.md +368 -0
  81. package/knowledge/principles/design-philosophy.md +877 -0
  82. package/knowledge/principles/evolution.md +553 -0
  83. package/knowledge/process/01-requirement.md +113 -0
  84. package/knowledge/process/02-design.md +123 -0
  85. package/knowledge/process/03-implementation.md +90 -0
  86. package/knowledge/process/04-review.md +80 -0
  87. package/knowledge/process/05-testing.md +90 -0
  88. package/knowledge/process/06-delivery.md +88 -0
  89. package/knowledge/process/README.en.md +38 -0
  90. package/knowledge/process/README.md +48 -0
  91. package/knowledge/process/ai-sdlc.md +475 -0
  92. package/knowledge/process/overview.md +319 -0
  93. package/knowledge/standards/code-review.md +876 -0
  94. package/knowledge/standards/coding-style.md +940 -0
  95. package/knowledge/standards/data-consistency.md +1085 -0
  96. package/knowledge/standards/document-versioning.md +210 -0
  97. package/knowledge/standards/risk-detection.md +186 -0
  98. package/knowledge/templates/ai-evaluation.md +150 -0
  99. package/knowledge/templates/api-design.md +117 -0
  100. package/knowledge/templates/database-design.md +132 -0
  101. package/knowledge/templates/domain-driven-design.md +321 -0
  102. package/knowledge/templates/product-proposal.md +201 -0
  103. package/knowledge/templates/system-design.md +227 -0
  104. package/knowledge/templates/task-breakdown.md +107 -0
  105. package/knowledge/templates/test-case.md +170 -0
  106. package/package.json +53 -0
  107. package/plugins/.claude-plugin/plugin.json +134 -0
  108. package/plugins/agents/roles/ai-engineer.md +129 -0
  109. package/plugins/agents/roles/backend-engineer.md +165 -0
  110. package/plugins/agents/roles/ceo.md +94 -0
  111. package/plugins/agents/roles/data-engineer.md +135 -0
  112. package/plugins/agents/roles/devops-engineer.md +181 -0
  113. package/plugins/agents/roles/frontend-engineer.md +129 -0
  114. package/plugins/agents/roles/product-owner.md +98 -0
  115. package/plugins/agents/roles/quality-engineer.md +129 -0
  116. package/plugins/agents/roles/security-engineer.md +180 -0
  117. package/plugins/agents/roles/tech-lead.md +97 -0
  118. package/plugins/agents/support/blind-comparator.md +88 -0
  119. package/plugins/agents/support/consistency-checker.md +103 -0
  120. package/plugins/agents/support/failure-diagnostician.md +141 -0
  121. package/plugins/agents/support/independent-reviewer.md +80 -0
  122. package/plugins/agents/support/safety-auditor.md +121 -0
  123. package/plugins/agents/support/skill-benchmarker.md +86 -0
  124. package/plugins/agents/support/skill-forger.md +105 -0
  125. package/plugins/agents/support/stage-gate-evaluator.md +121 -0
  126. package/plugins/agents/support/test-coverage-reviewer.md +73 -0
  127. package/plugins/benchmarks/templates/README.md +44 -0
  128. package/plugins/benchmarks/templates/commands/explore-template.yaml +48 -0
  129. package/plugins/benchmarks/templates/pipeline/agile-template.yaml +84 -0
  130. package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +106 -0
  131. package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +48 -0
  132. package/plugins/commands/README.en.md +96 -0
  133. package/plugins/commands/README.md +96 -0
  134. package/plugins/commands/apply.md +191 -0
  135. package/plugins/commands/archive.md +76 -0
  136. package/plugins/commands/env-export.md +79 -0
  137. package/plugins/commands/env-sync.md +640 -0
  138. package/plugins/commands/env-template.md +223 -0
  139. package/plugins/commands/env-update.md +264 -0
  140. package/plugins/commands/env-validate.md +176 -0
  141. package/plugins/commands/env.md +79 -0
  142. package/plugins/commands/explore.md +76 -0
  143. package/plugins/commands/field-evolve.md +536 -0
  144. package/plugins/commands/memory.md +249 -0
  145. package/plugins/commands/project-evolve.md +821 -0
  146. package/plugins/commands/propose.md +93 -0
  147. package/plugins/commands/review.md +140 -0
  148. package/plugins/commands/run.md +224 -0
  149. package/plugins/commands/status.md +62 -0
  150. package/plugins/commands/validate.md +108 -0
  151. package/plugins/hooks/README.en.md +56 -0
  152. package/plugins/hooks/README.md +56 -0
  153. package/plugins/hooks/ai-project-guard.js +329 -0
  154. package/plugins/hooks/artifact-evaluation-hook.js +237 -0
  155. package/plugins/hooks/constitution-guard.js +211 -0
  156. package/plugins/hooks/environment-autocommit.js +264 -0
  157. package/plugins/hooks/environment-manager.js +778 -0
  158. package/plugins/hooks/execution-tracker.js +354 -0
  159. package/plugins/hooks/frozen-zone-guard.js +140 -0
  160. package/plugins/hooks/layer1-validator.js +423 -0
  161. package/plugins/hooks/lib/artifact-evaluator.js +414 -0
  162. package/plugins/hooks/lib/benchmarks/change-detector.js +390 -0
  163. package/plugins/hooks/lib/benchmarks/evaluator.js +605 -0
  164. package/plugins/hooks/lib/benchmarks/integration-example.js +169 -0
  165. package/plugins/hooks/lib/data-and-ai-detector.js +275 -0
  166. package/plugins/hooks/lib/detection-pattern-loader.js +865 -0
  167. package/plugins/hooks/lib/directory-discovery.js +395 -0
  168. package/plugins/hooks/lib/environment-config-loader.js +341 -0
  169. package/plugins/hooks/lib/environment-detector.js +553 -0
  170. package/plugins/hooks/lib/environment-evolver.js +564 -0
  171. package/plugins/hooks/lib/environment-registry.js +813 -0
  172. package/plugins/hooks/lib/execution-path.js +427 -0
  173. package/plugins/hooks/lib/hook-error-recorder.js +245 -0
  174. package/plugins/hooks/lib/hook-logger.js +538 -0
  175. package/plugins/hooks/lib/hook-runner.js +97 -0
  176. package/plugins/hooks/lib/hook-runner.sh +44 -0
  177. package/plugins/hooks/lib/hook-state-manager.js +480 -0
  178. package/plugins/hooks/lib/memory-extractor.js +377 -0
  179. package/plugins/hooks/lib/memory-manager.js +673 -0
  180. package/plugins/hooks/lib/metrics-analyzer.js +489 -0
  181. package/plugins/hooks/lib/project-evolution/auto-fixer.js +511 -0
  182. package/plugins/hooks/lib/project-evolution/memory-manager.js +346 -0
  183. package/plugins/hooks/lib/project-evolution/pattern-detector.js +476 -0
  184. package/plugins/hooks/lib/project-evolution/semantic-indexer.js +480 -0
  185. package/plugins/hooks/lib/project-structure-detector.js +326 -0
  186. package/plugins/hooks/lib/rollback-tracker.js +346 -0
  187. package/plugins/hooks/lib/source-code-scanner.js +596 -0
  188. package/plugins/hooks/lib/technology-stack-detector.js +374 -0
  189. package/plugins/hooks/lib/test-failure-analyzer.js +375 -0
  190. package/plugins/hooks/lib/test-failure-fixer.js +268 -0
  191. package/plugins/hooks/lib/trace-context.js +277 -0
  192. package/plugins/hooks/lib/validation-patterns.js +415 -0
  193. package/plugins/hooks/memory-sync.js +171 -0
  194. package/plugins/hooks/pipeline-observer.js +413 -0
  195. package/plugins/hooks/scope-sentinel.js +204 -0
  196. package/plugins/hooks/trace-initialization.js +169 -0
  197. package/plugins/memory/templates/code-quality.yaml +149 -0
  198. package/plugins/memory/templates/multi-system.yaml +155 -0
  199. package/plugins/memory/templates/team-habits.yaml +119 -0
  200. package/plugins/memory/templates/testing.yaml +121 -0
  201. package/plugins/skills/README.en.md +47 -0
  202. package/plugins/skills/README.md +104 -0
  203. package/plugins/skills/benchmark-executor/README.md +93 -0
  204. package/plugins/skills/benchmark-executor/SKILL.md +647 -0
  205. package/plugins/skills/benchmark-generator/SKILL.md +349 -0
  206. package/plugins/skills/delivery-stage/SKILL.md +203 -0
  207. package/plugins/skills/design-stage/SKILL.md +216 -0
  208. package/plugins/skills/evolution-process/SKILL.md +291 -0
  209. package/plugins/skills/exploration-phase/SKILL.md +133 -0
  210. package/plugins/skills/implementation-stage/SKILL.md +179 -0
  211. package/plugins/skills/layer1-validation/SKILL.md +79 -0
  212. package/plugins/skills/pending-dashboard/SKILL.md +109 -0
  213. package/plugins/skills/project-evolution/SKILL.md +847 -0
  214. package/plugins/skills/requirement-stage/SKILL.md +183 -0
  215. package/plugins/skills/skill-forge/SKILL.md +223 -0
  216. package/plugins/skills/skill-forge/references/description-guide.md +92 -0
  217. package/plugins/skills/skill-forge/references/quality-rubric.md +104 -0
  218. package/plugins/skills/skill-forge/references/skill-template.md +106 -0
  219. package/plugins/skills/startup-guard/SKILL.md +38 -0
  220. package/plugins/skills/testing-stage/SKILL.md +195 -0
  221. package/scripts/cli/global-init.js +288 -0
  222. package/scripts/cli/global.js +324 -0
  223. package/scripts/cli/index.js +55 -0
  224. package/scripts/cli/init.js +382 -0
  225. package/scripts/cli/list.js +69 -0
  226. package/scripts/cli/org.js +340 -0
  227. package/scripts/cli/update.js +44 -0
  228. package/scripts/config/commands.config.js +145 -0
  229. package/scripts/config/hooks.config.js +197 -0
  230. package/scripts/evolution/evolution-router.js +273 -0
  231. package/scripts/evolution/evolution-signal-collector.js +307 -0
  232. package/scripts/evolution/knowledge-loader.js +346 -0
  233. package/scripts/evolution/marketplace.js +317 -0
  234. package/scripts/evolution/version-manager.js +371 -0
  235. package/scripts/install/agents.js +106 -0
  236. package/scripts/install/commands.js +133 -0
  237. package/scripts/install/constants.js +424 -0
  238. package/scripts/install/hook-logger.js +536 -0
  239. package/scripts/install/hooks.js +110 -0
  240. package/scripts/install/index.js +39 -0
  241. package/scripts/install/skills.js +95 -0
  242. package/scripts/postinstall.js +25 -0
  243. package/scripts/state.js +376 -0
@@ -0,0 +1,401 @@
1
+ ---
2
+ name: design-planner
3
+ description: 当结构化需求文档通过评审、需要转化为可指导编码的技术方案时触发
4
+ type: produce
5
+ ---
6
+
7
+ ## 定位
8
+ 设计阶段的核心"做"类skill。将需求文档转化为技术方案,做出关键技术决策。
9
+
10
+ ## 输入
11
+ - 必须输入:经需求评审通过的结构化需求文档(含关键假设清单)
12
+ - 可选输入:项目技术栈信息、现有系统架构信息、领域知识
13
+
14
+ ## 输出
15
+
16
+ ### Step 1: 确定模式
17
+
18
+ 读取 `.autospec/config.json`,检查 `subsystems` 字段:
19
+ - **无 subsystems 或长度为1** → 单系统模式
20
+ - **有 subsystems 且长度>1** → 多系统模式
21
+
22
+ 检查是否需要效果指标设计:
23
+ - 有 `type: ai` 的子系统 → 需要效果指标设计
24
+ - 需求文档包含效果相关指标 → 需要效果指标设计
25
+
26
+ ### 单系统模式(普通功能)
27
+
28
+ **`.autospec/specs/{feature}/design.md`**,包含:
29
+ - 架构设计(分层、模块、组件关系,含架构图)
30
+ - 数据模型设计(实体、关系、存储选型)
31
+ - 接口/API设计(输入输出、协议、错误码)
32
+ - 技术选型及理由(含放弃方案的理由)
33
+ - 关键决策记录(选了什么、为什么、放弃了什么)
34
+ - 风险评估和应对策略
35
+ - 工作量预估和任务拆分(含依赖关系和并行标记)
36
+ - 关键假设清单(继承需求阶段 + 本阶段新增,标注已确认/待确认)
37
+ - 证据清单(参考项目、性能数据、技术文档等)
38
+
39
+ ### 多系统模式
40
+
41
+ 产出以下文件结构:
42
+
43
+ **1. `.autospec/specs/{feature}/design/overview.md`** — 整体架构
44
+ - 系统交互图(描述各子系统如何协作)
45
+ - 数据流向
46
+ - 跨系统接口契约
47
+ - 关键技术决策
48
+ - 依赖关系(开发顺序建议)
49
+
50
+ **2. `.autospec/specs/{feature}/design/{subsystem}.md`** — 各子系统设计
51
+ 为 config.json 中的每个 subsystem 产出独立文档,包含:
52
+ - 模块设计
53
+ - 数据模型
54
+ - API设计(本系统负责的部分)
55
+ - 技术细节
56
+ - 任务拆分
57
+
58
+ **3. `.autospec/specs/{feature}/contracts/api.yaml`** — API契约(如有跨系统接口)
59
+
60
+ ### 效果指标设计(AI/模型类功能)
61
+
62
+ 当项目包含 AI/模型 相关功能时,设计阶段需要额外产出:
63
+
64
+ **效果指标定义**:
65
+ - 核心效果指标(如准确率、召回率、F1、BLEU等)
66
+ - 业务效果指标(如转化率、用户满意度、任务完成率)
67
+ - 效果基线(最低可接受效果)
68
+ - 效果目标(期望达到的效果)
69
+
70
+ **评测方案设计**:
71
+ - 评测数据来源(公开数据集/业务数据/人工构造)
72
+ - 评测方法选择(自动评测/人工评测/A/B测试)
73
+ - 评测频率(离线评测/在线评测)
74
+
75
+ 写入 `design.md` 的"效果指标"章节,或独立产出 `design/evaluation.md`。
76
+
77
+ ### 产出物模板(增强版)
78
+
79
+ #### 文档头部
80
+
81
+ ```markdown
82
+ ---
83
+ document_id: DES-{feature}-001
84
+ version: v1.0
85
+ created: YYYY-MM-DD
86
+ updated: YYYY-MM-DD
87
+ status: Draft/Review/Approved
88
+ upstream: [REQ-{feature}-001]
89
+ downstream: []
90
+ ---
91
+
92
+ ## 版本历史
93
+
94
+ | 版本 | 日期 | 修改人 | 修改说明 |
95
+ |-----|------|--------|---------|
96
+ | v1.0 | YYYY-MM-DD | | 初始版本 |
97
+ ```
98
+
99
+ #### 第一章:技术决策增量
100
+
101
+ 记录相比需求阶段新增的技术决策:
102
+
103
+ ```markdown
104
+ | 决策ID | 决策名称 | 决策内容 | 决策理由 | 放弃方案 | 影响范围 |
105
+ |--------|---------|---------|---------|---------|---------|
106
+ | TD-01 | (决策名) | (选了什么) | (为什么) | (放弃什么) | (影响哪些模块) |
107
+ ```
108
+
109
+ #### 第二章:架构设计
110
+
111
+ - **系统架构图**:整体架构(使用 Mermaid)
112
+ - **模块划分**:各模块职责
113
+ - **数据流向**:数据如何在模块间流转
114
+ - **与业务流程对应**:标注每个业务流程如何被技术支撑
115
+
116
+ #### 第三章:接口设计
117
+
118
+ - **API列表**:接口清单
119
+ - **API详情**:每个接口的输入/输出/错误码
120
+ - **契约定义**:OpenAPI/YAML 格式(放在 contracts/ 目录)
121
+
122
+ #### 第四章:详细设计
123
+
124
+ - **数据模型**:实体关系图
125
+ - **核心算法**:关键算法伪代码
126
+ - **状态机**:如有状态流转
127
+
128
+ #### 第五章:迁移方案
129
+
130
+ - **数据迁移**:如何迁移现有数据
131
+ - **兼容性处理**:如何处理向后兼容
132
+ - **灰度策略**:如何逐步切换
133
+
134
+ ```markdown
135
+ | 迁移项 | 当前状态 | 目标状态 | 迁移方式 | 回滚方案 |
136
+ |--------|---------|---------|---------|---------|
137
+ | (数据/配置/代码) | | | | |
138
+ ```
139
+
140
+ #### 第六章:测试计划
141
+
142
+ - **测试策略**:单元/集成/E2E测试覆盖
143
+ - **测试场景**:关键测试场景
144
+ - **效果评测**:AI/模型功能的评测方案(如适用)
145
+
146
+ #### 第七章:监控告警
147
+
148
+ ```markdown
149
+ ### 技术指标
150
+
151
+ | 指标名称 | 计算方式 | 告警阈值 | 监控位置 |
152
+ |---------|---------|---------|---------|
153
+ | 响应时间 | P99 | > 1000ms | API网关 |
154
+ | 错误率 | 错误数/总请求数 | > 1% | 应用监控 |
155
+
156
+ ### 业务指标
157
+
158
+ | 指标名称 | 计算方式 | 告警阈值 | 监控位置 |
159
+ |---------|---------|---------|---------|
160
+ | 成功率 | 成功数/总数 | < 99% | 业务监控 |
161
+
162
+ ### 告警规则
163
+
164
+ | 告警名称 | 触发条件 | 告警级别 | 处理方式 |
165
+ |---------|---------|---------|---------|
166
+ | (告警名) | (条件) | P0/P1/P2 | (处理步骤) |
167
+ ```
168
+
169
+ #### 附录
170
+
171
+ - **假设清单**:继承需求阶段 + 本阶段新增
172
+ - **风险登记**:识别的技术风险及应对
173
+ - **工作量预估**:任务拆分和预估工时
174
+
175
+ ### 自查清单(嵌入式)
176
+
177
+ 产出完成后,执行自查:
178
+
179
+ - [ ] 每个技术决策有明确理由
180
+ - [ ] 数据模型覆盖所有业务实体
181
+ - [ ] API设计覆盖所有功能需求
182
+ - [ ] 业务规则已引用 BR-ID
183
+ - [ ] 风险已评估并有应对方案
184
+ - [ ] 监控指标覆盖关键业务
185
+ - [ ] 灰度和回滚方案已设计
186
+ - [ ] 任务拆分符合 ATOMIC 原则
187
+
188
+ ## 执行步骤
189
+
190
+ 1. 分析需求文档,识别技术挑战和关键决策点
191
+ - 预期产出:技术挑战清单
192
+ - 失败处理:挑战不明确则回溯需求文档
193
+ 2. **校验需求阶段关键假设**,更新假设状态
194
+ 3. **检查是否为多系统项目**:读取 `.autospec/config.json` 的 `subsystems` 字段
195
+ 4. **检查是否需要效果指标设计**:检查是否有 ai 类型子系统或需求文档包含效果指标
196
+ 5. **识别业务主体**(点线面体法)
197
+ a. 识别核心业务主体(ID由谁颁发、生命周期由谁管理)
198
+ b. 梳理业务主体的生命周期(核心/非核心生命周期区分)
199
+ c. 梳理领域内概念和知识域
200
+ 6. 设计整体架构(由外到内)
201
+ a. 确定分层结构(三层复用:域服务→商业能力→解决方案)
202
+ b. 划分模块/组件边界和职责
203
+ c. 定义模块间通信方式
204
+ d. **检验抽象力度**:抽象的平台是否能处理领域固有复杂度
205
+ e. **多系统模式**:额外产出系统交互图和依赖顺序
206
+ 7. 设计数据模型
207
+ a. 识别核心实体和关系,确定聚合根
208
+ b. 选择存储方案(关系型/文档型/缓存等)
209
+ c. 设计索引策略
210
+ d. 区分领域模型、应用模型、数据模型的边界
211
+ e. **多系统模式**:明确各子系统负责的数据边界
212
+ 8. 设计接口/API
213
+ a. 定义每个接口的输入、输出、错误处理
214
+ b. 出入参设计为对象(便于扩展,保持向后兼容)
215
+ c. 错误码明确区分可重试/不可重试、业务异常/系统异常
216
+ d. **多系统模式**:跨系统接口需在 contracts/ 中定义契约
217
+ 9. 技术选型
218
+ a. 对关键技术点列出至少2个备选
219
+ b. 从性能、维护性、团队熟悉度等维度对比
220
+ c. 做出选择并记录理由(含放弃方案的理由)
221
+ 10. 非功能架构设计
222
+ a. 监控设计:技术指标 + 业务指标
223
+ b. 容量评估:峰值TPS、机器数量
224
+ c. 三板斧:灰度发布、应急回滚、降级开关
225
+ d. 资损防控:识别资损点、制定保障措施
226
+ 11. **效果指标设计(如需要)**
227
+ a. 定义核心效果指标和业务效果指标
228
+ b. 设定效果基线和目标
229
+ c. 设计评测方案
230
+ 12. 评估风险,制定应对策略
231
+ 13. 制定路线图:按最小价值单元拆分,先交付样板间再横向扩展
232
+ - **多系统模式**:明确各子系统开发顺序(通常:后端→前端→移动端;有ml时:ml可能需要先验证效果)
233
+ 14. **任务拆分与依赖分析**
234
+ a. 按 ATOMIC 原则拆分任务(每个任务 2-4 小时)
235
+ b. 标注依赖类型:`→data`(数据依赖)、`→logic`(逻辑依赖)、`→res`(资源依赖)
236
+ c. 标记可并行任务:`[P]`
237
+ d. 输出依赖图(文本格式)
238
+ 15. **整理关键假设清单**(继承 + 新增),标注已确认/待确认
239
+ 16. **整理证据清单**
240
+
241
+ ## 任务拆分输出格式
242
+
243
+ 任务拆分是一个统一的能力,三视角融合:系统边界 + 任务规模 + 阶段依赖。
244
+
245
+ ### 拆分触发条件
246
+
247
+ | 视角 | 触发条件 | 拆解策略 |
248
+ |------|----------|----------|
249
+ | **系统边界** | 涉及多子系统 | 按系统拆 Phase,明确系统间依赖 |
250
+ | **任务规模** | 预估 > 16 小时 | 在 Phase 内按功能拆 Task(每任务 2-4h) |
251
+ | **阶段依赖** | 有明确阶段约束 | 按 AI验证→后端→前端 顺序排列 |
252
+
253
+ ### 拆分层级
254
+
255
+ ```
256
+ Phase(阶段/子系统,预估 4-16 小时)
257
+ └── Task(具体任务,2-4 小时)
258
+ └── Sub-task(如需要,最大深度 2 层)
259
+ ```
260
+
261
+ ### 依赖解耦与并行策略
262
+
263
+ **核心原则**:通过定义标准产出物(接口契约、数据Schema),将"依赖"转化为"面向标准并行开发"。
264
+
265
+ **可解耦依赖**:
266
+ | 场景 | 标准产出物 | 解耦方式 |
267
+ |------|------------|----------|
268
+ | 后端↔前端 | API契约(OpenAPI) | 契约定义后:后端实现 ∥ 前端Mock开发 |
269
+ | 后端↔移动端 | API契约 | 契约定义后:后端实现 ∥ 移动端Mock开发 |
270
+ | 数据↔后端 | 数据模型/表结构 | 结构定义后:数据管道 ∥ 后端接口 |
271
+ | AI↔后端 | 模型接口定义 | 接口定义后:模型训练 ∥ 后端服务 |
272
+ | 数据↔数据 | 数据交换Schema | Schema定义后:上游 ∥ 下游 |
273
+
274
+ **解耦标记**:
275
+ - `→contract`:通过契约解耦,契约定义后可并行
276
+ - `→mock`:使用Mock数据并行开发,上游完成后联调
277
+
278
+ **不可解耦依赖**(必须串行):
279
+ - 数据库迁移(资源依赖)
280
+ - 配置变更影响多方(资源依赖)
281
+ - 核心业务流程顺序(逻辑依赖:创建订单→支付→发货)
282
+ - AI模型效果验证(逻辑依赖:效果不达标则后续无意义)
283
+
284
+ ### 统一输出格式
285
+
286
+ 在 `design.md` 或 `design/overview.md` 的"任务拆分"章节输出:
287
+
288
+ ```markdown
289
+ ## 任务拆分
290
+
291
+ ### 拆分依据
292
+
293
+ - 系统边界:涉及后端、前端、AI、数据四个子系统
294
+ - 任务规模:预估 40 人时,需拆分
295
+ - 阶段依赖:AI 效果验证 → 后端 API → 前端/移动端
296
+
297
+ ### 依赖图(含解耦标记)
298
+
299
+ \`\`\`
300
+ [P1: AI模型验证] →data(不可解耦)→ [P2: 后端API]
301
+ ├─→contract→ [P3: 前端页面]
302
+ └─→contract→ [P4: 移动端适配]
303
+ [P2: 后端API]
304
+ ├─→contract→ [P5: 数据管道](数据Schema定义后并行)
305
+ └─→ [T2.1: 数据模型] →logic→ [T2.2: 核心接口] →logic→ [T2.3: 单元测试]
306
+ \`\`\`
307
+
308
+ ### 解耦并行分析
309
+
310
+ | 依赖关系 | 可解耦 | 解耦方式 | 标准产出物 |
311
+ |----------|--------|----------|------------|
312
+ | P2 →data→ P3 | ✅ | API契约定义后并行 | OpenAPI Schema |
313
+ | P2 →data→ P4 | ✅ | API契约定义后并行 | OpenAPI Schema |
314
+ | P2 →data→ P5 | ✅ | 数据Schema定义后并行 | 表结构定义 |
315
+ | P1 →data→ P2 | ❌ | 效果不达标则后续无意义 | - |
316
+
317
+ ### 任务清单
318
+
319
+ | ID | Phase | 任务 | 依赖 | 并行 | 预估 | 验证标准 |
320
+ |----|-------|------|------|------|------|----------|
321
+ | P1 | AI | 模型效果验证 | - | - | 8h | 准确率>85% |
322
+ | P2 | Backend | 后端API开发 | P1→data | - | 12h | 全部接口测试通过 |
323
+ | T2.0 | Backend | API契约定义 | - | - | 1h | OpenAPI文档 |
324
+ | T2.1 | Backend | 数据模型设计 | - | - | 2h | ER图评审通过 |
325
+ | T2.2 | Backend | 核心接口实现 | T2.1→logic | - | 6h | 接口测试通过 |
326
+ | T2.3 | Backend | 单元测试 | T2.2→logic | - | 2h | 覆盖率>80% |
327
+ | P3 | Frontend | 前端页面开发 | T2.0→contract | 与P4,P5并行 | 6h | E2E测试通过 |
328
+ | P4 | Mobile | 移动端适配 | T2.0→contract | 与P3,P5并行 | 4h | 真机测试通过 |
329
+ | P5 | Data | 数据管道开发 | T2.1→contract | 与P3,P4并行 | 4h | 数据校验通过 |
330
+
331
+ ### 执行批次
332
+
333
+ | 批次 | 任务 | 说明 |
334
+ |------|------|------|
335
+ | 1 | P1 | 阻塞后续,必须先完成 |
336
+ | 2 | T2.0, T2.1 | 契约+数据模型定义(解耦关键) |
337
+ | 3 | T2.2, P3, P4, P5 | 契约定义后并行执行 |
338
+ | 4 | T2.3 | T2.2 完成后执行 |
339
+ | 5 | 联调验证 | P3/P4/P5 与 P2 联调 |
340
+ ```
341
+
342
+ ### 解耦并行实施要点
343
+
344
+ 1. **契约先行**:涉及多系统协作时,优先产出接口契约/数据Schema
345
+ 2. **Mock开发**:下游基于契约Mock数据开发,不阻塞上游实现
346
+ 3. **联调验证**:上游完成后,下游切换真实接口联调
347
+ 4. **契约变更管理**:契约变更需通知所有相关方,评估影响范围
348
+
349
+ ### 单系统简化格式
350
+
351
+ 单系统且任务简单时,可简化输出:
352
+
353
+ ```markdown
354
+ ## 任务拆分
355
+
356
+ ### 依赖图
357
+
358
+ \`\`\`
359
+ [T1: 数据模型] →data→ [T2: API实现] →data→ [T3: 集成测试]
360
+ \`\`\`
361
+
362
+ ### 任务清单
363
+
364
+ | ID | 任务 | 依赖 | 预估 | 验证标准 |
365
+ |----|------|------|------|----------|
366
+ | T1 | 数据模型设计 | - | 2h | ER图评审通过 |
367
+ | T2 | API实现 | T1→data | 3h | 接口测试通过 |
368
+ | T3 | 集成测试 | T2→data | 1h | 全部用例通过 |
369
+ ```
370
+
371
+ ### ATOMIC 检查清单
372
+
373
+ 每个任务必须通过以下检查:
374
+
375
+ | 检查项 | 说明 | 通过标准 |
376
+ |--------|------|----------|
377
+ | A - Autonomous | 可独立执行 | 不依赖其他任务的中间状态 |
378
+ | T - Testable | 有验证标准 | 明确的测试/验证方法 |
379
+ | O - Observable | 结果可观测 | 有输出物或日志 |
380
+ | M - Modest | 粒度适中 | 2-4 小时可完成 |
381
+ | I - Informed | 上下文完整 | 包含必要背景信息 |
382
+ | C - Constrained | 边界明确 | 做什么/不做什么清晰 |
383
+
384
+ ## 反模式清单(DP7)
385
+ 1. **过度设计**:为不存在的需求预留扩展。检测:每个设计决策回溯到具体需求,无法回溯的删除
386
+ 2. **技术偏好驱动**:选自己熟悉的而非最合适的。检测:至少列出2个备选方案并对比
387
+ 3. **忽略非功能需求**:只设计功能不考虑性能/安全。检测:用checklist强制覆盖
388
+ 4. **假设漂移**:设计偏离需求阶段的关键假设。检测:逐项校验继承假设
389
+ 5. **PPT架构**:画了漂亮的图但不可落地。检测:每个组件必须有具体技术实现方案
390
+ 6. **重复造轮子**:不搜索项目已有组件就新建。检测:选型前搜索现有技术栈
391
+ 7. **忽略效果指标**:AI/模型类功能不设计效果指标。检测:ml类型子系统必须有效果指标章节
392
+
393
+ ## 适用场景与边界
394
+ - 适用:新功能开发、系统重构、技术方案选型
395
+ - 不适用:方案已有只需评审(用design-reviewer);纯bug修复(通常不需要完整设计)
396
+ - 边界:产出技术方案,但不写代码
397
+ - 前置:requirement-reviewer通过
398
+ - 后续:design-reviewer审查 → 通过后进入code-implementer
399
+
400
+ ## 示例
401
+ (待从实践中积累第一个完整示例)
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: design-reviewer
3
+ description: 当技术方案文档完成、需要评审其合理性和完整性以决定是否可进入编码阶段时触发
4
+ type: review
5
+ ---
6
+
7
+ ## 定位
8
+ 设计阶段的"审"类skill。独立审查技术方案质量,作为进入编码阶段的Layer 2质量关卡。
9
+
10
+ > **做审分离(DP2)**:必须由独立于design-planner的AI实例执行。
11
+
12
+ ## 输入
13
+ - 必须输入:技术方案文档(design-planner的输出)、结构化需求文档(对照覆盖度)
14
+ - 可选输入:methodology/checklists/design.md(检查标准)、需求阶段关键假设清单
15
+
16
+ ## 评判标准
17
+ 必须满足:
18
+ - [ ] 方案覆盖需求文档中的所有功能点
19
+ - [ ] 关键技术决策有明确理由(不是拍脑袋)
20
+ - [ ] 接口/API定义清晰,模块间可独立开发
21
+ - [ ] 数据模型设计合理
22
+ - [ ] 复杂度与需求匹配,不过度设计
23
+ - [ ] 安全性已考虑
24
+ - [ ] 关键假设清单完整,需求阶段假设已校验
25
+ - [ ] 待确认假设不超过3个
26
+
27
+ 建议满足:
28
+ - [ ] 可扩展性已考虑
29
+ - [ ] 性能预估和瓶颈分析
30
+ - [ ] 技术风险已识别并有降级方案
31
+ - [ ] 对比了备选方案
32
+
33
+ ## 评审步骤
34
+ 1. 对照需求文档,逐条检查方案是否覆盖(无遗漏)
35
+ - 证据获取:建立需求→设计的映射表
36
+ 2. 审查架构设计的合理性(分层清晰、职责单一、耦合度低)
37
+ - 证据获取:指出具体的耦合点或职责混淆
38
+ 3. 审查接口设计(输入输出明确、错误处理完善、命名规范)
39
+ 4. 审查数据模型(实体关系合理、索引策略得当、存储选型匹配)
40
+ 5. 审查技术选型的理由(是否充分、是否有更优选择)
41
+ 6. 检查是否过度设计(每个设计决策能否回溯到具体需求)
42
+ - 证据获取:无法回溯到需求的设计元素列表
43
+ 7. 检查安全性考虑(认证、授权、数据保护)
44
+ 8. **校验关键假设跨阶段一致性**(需求→设计是否漂移)
45
+ 9. 逐项输出判定结果,**每项附具体证据**
46
+
47
+ ## 输出格式
48
+
49
+ ```
50
+ ## 审查结论:通过 / 不通过
51
+
52
+ ### 逐项判定
53
+ | 检查项 | 结论 | 证据 | 备注 |
54
+ |--------|------|------|------|
55
+ | 需求覆盖度 | ✅/❌ | {需求→设计映射} | {遗漏项} |
56
+ | 架构合理性 | ✅/❌ | {具体分析} | {修复建议} |
57
+ | ... | ... | ... | ... |
58
+
59
+ ### 必须修复(blocking)
60
+ - ...
61
+
62
+ ### 建议改进(non-blocking)
63
+ - ...
64
+
65
+ ### 关键假设验证
66
+ - 需求假设X:在设计中已体现/存在漂移(证据:...)
67
+ - 设计新假设Y:合理/存疑(证据:...)
68
+ ```
69
+
70
+ ## 反模式清单(DP7)
71
+ 1. **橡皮图章**:无证据通过。检测:每条"通过"必须附具体证据
72
+ 2. **吹毛求疵**:纠结技术选型的微小差异。检测:技术选型偏好不可blocking
73
+ 3. **脱离上下文**:不参照需求审查方案。检测:审查步骤第一步必须对照需求
74
+ 4. **假设漂移忽视**:不校验跨阶段假设一致性。检测:输出必须包含假设验证section
75
+ 5. **反向过度设计**:审查中建议增加方案复杂度。检测:建议改进不可增加已排除的需求
76
+
77
+ ## 适用场景与边界
78
+ - 适用:技术方案完成后,进入编码阶段前
79
+ - 不适用:方案还在草稿阶段(先完成方案再评审)
80
+ - 对应做类skill:design-planner
81
+
82
+ ## 示例
83
+ (待从实践中积累第一个完整示例)
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: integration-test-runner
3
+ description: 当需要检测并执行项目已有集成测试、验证模块间协作时触发
4
+ type: execute
5
+ ---
6
+
7
+ ## 定位
8
+
9
+ 集成测试执行阶段的"执行"类skill。负责智能检测项目中的集成测试并执行。
10
+
11
+ > **使用场景**:单元测试通过后,需要验证模块间协作是否正常。
12
+
13
+ ## 输入
14
+
15
+ - 必须输入:项目代码、单元测试已通过
16
+ - 可选输入:项目构建配置
17
+
18
+ ## 执行步骤
19
+
20
+ ### Step 1: 智能检测测试框架
21
+
22
+ 1. 检测项目测试框架:
23
+ - 读取 `package.json`, `pom.xml`, `build.gradle`, `pyproject.toml` 等
24
+ - 识别测试框架:pytest, JUnit, Jest, Vitest 等
25
+
26
+ 2. 识别测试文件(不限于特定目录):
27
+ - 根据框架惯例:test_*.py, *_test.py, *.test.js, *Test.java
28
+ - 根据测试内容:class Test*, def test_*, it('*'), @Test
29
+ - 扫描项目根目录和子目录
30
+
31
+ ### Step 2: 区分单元测试 vs 集成测试
32
+
33
+ 1. **单元测试特征**:
34
+ - 只 import 项目内部模块
35
+ - 无外部依赖(数据库、API、文件系统)
36
+ - 使用 mock 替代外部依赖
37
+
38
+ 2. **集成测试特征**:
39
+ - import 外部模块(数据库、缓存、消息队列)
40
+ - 涉及真实环境配置
41
+ - 无 mock 或少量 mock
42
+ - 测试文件名包含 integration, e2e, endtoend
43
+
44
+ 3. **分类输出**:
45
+ - 列出识别出的集成测试文件
46
+ - 说明分类依据
47
+
48
+ ### Step 3: 执行集成测试
49
+
50
+ 1. 准备测试环境(如需要)
51
+ 2. 执行集成测试
52
+ 3. 收集测试输出和结果
53
+
54
+ ### Step 4: 分析测试结果
55
+
56
+ 1. 解析测试输出
57
+ 2. 统计:通过/失败/跳过/错误
58
+ 3. 记录失败的测试用例和错误信息
59
+
60
+ ## 输出格式
61
+
62
+ ```
63
+ ## 集成测试执行结果
64
+
65
+ ### 测试框架检测
66
+ - 检测到的框架:{framework}
67
+ - 测试命令:{command}
68
+
69
+ ### 测试文件识别
70
+ - 总测试文件数:{total}
71
+ - 单元测试:{unit_count}
72
+ - 集成测试:{integration_count}
73
+
74
+ ### 集成测试列表
75
+ | 文件路径 | 测试用例数 | 分类依据 |
76
+ |----------|------------|----------|
77
+ | ... | ... | ... |
78
+
79
+ ### 执行结果
80
+ - 通过:{passed}
81
+ - 失败:{failed}
82
+ - 跳过:{skipped}
83
+ - 错误:{errors}
84
+
85
+ ### 失败详情(如有)
86
+ | 测试文件 | 测试用例 | 错误信息 |
87
+ |----------|----------|----------|
88
+ | ... | ... | ... |
89
+
90
+ ### 结论
91
+ - 集成测试通过:✅ 是/❌ 否
92
+ - 需要修复:{需要修复的测试数}
93
+ ```
94
+
95
+ ## 判定标准
96
+
97
+ - **通过**:所有集成测试通过
98
+ - **不通过**:有集成测试失败,需要修复
99
+ - **无集成测试**:项目中未发现集成测试,跳过
100
+
101
+ ## 适用场景
102
+
103
+ - 适用:单元测试通过后,需要验证模块间协作
104
+ - 不适用:需要生成新测试(使用 test-generator)
105
+ - 对应做类skill:test-generator