@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,205 @@
1
+ ---
2
+ name: release-checker
3
+ description: 当代码准备部署到生产环境、需要逐项检查所有发布前置条件是否满足时触发
4
+ type: review
5
+ ---
6
+
7
+ ## 定位
8
+ 交付阶段的"审"类skill。发布前的最后一道关卡,确保所有前置条件就绪,不带病上线。
9
+
10
+ ## 输入
11
+ - 必须输入:QA测试报告、回滚方案
12
+ - 可选输入:变更记录、methodology/checklists/release.md(检查标准)、关键假设清单(全链路)
13
+
14
+ ## 评判标准
15
+
16
+ ### 必须满足(所有模式)
17
+ - [ ] QA测试报告结论为通过
18
+ - [ ] 无未解决的Critical/Major级别缺陷
19
+ - [ ] 回滚方案已准备并验证可行
20
+ - [ ] 变更记录已编写
21
+ - [ ] 数据库变更(如有)已review并有回滚脚本
22
+ - [ ] 配置变更(如有)已确认
23
+ - [ ] 关键假设全链路已验证
24
+
25
+ ### 多系统模式额外检查
26
+ - [ ] 各子系统变更已确认
27
+ - [ ] 跨系统接口变更已同步
28
+ - [ ] 部署顺序已确定(通常:后端→前端→移动端;有ml时:模型服务可能需要先部署)
29
+
30
+ ### AI/模型功能额外检查
31
+ - [ ] 效果评测已完成
32
+ - [ ] 效果指标达到基线要求
33
+ - [ ] 评测报告已产出
34
+ - [ ] Badcase已分析和处理
35
+
36
+ ### 数据系统额外检查
37
+ - [ ] 数据质量检查通过
38
+ - [ ] ETL流程验证通过
39
+ - [ ] 数据回滚方案已准备
40
+
41
+ ### 必须满足(高可用)
42
+ - [ ] 应急开关/降级方案已准备(限流、降级、熔断)
43
+ - [ ] 关键业务指标监控已配置(不仅技术指标,也含业务指标)
44
+ - [ ] 资损点已识别并有针对性保障措施(如涉及资金)
45
+
46
+ ### 建议满足
47
+ - [ ] 相关方已通知
48
+ - [ ] 监控告警已配置或确认(含业务趋势波动监控)
49
+ - [ ] 灰度/分批发布策略已确定(如适用)
50
+ - [ ] 遗留风险已记录并经确认可接受
51
+ - [ ] 发布时间窗口合适
52
+ - [ ] 容量评估已完成(压测数据支撑)
53
+ - [ ] 变更回滚预案已演练验证
54
+
55
+ ## 评审步骤
56
+
57
+ ### Step 1: 确定模式
58
+
59
+ 读取 `.autospec/config.json`,检查 `subsystems` 字段:
60
+ - **无 subsystems 或长度为1** → 单系统模式
61
+ - **有 subsystems 且长度>1** → 多系统模式
62
+
63
+ 检查是否需要效果验收:
64
+ - 有 `type: ai` 的子系统或 `needsEvaluation: true` → 需要效果验收
65
+
66
+ ### Step 2: 单系统模式
67
+
68
+ 1. 检查QA测试报告状态和结论
69
+ - 证据获取:直接引用测试报告结论
70
+ 2. 检查是否有未关闭的blocking缺陷
71
+ 3. 检查回滚方案是否存在且可行
72
+ - 证据获取:回滚方案的具体步骤和预计耗时
73
+ 4. 检查变更记录是否完整
74
+ 5. 检查数据库和配置变更(如适用)
75
+ 6. 检查宪法门禁(不可违反红线)
76
+ 7. 检查通知和监控准备
77
+ 8. **检查关键假设全链路验证状态**
78
+ 9. **影响分析**:
79
+ - 分析任务依赖的表/接口
80
+ - 查询这些依赖被哪些下游使用
81
+ - 评估影响范围和风险
82
+ - 输出影响分析报告
83
+ 10. 汇总遗留风险
84
+ 11. 逐项输出判定结果,**每项附具体证据**
85
+
86
+ ### Step 3: 多系统模式
87
+
88
+ 1. **各子系统发布检查**:
89
+ ```
90
+ for subsystem in config.subsystems:
91
+ a. 检查 {subsystem.path} 变更内容
92
+ b. 确认 {subsystem.build} 成功
93
+ c. 确认 {subsystem.test} 通过
94
+ d. 检查依赖版本
95
+ e. 记录发布项
96
+ ```
97
+
98
+ 2. **跨系统一致性检查**:
99
+ - 确认跨系统接口变更已同步
100
+ - 确认部署顺序合理
101
+
102
+ 3. **汇总检查结果**
103
+
104
+ ### Step 4: 效果验收(AI/模型功能)
105
+
106
+ 当项目包含 AI/模型 相关功能时,需要额外验收:
107
+
108
+ 1. **检查评测报告**:
109
+ - 评测数据集是否覆盖典型场景
110
+ - 效果指标是否达到设计阶段定义的基线
111
+ - Badcase是否已分析和处理
112
+
113
+ 2. **效果指标验收**:
114
+ - 核心效果指标是否达标
115
+ - 业务效果指标是否达标(如有)
116
+ - 未达标指标是否有改进计划
117
+
118
+ 3. **智能体验收**(如适用):
119
+ - 任务完成率是否达标
120
+ - 响应质量是否达标
121
+ - 工具使用正确率是否达标
122
+
123
+ 4. **产出验收结论**:
124
+ - 通过:效果达标,可发布
125
+ - 有风险:效果部分达标,需确认是否接受
126
+ - 不通过:效果未达标,阻止发布
127
+
128
+ ### Step 5: 数据系统验收
129
+
130
+ 当项目包含数据系统时:
131
+
132
+ 1. **数据质量验收**:
133
+ - 数据完整性检查结果
134
+ - 数据一致性检查结果
135
+ - 数据准确性检查结果
136
+
137
+ 2. **ETL流程验收**:
138
+ - 数据转换正确性
139
+ - 性能是否满足要求
140
+
141
+ 3. **数据回滚方案验收**:
142
+ - 回滚脚本是否准备
143
+ - 回滚是否可执行
144
+
145
+ ## 输出格式
146
+
147
+ ```
148
+ ## 审查结论:可发布 / 不可发布 / 有风险需确认
149
+
150
+ ### 逐项判定
151
+ | 检查项 | 结论 | 证据 | 备注 |
152
+ |--------|------|------|------|
153
+ | QA测试通过 | ✅/❌ | {报告引用} | |
154
+ | 回滚方案就绪 | ✅/❌ | {方案摘要} | {预计回滚耗时} |
155
+ | ... | ... | ... | ... |
156
+
157
+ ### 多系统模式额外项
158
+ | 子系统 | 类型 | 构建 | 测试 | 变更内容 |
159
+ |--------|------|------|------|----------|
160
+ | backend | 后端 | ✅/❌ | ✅/❌ | ... |
161
+ | frontend | 前端 | ✅/❌ | ✅/❌ | ... |
162
+ | ai | AI/模型 | - | ✅/❌ | ... |
163
+
164
+ ### 效果验收(如适用)
165
+ | 指标 | 基线 | 实际 | 结论 |
166
+ |------|------|------|------|
167
+ | 准确率 | ≥90% | 92% | ✅达标 |
168
+ | 召回率 | ≥85% | 83% | ❌未达标 |
169
+ | ... | ... | ... | ... |
170
+
171
+ ### 阻塞项(如不可发布)
172
+ - {具体阻塞原因} → {解决建议}
173
+
174
+ ### 遗留风险汇总
175
+ - {风险描述} / 影响范围 / 建议处理方式(需人工确认可接受)
176
+
177
+ ### 关键假设最终状态
178
+ - 假设X:已验证通过 / 未验证(风险:...)
179
+
180
+ ### 不可逆动作清单(需人工确认)
181
+ - [ ] 数据库迁移:{描述}
182
+ - [ ] 配置变更:{描述}
183
+ - [ ] 外部API调用:{描述}
184
+ - [ ] 模型部署:{描述}(AI/模型功能)
185
+
186
+ ### 部署方案(多系统模式)
187
+ - 部署顺序:{子系统顺序}
188
+ - 依赖关系:{描述}
189
+ - 回滚计划:{描述}
190
+ ```
191
+
192
+ ## 反模式清单(DP7)
193
+ 1. **带病上线**:有已知blocking问题但放行。检测:blocking缺陷存在则必须判不可发布
194
+ 2. **回滚方案缺失**:忽略回滚方案检查。检测:回滚方案是必选项,不可跳过
195
+ 3. **环境差异忽视**:不检查测试/生产环境差异。检测:前置检查包含环境一致性
196
+ 4. **不可逆动作放行**:未标记需要人工确认的不可逆动作。检测:输出必须包含不可逆动作清单
197
+ 5. **跳过效果验收**:AI/模型功能不验收效果就发布。检测:ml类型子系统必须有效果验收结论
198
+ 6. **效果不达标放行**:效果未达标但无改进计划就发布。检测:效果不达标必须有明确的改进计划或人工确认接受
199
+
200
+ ## 适用场景与边界
201
+ - 适用:所有准备发布到生产环境的部署
202
+ - 不适用:开发/测试环境的部署(标准可降低)
203
+
204
+ ## 示例
205
+ (待从实践中积累第一个完整示例)
@@ -0,0 +1,195 @@
1
+ ---
2
+ name: requirement-analyzer
3
+ description: 当收到原始需求(口头/文字/issue)需要转化为结构化需求文档时触发
4
+ type: produce
5
+ ---
6
+
7
+ ## 定位
8
+ 需求阶段的核心"做"类skill。将非结构化的原始需求转化为可指导设计的结构化需求文档。
9
+
10
+ ## 输入
11
+ - 必须输入:原始需求(口头描述、文字记录、issue、用户反馈等)
12
+ - 可选输入:项目背景信息、现有系统信息、相关业务知识
13
+
14
+ ## 输出
15
+
16
+ 结构化需求文档,包含:
17
+ - 需求背景与目的(为什么要做)
18
+ - 功能需求列表(含优先级:P0/P1/P2)
19
+ - 非功能需求(性能、安全、兼容性等)
20
+ - 每条功能需求的验收标准
21
+ - 依赖和约束
22
+ - 不做的事项(明确排除)
23
+ - 待澄清问题列表(最多3个NEEDS CLARIFICATION,其余做合理默认)
24
+ - **关键假设清单**(已确认 / 待确认)
25
+ - **证据清单**(支撑需求合理性的依据:用户反馈来源、数据支撑等)
26
+
27
+ ### 产出物模板(增强版)
28
+
29
+ 产出 `.autospec/specs/{feature}/requirement.md`,建议包含以下章节:
30
+
31
+ #### 文档头部
32
+
33
+ ```markdown
34
+ ---
35
+ document_id: REQ-{feature}-001
36
+ version: v1.0
37
+ created: YYYY-MM-DD
38
+ updated: YYYY-MM-DD
39
+ status: Draft/Review/Approved
40
+ upstream: []
41
+ downstream: [DES-{feature}-001]
42
+ ---
43
+
44
+ ## 版本历史
45
+
46
+ | 版本 | 日期 | 修改人 | 修改说明 |
47
+ |-----|------|--------|---------|
48
+ | v1.0 | YYYY-MM-DD | | 初始版本 |
49
+ ```
50
+
51
+ #### 第一章:背景与目的
52
+
53
+ - **业务背景**:为什么需要做这个功能?当前痛点是什么?
54
+ - **业务目标**:期望达成的业务指标(可量化)
55
+ - **技术目标**:期望达成的技术指标(如有)
56
+
57
+ #### 第二章:功能范围
58
+
59
+ - **功能列表**:做什么
60
+ - 功能ID | 功能名称 | 优先级 | 验收标准
61
+ - **非功能需求**:性能/安全/兼容性/可用性
62
+ - **不做的事项**:明确排除的范围
63
+
64
+ #### 第三章:用户场景
65
+
66
+ - **目标用户**:谁使用这个功能
67
+ - **使用场景**:什么情况下使用
68
+ - **用户故事**:As a... I want to... So that...
69
+
70
+ #### 第四章:业务规则
71
+
72
+ 从需求提取的业务规则,每个规则引用 BR-ID:
73
+
74
+ ```markdown
75
+ | 规则ID | 规则名称 | 规则描述 | 来源 |
76
+ |--------|---------|---------|------|
77
+ | BR-01 | (规则名) | (描述) | requirement.md#章节 |
78
+ ```
79
+
80
+ 如规则未在 `knowledge/domain/rules.md` 中定义,需同步新增。
81
+
82
+ #### 第五章:边界定义
83
+
84
+ - **边界案例**:极端情况如何处理
85
+ - **约束条件**:时间/资源/技术约束
86
+ - **依赖识别**:依赖的系统/服务/数据
87
+
88
+ #### 第六章:风险评估
89
+
90
+ ```markdown
91
+ | 风险ID | 风险名称 | 类型 | 可能性 | 影响 | 缓解措施 |
92
+ |--------|---------|------|--------|------|---------|
93
+ | R-01 | (风险名) | 业务/技术 | 高/中/低 | 高/中/低 | (措施) |
94
+ ```
95
+
96
+ #### 第七章:知识缺失
97
+
98
+ - **待确认项**:需要进一步确认的问题
99
+ - **假设清单**:当前做的假设(继承关键假设清单)
100
+
101
+ #### 第八章:Open Questions
102
+
103
+ 待澄清问题列表(最多3个),每个问题附AI推荐答案:
104
+
105
+ ```markdown
106
+ | 序号 | 问题 | AI推荐答案 | 状态 |
107
+ |-----|------|----------|------|
108
+ | 1 | (问题) | (推荐答案) | 待确认/已确认 |
109
+ ```
110
+
111
+ #### 附录
112
+
113
+ - **术语引用**:引用 `knowledge/domain/glossary.md` 中的术语
114
+ - **流程引用**:引用 `knowledge/domain/flows/` 中的流程图
115
+
116
+ ### 自查清单(嵌入式)
117
+
118
+ 产出完成后,执行自查:
119
+
120
+ - [ ] 每条功能有明确的验收标准
121
+ - [ ] 业务规则已提取并ID化
122
+ - [ ] 术语已在 glossary.md 中定义(如有新术语)
123
+ - [ ] 关键流程已有流程图(如有)
124
+ - [ ] 风险已评估并有缓解措施
125
+ - [ ] 假设已明确记录
126
+ - [ ] 待澄清问题不超过3个
127
+
128
+ ## 执行步骤
129
+ 1. 通读原始需求,理解背景和目的
130
+ - 预期产出:对需求背景的一段话总结
131
+ - 失败处理:背景不清晰则标记为NEEDS CLARIFICATION
132
+ 2. **需求穿透**:至少追问两层"为什么"
133
+ - 用户方案(What)→ 产品需求(How)→ 真实痛点(Why)
134
+ - 用JTBD三维度分析:功能任务 / 情感任务 / 社会任务
135
+ 3. **价值验证**:检查客户价值公式
136
+ - 客户价值 = 新方案价值 - 旧方案价值 - 转换成本 > 0
137
+ - 如不成立,标记为待讨论
138
+ 4. 提取功能点,拆解为独立的功能需求条目(MECE原则)
139
+ 5. 对每条功能需求,按5W标准描述:
140
+ a. Who(用户角色)/ Where+When(场景)/ What(需求)/ Why(动机)
141
+ b. 定义验收标准(可验证的条件)
142
+ c. 识别模糊点(如有,加入待澄清列表)
143
+ 6. 补充非功能需求(参考 methodology/checklists/requirement.md)
144
+ 7. 识别依赖关系和约束条件
145
+ 8. 明确不做的事项(防止范围蔓延)
146
+ 9. 排定优先级(P0必做/P1应做/P2可做)
147
+ 10. 定义效果指标和基线(当前是什么、目标是什么)
148
+ 11. **整理关键假设清单**,标注已确认/待确认
149
+ 12. **整理证据清单**,标注每条需求的支撑依据
150
+
151
+ ## 反模式清单(DP7)
152
+ 1. **需求镀金**:加入原始需求未提及的功能。检测:每条功能回溯到原始诉求,无法回溯的删除
153
+ 2. **隐含需求遗漏**:用户没说但理应包含的。检测:用checklist逐项检查非功能需求
154
+ 3. **边界模糊**:什么算做完没说清。检测:强制填写验收标准和排除项
155
+ 4. **假设隐藏**:假设了条件但未显式记录。检测:强制填写关键假设清单
156
+ 5. **过度澄清**:无限追问延迟推进。检测:最多3个NEEDS CLARIFICATION,其余做合理默认
157
+ 6. **范围蔓延**:拆解过程中不断扩大范围。检测:定期回溯原始需求核心诉求
158
+
159
+ ## 适用场景与边界
160
+ - 适用:所有需要从原始需求产出结构化文档的场景
161
+ - 不适用:需求已经结构化只需评审(用requirement-reviewer)
162
+ - 边界:分析和结构化需求,但不做技术可行性深度评估(那是设计阶段的事)
163
+ - 前置:无
164
+ - 后续:requirement-reviewer审查 → 通过后进入design-planner
165
+
166
+ ## 示例
167
+ **输入**:"我们需要给商机项目加一个企业标签筛选功能,用户可以按行业、地区、规模筛选企业"
168
+ **输出**:
169
+ ```
170
+ ## 需求背景
171
+ 商机项目用户需要从大量企业中快速定位目标客户,当前只能通过搜索,无法按维度筛选。
172
+
173
+ ## 功能需求
174
+ 1. [P0] 行业筛选:用户可按行业分类筛选企业列表
175
+ - 验收标准:支持多级行业分类选择,选择后列表实时更新
176
+ 2. [P0] 地区筛选:用户可按省/市筛选
177
+ - 验收标准:支持多选,选择后与行业筛选联动
178
+ 3. [P1] 规模筛选:用户可按企业规模档位筛选
179
+ - 验收标准:支持预设档位(微型/小型/中型/大型)
180
+
181
+ ## 非功能需求
182
+ - 筛选响应时间 < 500ms
183
+ - 支持10万+企业数据量
184
+
185
+ ## 不做
186
+ - 不做自定义筛选维度(本期只做固定3个维度)
187
+ - 不做筛选结果导出
188
+
189
+ ## 关键假设
190
+ - [已确认] 企业数据已有行业、地区、规模字段
191
+ - [待确认] 行业分类使用国标分类体系
192
+
193
+ ## 证据
194
+ - 用户反馈中提及"找不到目标企业"的占比:来自support tickets统计
195
+ ```
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: requirement-reviewer
3
+ description: 当结构化需求文档完成、需要评审其完整性和无歧义性以决定是否可进入设计阶段时触发
4
+ type: review
5
+ ---
6
+
7
+ ## 定位
8
+ 需求阶段的"审"类skill。独立审查需求文档质量,作为进入设计阶段的Layer 2质量关卡。
9
+
10
+ > **做审分离(DP2)**:必须由独立于requirement-analyzer的AI实例执行。
11
+
12
+ ## 输入
13
+ - 必须输入:结构化需求文档(requirement-analyzer的输出)、原始需求(对照是否偏题)
14
+ - 可选输入:methodology/checklists/requirement.md(检查标准)
15
+
16
+ ## 评判标准
17
+ 必须满足:
18
+ - [ ] 每条功能需求有明确的验收标准
19
+ - [ ] 需求描述无歧义(不同人读到的理解一致)
20
+ - [ ] 技术可行性已初步评估
21
+ - [ ] 边界清晰(明确列出做什么、不做什么)
22
+ - [ ] 非功能需求已覆盖
23
+ - [ ] 依赖和约束已识别
24
+ - [ ] 未偏离原始需求的核心诉求
25
+ - [ ] 关键假设清单已填写且分类(已确认/待确认)
26
+ - [ ] 待确认假设不超过3个
27
+
28
+ 建议满足:
29
+ - [ ] 有用户场景描述
30
+ - [ ] 优先级已排定
31
+ - [ ] 与现有功能的关联已标注
32
+ - [ ] 效果指标和基线已定义
33
+
34
+ 每条标准必须是可客观判断的。
35
+
36
+ ## 评审步骤
37
+ 1. 对照原始需求,检查结构化文档是否覆盖了原始诉求(没有遗漏、没有偏题)
38
+ - 证据获取:逐条将功能需求回溯到原始需求中的表述
39
+ 2. 逐条检查功能需求的验收标准是否可验证
40
+ - 证据获取:尝试用验收标准判断一个假设的实现"是否通过"
41
+ 3. 检查是否有歧义表述(找出可能被不同理解的描述)
42
+ - 证据获取:列出可能的不同解读
43
+ 4. 检查非功能需求是否完整(参考checklist)
44
+ 5. 检查边界是否清晰("不做"列表是否充分)
45
+ 6. 检查关键假设清单的完整性和分类准确性
46
+ 7. 逐项输出判定结果,**每项附具体证据**
47
+
48
+ ## 输出格式
49
+
50
+ ```
51
+ ## 审查结论:通过 / 不通过
52
+
53
+ ### 逐项判定
54
+ | 检查项 | 结论 | 证据 | 备注 |
55
+ |--------|------|------|------|
56
+ | 验收标准完整 | ✅/❌ | {具体引用} | {修复建议} |
57
+ | 无歧义 | ✅/❌ | {歧义实例} | {建议措辞} |
58
+ | ... | ... | ... | ... |
59
+
60
+ ### 必须修复(blocking)
61
+ - ...
62
+
63
+ ### 建议改进(non-blocking)
64
+ - ...
65
+
66
+ ### 关键假设验证
67
+ - 假设X:合理/存疑(证据:...)
68
+ ```
69
+
70
+ ## 反模式清单(DP7)
71
+ 1. **橡皮图章**:无证据通过。检测:每条"通过"必须附具体证据引用
72
+ 2. **吹毛求疵**:纠结措辞等非关键问题。检测:措辞问题归为non-blocking
73
+ 3. **脱离上下文**:不参照原始需求审查。检测:审查步骤必须先对照原始需求
74
+ 4. **假设验证遗漏**:不检查关键假设清单。检测:输出必须包含假设验证section
75
+ 5. **范围蔓延建议**:审查中建议增加功能。检测:审查只判断现有内容质量,不扩展范围
76
+
77
+ ## 适用场景与边界
78
+ - 适用:需求文档完成后,进入设计阶段前
79
+ - 不适用:原始需求还没有被结构化(先用requirement-analyzer)
80
+ - 对应做类skill:requirement-analyzer
81
+
82
+ ## 示例
83
+ (待从实践中积累第一个完整示例)
@@ -0,0 +1,89 @@
1
+ ---
2
+ name: security-reviewer
3
+ description: 当代码包含Skill/Agent相关实现时,审查Skill内容的安全性,防止提示词注入和恶意指令
4
+ type: review
5
+ ---
6
+
7
+ ## 定位
8
+
9
+ 安全审查阶段的"审"类skill。专门审查Skill/Agent相关代码,检测提示词注入、输入校验缺失等安全风险。
10
+
11
+ > **适用场景**:代码中包含Skill定义、Agent提示词、动态指令构建等场景时必须触发。
12
+
13
+ ## 输入
14
+
15
+ - 必须输入:包含Skill/Agent实现的代码文件
16
+ - 可选输入:Skill定义文件(*.md)、提示词模板
17
+
18
+ ## 评判标准
19
+
20
+ 必须满足:
21
+
22
+ - [ ] Skill内容无直接用户输入拼接(防止注入)
23
+ - [ ] 输入参数有长度/类型校验
24
+ - [ ] 敏感操作有权限检查
25
+ - [ ] 无硬编码的API密钥或凭证
26
+ - [ ] 动态指令构建有过滤机制
27
+
28
+ 建议满足:
29
+
30
+ - [ ] 提示词模板与动态内容分离
31
+ - [ ] 有审计日志记录Skill激活
32
+ - [ ] 有速率限制防止滥用
33
+
34
+ ## 审查步骤
35
+
36
+ 1. **识别Skill相关代码**
37
+ - 搜索 `skill`、`agent`、`prompt`、`instruction` 关键词
38
+ - 定位Skill定义文件和加载逻辑
39
+
40
+ 2. **审查提示词注入风险**
41
+ - 检查Skill内容是否直接拼接用户输入
42
+ - 检查是否有内容过滤/转义机制
43
+ - 证据获取:列出所有动态注入点
44
+
45
+ 3. **审查输入校验**
46
+ - 检查参数是否有长度限制
47
+ - 检查是否有类型校验
48
+ - 检查是否有敏感词过滤
49
+
50
+ 4. **审查权限控制**
51
+ - 检查Skill激活是否有权限校验
52
+ - 检查敏感操作是否有访问控制
53
+
54
+ 5. **审查凭证管理**
55
+ - 检查是否有硬编码密钥
56
+ - 检查凭证是否通过安全方式获取
57
+
58
+ ## 输出格式
59
+
60
+ ```
61
+ ## 审查结论:通过 / 不通过
62
+
63
+ ### 逐项判定
64
+ | 检查项 | 结论 | 证据 | 备注 |
65
+ |--------|------|------|------|
66
+ | 提示词注入防护 | ✅/❌ | {注入点列表} | {修复建议} |
67
+ | 输入校验 | ✅/❌ | {校验逻辑} | {缺失项} |
68
+ | 权限控制 | ✅/❌ | {权限检查} | {缺失项} |
69
+ | 凭证管理 | ✅/❌ | {凭证处理} | {问题} |
70
+
71
+ ### 必须修复(blocking)
72
+ - ...
73
+
74
+ ### 建议改进(non-blocking)
75
+ - ...
76
+ ```
77
+
78
+ ## 反模式清单
79
+
80
+ 1. **直接拼接**:用户输入直接拼接到提示词中
81
+ 2. **无校验**:参数传入后不做任何校验
82
+ 3. **硬编码密钥**:API密钥直接写在代码中
83
+ 4. **无审计**:敏感操作无日志记录
84
+
85
+ ## 适用场景
86
+
87
+ - 适用:代码中包含Skill/Agent实现、需要审查提示词安全性
88
+ - 不适用:普通业务代码(使用code-reviewer即可)
89
+ - 对应做类skill:code-implementer(需在实现时遵循安全规范)