@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,268 @@
1
+ ---
2
+ name: complexity-assessor
3
+ description: 当需要判断任务复杂度以决定是否引入完整团队审查时触发
4
+ type: support
5
+ ---
6
+
7
+ ## 定位
8
+ 任务复杂度评估专用技能,用于决定触发哪些角色参与审查,平衡效果与效率。
9
+
10
+ **AI Native 理念**:评估时考虑AI相关复杂度,AI功能需要额外评估模型选型、效果验证等维度。
11
+
12
+ ## 配置文件依赖
13
+
14
+ 本评估器依赖以下配置文件:
15
+ - `${KNOWLEDGE}/config/team-stage.yaml` - 团队阶段配置(获取角色触发规则)
16
+ - `${KNOWLEDGE}/config/role-composition.yaml` - 角色组合规则
17
+
18
+ ## 输入
19
+ - 任务描述
20
+ - 项目上下文(技术栈、现有系统)
21
+ - 需求文档(如有)
22
+ - 团队阶段(seed/growth/mature,默认 growth)
23
+
24
+ ## 输出
25
+ 复杂度评估报告:
26
+ ```yaml
27
+ score: 8 # 总分(4-12分)
28
+ level: medium # 复杂度级别:simple/medium/complex
29
+ teamStage: growth # 团队阶段
30
+ needsFullTeam: true # 是否需要完整团队
31
+ requiredRoles: # 需要的角色列表(从配置读取)
32
+ - ceo
33
+ - product-owner
34
+ - tech-lead
35
+ - backend-engineer
36
+ - ai-engineer # AI Native:中等复杂度也引入AI工程师
37
+ triggeredRoles: # 条件触发的角色
38
+ - security-engineer # 触发原因:涉及用户数据
39
+ dimensions: # 各维度评分
40
+ requirement: 2
41
+ technical: 2
42
+ 2
43
+ business: 2
44
+ aiNative: # AI Native 相关评估
45
+ involvesAI: true # 是否涉及AI
46
+ aiComplexity: medium # AI复杂度
47
+ needsAiEngineer: true # 是否需要AI工程师
48
+ ```
49
+
50
+ ## 评估维度
51
+
52
+ ### 维度1:需求复杂度(1-3分)
53
+
54
+ | 分数 | 描述 | 判断标准 |
55
+ |------|------|----------|
56
+ | 1 | 单一功能 | 只涉及一个独立功能点 |
57
+ | 2 | 多功能关联 | 涉及多个相关功能,有依赖关系 |
58
+ | 3 | 跨系统功能 | 涉及多个子系统,需要协调 |
59
+
60
+ ### 维度2:技术复杂度(1-3分)
61
+
62
+ | 分数 | 描述 | 判断标准 |
63
+ |------|------|----------|
64
+ | 1 | 常规实现 | 使用现有技术栈,无新技术引入 |
65
+ | 2 | 新技术/框架 | 引入新的技术或框架 |
66
+ | 3 | 架构变更 | 涉及系统架构调整或重构 |
67
+
68
+ ### 维度3:数据敏感度(1-3分)
69
+
70
+ | 分数 | 描述 | 判断标准 |
71
+ |------|------|----------|
72
+ | 1 | 非敏感数据 | 不涉及用户数据,仅内部配置/日志等 |
73
+ | 2 | 内部数据 | 涉及内部业务数据 |
74
+ | 3 | 用户隐私/资金 | 涉及用户隐私数据或资金相关 |
75
+
76
+ ### 维度4:业务复杂度(1-3分)
77
+
78
+ | 分数 | 描述 | 判断标准 |
79
+ |------|------|----------|
80
+ | 1 | 简单流程 | 单一用户角色,线性流程 |
81
+ | 2 | 多角色流程 | 涉及多个用户角色或分支流程 |
82
+ | 3 | 复杂决策流程 | 涉及复杂的业务规则或决策逻辑 |
83
+
84
+ ### 维度5:AI复杂度(AI Native 新增)
85
+
86
+ | 分数 | 描述 | 判断标准 |
87
+ |------|------|----------|
88
+ | 0 | 不涉及AI | 无AI相关功能 |
89
+ | 1 | AI辅助功能 | AI作为辅助,不影响核心流程 |
90
+ | 2 | AI核心功能 | AI是核心功能,需要效果验证 |
91
+ | 3 | AI系统重构 | 涉及AI架构调整或模型更换 |
92
+
93
+ ## 执行步骤
94
+
95
+ ### Step 1: 读取配置文件
96
+
97
+ **【强制】** 读取团队阶段配置:
98
+
99
+ ```
100
+ 1. 读取 ${KNOWLEDGE}/config/team-stage.yaml
101
+ - 获取当前团队阶段(seed/growth/mature)
102
+ - 默认使用 growth 阶段
103
+
104
+ 2. 读取 ${KNOWLEDGE}/config/role-composition.yaml
105
+ - 获取角色组合规则
106
+ ```
107
+
108
+ ### Step 2: 收集信息
109
+ 1. 读取任务描述和需求文档
110
+ 2. 读取项目配置(.autospec/runtime/config.json)
111
+ 3. 识别涉及的子系统
112
+ 4. 识别是否涉及AI功能
113
+
114
+ ### Step 3: 评估各维度
115
+ 逐个维度评估,记录判断依据:
116
+ ```
117
+ 需求复杂度:2分
118
+ - 理由:涉及用户管理+权限管理两个相关功能
119
+
120
+ 技术复杂度:1分
121
+ - 理由:使用现有技术栈,无新技术
122
+
123
+ 数据敏感度:3分
124
+ - 理由:涉及用户个人信息
125
+
126
+ 业务复杂度:2分
127
+ - 理由:涉及管理员和普通用户两个角色
128
+
129
+ AI复杂度:2分
130
+ - 理由:AI推荐功能是核心功能,需要效果验证
131
+ ```
132
+
133
+ ### Step 4: 计算总分
134
+ 总分 = 各维度分数之和(4-12分,不含AI维度)
135
+
136
+ AI维度单独评估,用于决定是否引入AI工程师。
137
+
138
+ ### Step 5: 确定角色列表(从配置读取)
139
+
140
+ **【强制】** 从配置文件读取角色列表,不再硬编码:
141
+
142
+ ```
143
+ 角色确定流程:
144
+ 1. 从 team-stage.yaml 读取 {teamStage}.triggers.{level}
145
+ 2. 从 role-composition.yaml 读取 {stage}.{level}.roles
146
+ 3. 应用强制触发规则(mandatoryTriggers)
147
+ 4. 如果 AI复杂度 >= 1,确保 ai-engineer 在角色列表中
148
+ ```
149
+
150
+ ### Step 6: 输出报告
151
+ 生成结构化的复杂度评估报告
152
+
153
+ ## 复杂度级别判定
154
+
155
+ | 总分 | 级别 | 说明 |
156
+ |------|------|------|
157
+ | 4-5 | simple | 简单任务,快速通道 |
158
+ | 6-8 | medium | 中等任务,引入核心角色 |
159
+ | 9-12 | complex | 复杂任务,引入完整团队 |
160
+
161
+ ## 强制触发规则(从配置读取)
162
+
163
+ 从 `team-stage.yaml` 的 `mandatoryTriggers` 读取:
164
+
165
+ | 场景 | 强制引入角色 |
166
+ |------|--------------|
167
+ | 涉及用户数据 | security-engineer |
168
+ | 涉及支付/资金交易 | security-engineer |
169
+ | 涉及跨系统变更 | tech-lead, devops-engineer |
170
+ | 涉及AI/模型 | ai-engineer |
171
+ | 涉及数据分析/报表 | data-engineer |
172
+ | 涉及AI效果评测 | ai-engineer, quality-engineer |
173
+
174
+ ## 示例
175
+
176
+ ### 示例1:简单任务
177
+
178
+ **任务**:修改登录页面的提示文案
179
+
180
+ **评估**:
181
+ ```yaml
182
+ score: 4
183
+ level: simple
184
+ teamStage: growth
185
+ needsFullTeam: false
186
+ requiredRoles:
187
+ - ceo
188
+ - product-owner
189
+ triggeredRoles: []
190
+ dimensions:
191
+ requirement: 1 # 单一功能
192
+ technical: 1 # 常规实现
193
+ data: 1 # 非敏感数据
194
+ business: 1 # 简单流程
195
+ aiNative:
196
+ involvesAI: false
197
+ aiComplexity: 0
198
+ needsAiEngineer: false
199
+ ```
200
+
201
+ ### 示例2:中等任务(含AI)
202
+
203
+ **任务**:新增AI智能推荐功能
204
+
205
+ **评估**:
206
+ ```yaml
207
+ score: 7
208
+ level: medium
209
+ teamStage: growth
210
+ needsFullTeam: false
211
+ requiredRoles:
212
+ - ceo
213
+ - product-owner
214
+ - tech-lead
215
+ - backend-engineer
216
+ - ai-engineer # AI Native:中等复杂度也引入AI工程师
217
+ triggeredRoles:
218
+ - security-engineer # 涉及用户数据
219
+ dimensions:
220
+ requirement: 2 # 多功能关联
221
+ technical: 2 # 需要新增推荐模块
222
+ 2 # 内部数据
223
+ business: 2 # 多场景触发
224
+ aiNative:
225
+ involvesAI: true
226
+ aiComplexity: 2 # AI核心功能
227
+ needsAiEngineer: true
228
+ ```
229
+
230
+ ### 示例3:复杂任务
231
+
232
+ **任务**:重构支付系统,支持多种支付方式
233
+
234
+ **评估**:
235
+ ```yaml
236
+ score: 11
237
+ level: complex
238
+ teamStage: growth
239
+ needsFullTeam: true
240
+ requiredRoles:
241
+ - product-owner
242
+ - tech-lead
243
+ - backend-engineer
244
+ - frontend-engineer
245
+ - ai-engineer # AI Native:复杂任务引入AI工程师
246
+ - data-engineer
247
+ - quality-engineer
248
+ triggeredRoles:
249
+ - security-engineer # 涉及支付
250
+ - devops-engineer # 涉及架构变更
251
+ dimensions:
252
+ requirement: 3 # 跨系统功能
253
+ technical: 3 # 架构变更
254
+ data: 3 # 资金数据
255
+ business: 2 # 多支付渠道
256
+ aiNative:
257
+ involvesAI: false
258
+ aiComplexity: 0
259
+ needsAiEngineer: false
260
+ ```
261
+
262
+ ## 反模式清单
263
+
264
+ 1. **过度评估**:简单任务评估为复杂任务。检测:检查每个维度的判断依据是否充分
265
+ 2. **忽略强制触发**:忘记检查强制触发规则。检测:强制触发检查必须在最后执行
266
+ 3. **维度理解偏差**:对维度定义理解不一致。检测:严格按判断标准评估
267
+ 4. **忽略AI维度**:AI时代项目普遍涉及AI,必须评估AI复杂度
268
+ 5. **硬编码角色列表**:必须从配置文件读取角色列表
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: component-discovery
3
+ description: 当需要发现项目中可复用的组件、工具、模块时触发。基于代码语义分析,识别与新需求相关的已有代码。
4
+ type: meta
5
+ ---
6
+
7
+ ## 定位
8
+
9
+ 元技能。分析项目已有代码,发现与新需求相关的可复用组件。
10
+
11
+ ## 输入
12
+
13
+ - 必须输入:需求描述、项目结构分析结果
14
+ - 可选输入:需求范围推断结果
15
+
16
+ ## 输出
17
+
18
+ ```json
19
+ {
20
+ "reusableComponents": [
21
+ {
22
+ "name": "recommendation_engine",
23
+ "path": "ai/services/recommendation.py",
24
+ "type": "service",
25
+ "relevance": "high",
26
+ "description": "推荐引擎服务,支持用户个性化推荐",
27
+ "reusePotential": "可直接复用,需要扩展收藏场景"
28
+ },
29
+ {
30
+ "name": "pagination_util",
31
+ "path": "backend/utils/pagination.py",
32
+ "type": "utility",
33
+ "relevance": "medium",
34
+ "description": "通用分页工具",
35
+ "reusePotential": "可用于收藏夹列表分页"
36
+ }
37
+ ],
38
+ "relatedFiles": [
39
+ "backend/models/user.py",
40
+ "backend/models/product.py"
41
+ ],
42
+ "suggestions": [
43
+ "建议复用 recommendation_engine,扩展收藏场景支持",
44
+ "建议复用 pagination_util 处理收藏夹列表"
45
+ ]
46
+ }
47
+ ```
48
+
49
+ ## 执行步骤
50
+
51
+ ### Step 1: 提取需求核心概念(确定性)
52
+
53
+ 从需求中提取核心概念:
54
+
55
+ ```
56
+ 核心概念类型:
57
+ - 实体:用户、商品、订单、收藏夹
58
+ - 操作:创建、查询、更新、删除、列表
59
+ - 属性:名称、状态、时间
60
+ ```
61
+
62
+ ### Step 2: Grep搜索相关代码(高效)
63
+
64
+ 基于核心概念搜索代码:
65
+
66
+ ```bash
67
+ # 搜索实体相关文件
68
+ grep -r -l -i "user\|product\|favorite" --include="*.py" . | head -20
69
+
70
+ # 搜索工具函数
71
+ grep -r -l -i "pagination\|list\|query" --include="*.py" . | head -10
72
+ ```
73
+
74
+ **效率控制**:
75
+ - 按概念优先级搜索,最多 5 个概念
76
+ - 每个概念最多返回 10 个文件
77
+
78
+ ### Step 3: 分析代码结构(确定性)
79
+
80
+ 对搜索到的文件进行结构分析:
81
+
82
+ ```
83
+ 分析维度:
84
+ - 文件类型:service、model、util、controller
85
+ - 导出内容:类、函数、常量
86
+ - 依赖关系:import 语句
87
+ ```
88
+
89
+ ### Step 4: 语义判断复用潜力(模型)
90
+
91
+ 基于代码上下文判断复用潜力:
92
+
93
+ ```
94
+ 模型输入:
95
+ {
96
+ "requirement": "需求描述",
97
+ "codeFiles": [
98
+ {
99
+ "path": "ai/services/recommendation.py",
100
+ "preview": "class RecommendationEngine:\n def recommend(user_id, context): ..."
101
+ }
102
+ ],
103
+ "task": "判断这些代码是否可复用于当前需求,输出复用建议"
104
+ }
105
+ ```
106
+
107
+ ### Step 5: 输出结果
108
+
109
+ 汇总可复用组件和相关文件,输出复用建议。
110
+
111
+ ## 组件类型
112
+
113
+ | 类型 | 说明 | 复用潜力判断 |
114
+ |------|------|-------------|
115
+ | **service** | 业务服务 | 高 - 核心业务逻辑 |
116
+ | **model** | 数据模型 | 高 - 数据结构定义 |
117
+ | **util** | 工具函数 | 高 - 通用功能 |
118
+ | **controller** | 控制器 | 中 - 需要适配 |
119
+ | **config** | 配置 | 低 - 通常需要修改 |
120
+
121
+ ## 调用时机
122
+
123
+ - 方案设计阶段,设计新功能前
124
+ - 编码实现阶段,开始编码前
125
+ - 评估工作量时
126
+
127
+ ## 示例
128
+
129
+ **输入**:
130
+ ```
131
+ 需求:开发用户收藏夹功能
132
+
133
+ 项目结构:
134
+ - backend/services/ (业务服务)
135
+ - backend/models/ (数据模型)
136
+ - backend/utils/ (工具函数)
137
+ - ai/services/ (AI服务)
138
+ ```
139
+
140
+ **Grep搜索**:
141
+ ```
142
+ 搜索 "user" → 找到 backend/models/user.py
143
+ 搜索 "product" → 找到 backend/models/product.py
144
+ 搜索 "list\|pagination" → 找到 backend/utils/pagination.py
145
+ 搜索 "recommend" → 找到 ai/services/recommendation.py
146
+ ```
147
+
148
+ **输出**:
149
+ ```json
150
+ {
151
+ "reusableComponents": [
152
+ {
153
+ "name": "User",
154
+ "path": "backend/models/user.py",
155
+ "type": "model",
156
+ "relevance": "high",
157
+ "description": "用户模型,包含用户基本信息",
158
+ "reusePotential": "可直接复用,收藏夹需要关联用户"
159
+ },
160
+ {
161
+ "name": "Product",
162
+ "path": "backend/models/product.py",
163
+ "type": "model",
164
+ "relevance": "high",
165
+ "description": "商品模型",
166
+ "reusePotential": "可直接复用,收藏夹需要关联商品"
167
+ },
168
+ {
169
+ "name": "paginate",
170
+ "path": "backend/utils/pagination.py",
171
+ "type": "utility",
172
+ "relevance": "high",
173
+ "description": "通用分页函数",
174
+ "reusePotential": "可直接复用,收藏夹列表需要分页"
175
+ }
176
+ ],
177
+ "relatedFiles": [],
178
+ "suggestions": [
179
+ "复用 User 和 Product 模型建立收藏夹关联",
180
+ "复用 paginate 函数处理收藏夹列表分页"
181
+ ]
182
+ }
183
+ ```
@@ -0,0 +1,207 @@
1
+ ---
2
+ name: environment-scanner
3
+ description: 扫描项目代码检测中间件和组件使用模式
4
+ type: skill
5
+ ---
6
+
7
+ # 环境知识扫描器
8
+
9
+ ## 定位
10
+
11
+ 扫描项目代码,检测中间件和组件的使用模式,为 `env-sync` 命令提供数据支撑。
12
+
13
+ ---
14
+
15
+ ## 扫描范围
16
+
17
+ ### 1. 依赖文件扫描
18
+
19
+ | 文件 | 包管理器 | 检测方式 |
20
+ |------|---------|---------|
21
+ | `package.json` | npm/yarn/pnpm | 解析 dependencies 和 devDependencies |
22
+ | `requirements.txt` | pip | 逐行解析包名 |
23
+ | `pyproject.toml` | poetry/pip | 解析 [project.dependencies] |
24
+ | `pom.xml` | Maven | 解析 <dependency> 标签 |
25
+ | `build.gradle` | Gradle | 解析 implementation 语句 |
26
+ | `go.mod` | Go modules | 解析 require 语句 |
27
+ | `Cargo.toml` | Cargo | 解析 [dependencies] |
28
+
29
+ ### 2. 代码模式扫描
30
+
31
+ 扫描源代码目录(src/, lib/, app/, backend/, frontend/ 等):
32
+
33
+ **检测模式**:
34
+ ```javascript
35
+ // JavaScript/TypeScript
36
+ import redis from 'redis'
37
+ require('mysql2')
38
+ import { MongoClient } from 'mongodb'
39
+
40
+ // Python
41
+ import redis
42
+ from pymongo import MongoClient
43
+
44
+ // Java
45
+ import redis.clients.jedis.Jedis;
46
+ import com.mongodb.client.MongoClients;
47
+
48
+ // Go
49
+ import "github.com/go-redis/redis/v8"
50
+ ```
51
+
52
+ ### 3. 环境变量扫描
53
+
54
+ 检测环境变量的使用:
55
+
56
+ ```javascript
57
+ // JavaScript
58
+ process.env.REDIS_URL
59
+ process.env.DATABASE_URL
60
+
61
+ // Python
62
+ os.environ.get('REDIS_URL')
63
+ os.getenv('DATABASE_URL')
64
+
65
+ // Java
66
+ System.getenv("REDIS_URL")
67
+
68
+ // Go
69
+ os.Getenv("REDIS_URL")
70
+ ```
71
+
72
+ ---
73
+
74
+ ## 输出格式
75
+
76
+ 扫描结果输出到 `.autospec/runtime/env-scan-result.json`:
77
+
78
+ ```json
79
+ {
80
+ "timestamp": "2024-01-15T10:30:00Z",
81
+ "project": {
82
+ "name": "my-project",
83
+ "techStack": ["Node.js", "TypeScript"]
84
+ },
85
+ "detected": {
86
+ "middleware": [
87
+ {
88
+ "name": "redis",
89
+ "type": "cache",
90
+ "confidence": 0.95,
91
+ "evidence": [
92
+ {
93
+ "type": "dependency",
94
+ "file": "package.json",
95
+ "package": "ioredis",
96
+ "version": "^5.3.0"
97
+ },
98
+ {
99
+ "type": "code",
100
+ "file": "src/cache/redis.ts",
101
+ "pattern": "import Redis from 'ioredis'",
102
+ "line": 1
103
+ },
104
+ {
105
+ "type": "env-var",
106
+ "file": "src/config/index.ts",
107
+ "envVars": ["REDIS_URL", "REDIS_PASSWORD"],
108
+ "line": 15
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "name": "mysql",
114
+ "type": "relational-database",
115
+ "confidence": 0.90,
116
+ "evidence": [...]
117
+ }
118
+ ],
119
+ "components": [
120
+ {
121
+ "name": "axios",
122
+ "type": "http-client",
123
+ "confidence": 0.95,
124
+ "evidence": [...]
125
+ }
126
+ ]
127
+ },
128
+ "envVars": {
129
+ "detected": ["REDIS_URL", "DATABASE_URL", "API_KEY"],
130
+ "missing": ["REDIS_PASSWORD", "DB_PASSWORD"]
131
+ }
132
+ }
133
+ ```
134
+
135
+ ---
136
+
137
+ ## 执行步骤
138
+
139
+ ### Step 1: 发现源码目录
140
+
141
+ ```
142
+ 1. 读取 .autospec/runtime/config.json 中的 subsystems
143
+ 2. 如果无 subsystems,扫描常见目录:
144
+ - src/, lib/, app/
145
+ - backend/, frontend/, api/
146
+ - server/, client/, web/
147
+ ```
148
+
149
+ ### Step 2: 扫描依赖文件
150
+
151
+ ```
152
+ 1. 检查项目根目录的依赖文件
153
+ 2. 解析依赖列表
154
+ 3. 匹配已知的中间件包名模式
155
+ ```
156
+
157
+ ### Step 3: 扫描代码模式
158
+
159
+ ```
160
+ 1. 遍历源码目录(深度限制 5 层)
161
+ 2. 跳过 node_modules, .git, dist, build 等
162
+ 3. 对每个代码文件:
163
+ - 匹配 import/require 模式
164
+ - 提取环境变量使用
165
+ ```
166
+
167
+ ### Step 4: 汇总结果
168
+
169
+ ```
170
+ 1. 合并依赖和代码扫描结果
171
+ 2. 计算置信度
172
+ 3. 输出到 .autospec/runtime/env-scan-result.json
173
+ ```
174
+
175
+ ---
176
+
177
+ ## 已知中间件模式
178
+
179
+ | 中间件 | npm 包 | pip 包 | Maven artifact |
180
+ |--------|--------|--------|----------------|
181
+ | Redis | ioredis, redis | redis | jedis |
182
+ | MySQL | mysql2 | pymysql | mysql-connector |
183
+ | PostgreSQL | pg | psycopg2 | postgresql |
184
+ | MongoDB | mongodb | pymongo | mongodb-driver |
185
+ | Kafka | kafkajs | kafka-python | kafka-clients |
186
+ | RabbitMQ | amqplib | pika | rabbitmq-client |
187
+ | Elasticsearch | @elastic/elasticsearch | elasticsearch | elasticsearch-java |
188
+
189
+ ---
190
+
191
+ ## 注意事项
192
+
193
+ 1. **置信度计算**:
194
+ - 依赖存在: 0.7
195
+ - 代码引用: 0.8
196
+ - 环境变量: 0.85
197
+ - 多项匹配: 取最高并加权
198
+
199
+ 2. **避免误报**:
200
+ - 忽略测试文件中的引用(可选)
201
+ - 忽略注释中的引用
202
+ - 忽略 devDependencies 中的某些包
203
+
204
+ 3. **性能考虑**:
205
+ - 大项目限制扫描深度
206
+ - 使用文件扩展名过滤
207
+ - 缓存扫描结果