@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.
- package/LICENSE +21 -0
- package/README.en.md +472 -0
- package/README.md +476 -0
- package/bin/autospec.js +3 -0
- package/knowledge/README.md +144 -0
- package/knowledge/checklists/code.md +182 -0
- package/knowledge/checklists/design.md +196 -0
- package/knowledge/checklists/release.md +70 -0
- package/knowledge/checklists/requirement.md +169 -0
- package/knowledge/checklists/test.md +46 -0
- package/knowledge/config/README.en.md +44 -0
- package/knowledge/config/README.md +44 -0
- package/knowledge/config/role-composition.yaml +98 -0
- package/knowledge/config/role-extensions.yaml +140 -0
- package/knowledge/config/skill-compositions.yaml +142 -0
- package/knowledge/config/team-stage.yaml +95 -0
- package/knowledge/config/team-tasks.yaml +139 -0
- package/knowledge/config/team-triggers.yaml +198 -0
- package/knowledge/config/validation-patterns.yaml +137 -0
- package/knowledge/domain/README.md +115 -0
- package/knowledge/domain/flows/README.md +194 -0
- package/knowledge/domain/glossary.md +143 -0
- package/knowledge/domain/rules.md +138 -0
- package/knowledge/environment/README.en.md +36 -0
- package/knowledge/environment/README.md +87 -0
- package/knowledge/environment/component-knowledge.md +316 -0
- package/knowledge/environment/detection-patterns.yaml +502 -0
- package/knowledge/environment/middleware-knowledge.md +237 -0
- package/knowledge/environment/template-registry.md +321 -0
- package/knowledge/guides/domain-driven-design.md +345 -0
- package/knowledge/guides/knowledge-management.md +369 -0
- package/knowledge/guides/requirement-engineering.md +329 -0
- package/knowledge/guides/stages/ai-effect-evaluator.md +93 -0
- package/knowledge/guides/stages/code-implementer.md +205 -0
- package/knowledge/guides/stages/code-reviewer.md +111 -0
- package/knowledge/guides/stages/consistency-checker.md +177 -0
- package/knowledge/guides/stages/design-planner.md +401 -0
- package/knowledge/guides/stages/design-reviewer.md +83 -0
- package/knowledge/guides/stages/integration-test-runner.md +105 -0
- package/knowledge/guides/stages/release-checker.md +205 -0
- package/knowledge/guides/stages/requirement-analyzer.md +195 -0
- package/knowledge/guides/stages/requirement-reviewer.md +83 -0
- package/knowledge/guides/stages/security-reviewer.md +89 -0
- package/knowledge/guides/stages/test-context-analyzer.md +250 -0
- package/knowledge/guides/stages/test-generator.md +241 -0
- package/knowledge/guides/stages/test-planner.md +183 -0
- package/knowledge/guides/stages/test-reviewer.md +76 -0
- package/knowledge/guides/stages/unit-test-runner.md +83 -0
- package/knowledge/guides/support/ai-agent-analyzer.md +362 -0
- package/knowledge/guides/support/ai-anomaly-analyzer.md +213 -0
- package/knowledge/guides/support/ai-artifact-evaluator.md +192 -0
- package/knowledge/guides/support/ai-capability-analyzer.md +193 -0
- package/knowledge/guides/support/ai-component-analyzer.md +169 -0
- package/knowledge/guides/support/ai-data-validator.md +276 -0
- package/knowledge/guides/support/ai-evaluation-planner.md +374 -0
- package/knowledge/guides/support/ai-path-evaluator.md +274 -0
- package/knowledge/guides/support/ai-pipeline-evaluator.md +219 -0
- package/knowledge/guides/support/ai-rag-analyzer.md +339 -0
- package/knowledge/guides/support/ai-task-assessor.md +418 -0
- package/knowledge/guides/support/ai-test-diagnostics.md +133 -0
- package/knowledge/guides/support/complexity-assessor.md +268 -0
- package/knowledge/guides/support/component-discovery.md +183 -0
- package/knowledge/guides/support/environment-scanner.md +207 -0
- package/knowledge/guides/support/environment-validator.md +207 -0
- package/knowledge/guides/support/knowledge-generator.md +234 -0
- package/knowledge/guides/support/methodology-extractor.md +55 -0
- package/knowledge/guides/support/pipeline-protocol.md +438 -0
- package/knowledge/guides/support/practice-logger.md +359 -0
- package/knowledge/guides/support/scope-inference.md +174 -0
- package/knowledge/guides/support/skill-distiller.md +91 -0
- package/knowledge/guides/support/skill-updater.md +45 -0
- package/knowledge/guides/support/skill-validator.md +72 -0
- package/knowledge/guides/support/team-orchestrator.md +323 -0
- package/knowledge/guides/support/tech-stack-analyzer.md +139 -0
- package/knowledge/guides/support/test-runner.md +254 -0
- package/knowledge/guides/system-design.md +352 -0
- package/knowledge/organization/ai-native-team.md +318 -0
- package/knowledge/organization/team-metrics.md +228 -0
- package/knowledge/principles/constitution.md +134 -0
- package/knowledge/principles/core-principles.md +368 -0
- package/knowledge/principles/design-philosophy.md +877 -0
- package/knowledge/principles/evolution.md +553 -0
- package/knowledge/process/01-requirement.md +113 -0
- package/knowledge/process/02-design.md +123 -0
- package/knowledge/process/03-implementation.md +90 -0
- package/knowledge/process/04-review.md +80 -0
- package/knowledge/process/05-testing.md +90 -0
- package/knowledge/process/06-delivery.md +88 -0
- package/knowledge/process/README.en.md +38 -0
- package/knowledge/process/README.md +48 -0
- package/knowledge/process/ai-sdlc.md +475 -0
- package/knowledge/process/overview.md +319 -0
- package/knowledge/standards/code-review.md +876 -0
- package/knowledge/standards/coding-style.md +940 -0
- package/knowledge/standards/data-consistency.md +1085 -0
- package/knowledge/standards/document-versioning.md +210 -0
- package/knowledge/standards/risk-detection.md +186 -0
- package/knowledge/templates/ai-evaluation.md +150 -0
- package/knowledge/templates/api-design.md +117 -0
- package/knowledge/templates/database-design.md +132 -0
- package/knowledge/templates/domain-driven-design.md +321 -0
- package/knowledge/templates/product-proposal.md +201 -0
- package/knowledge/templates/system-design.md +227 -0
- package/knowledge/templates/task-breakdown.md +107 -0
- package/knowledge/templates/test-case.md +170 -0
- package/package.json +53 -0
- package/plugins/.claude-plugin/plugin.json +134 -0
- package/plugins/agents/roles/ai-engineer.md +129 -0
- package/plugins/agents/roles/backend-engineer.md +165 -0
- package/plugins/agents/roles/ceo.md +94 -0
- package/plugins/agents/roles/data-engineer.md +135 -0
- package/plugins/agents/roles/devops-engineer.md +181 -0
- package/plugins/agents/roles/frontend-engineer.md +129 -0
- package/plugins/agents/roles/product-owner.md +98 -0
- package/plugins/agents/roles/quality-engineer.md +129 -0
- package/plugins/agents/roles/security-engineer.md +180 -0
- package/plugins/agents/roles/tech-lead.md +97 -0
- package/plugins/agents/support/blind-comparator.md +88 -0
- package/plugins/agents/support/consistency-checker.md +103 -0
- package/plugins/agents/support/failure-diagnostician.md +141 -0
- package/plugins/agents/support/independent-reviewer.md +80 -0
- package/plugins/agents/support/safety-auditor.md +121 -0
- package/plugins/agents/support/skill-benchmarker.md +86 -0
- package/plugins/agents/support/skill-forger.md +105 -0
- package/plugins/agents/support/stage-gate-evaluator.md +121 -0
- package/plugins/agents/support/test-coverage-reviewer.md +73 -0
- package/plugins/benchmarks/templates/README.md +44 -0
- package/plugins/benchmarks/templates/commands/explore-template.yaml +48 -0
- package/plugins/benchmarks/templates/pipeline/agile-template.yaml +84 -0
- package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +106 -0
- package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +48 -0
- package/plugins/commands/README.en.md +96 -0
- package/plugins/commands/README.md +96 -0
- package/plugins/commands/apply.md +191 -0
- package/plugins/commands/archive.md +76 -0
- package/plugins/commands/env-export.md +79 -0
- package/plugins/commands/env-sync.md +640 -0
- package/plugins/commands/env-template.md +223 -0
- package/plugins/commands/env-update.md +264 -0
- package/plugins/commands/env-validate.md +176 -0
- package/plugins/commands/env.md +79 -0
- package/plugins/commands/explore.md +76 -0
- package/plugins/commands/field-evolve.md +536 -0
- package/plugins/commands/memory.md +249 -0
- package/plugins/commands/project-evolve.md +821 -0
- package/plugins/commands/propose.md +93 -0
- package/plugins/commands/review.md +140 -0
- package/plugins/commands/run.md +224 -0
- package/plugins/commands/status.md +62 -0
- package/plugins/commands/validate.md +108 -0
- package/plugins/hooks/README.en.md +56 -0
- package/plugins/hooks/README.md +56 -0
- package/plugins/hooks/ai-project-guard.js +329 -0
- package/plugins/hooks/artifact-evaluation-hook.js +237 -0
- package/plugins/hooks/constitution-guard.js +211 -0
- package/plugins/hooks/environment-autocommit.js +264 -0
- package/plugins/hooks/environment-manager.js +778 -0
- package/plugins/hooks/execution-tracker.js +354 -0
- package/plugins/hooks/frozen-zone-guard.js +140 -0
- package/plugins/hooks/layer1-validator.js +423 -0
- package/plugins/hooks/lib/artifact-evaluator.js +414 -0
- package/plugins/hooks/lib/benchmarks/change-detector.js +390 -0
- package/plugins/hooks/lib/benchmarks/evaluator.js +605 -0
- package/plugins/hooks/lib/benchmarks/integration-example.js +169 -0
- package/plugins/hooks/lib/data-and-ai-detector.js +275 -0
- package/plugins/hooks/lib/detection-pattern-loader.js +865 -0
- package/plugins/hooks/lib/directory-discovery.js +395 -0
- package/plugins/hooks/lib/environment-config-loader.js +341 -0
- package/plugins/hooks/lib/environment-detector.js +553 -0
- package/plugins/hooks/lib/environment-evolver.js +564 -0
- package/plugins/hooks/lib/environment-registry.js +813 -0
- package/plugins/hooks/lib/execution-path.js +427 -0
- package/plugins/hooks/lib/hook-error-recorder.js +245 -0
- package/plugins/hooks/lib/hook-logger.js +538 -0
- package/plugins/hooks/lib/hook-runner.js +97 -0
- package/plugins/hooks/lib/hook-runner.sh +44 -0
- package/plugins/hooks/lib/hook-state-manager.js +480 -0
- package/plugins/hooks/lib/memory-extractor.js +377 -0
- package/plugins/hooks/lib/memory-manager.js +673 -0
- package/plugins/hooks/lib/metrics-analyzer.js +489 -0
- package/plugins/hooks/lib/project-evolution/auto-fixer.js +511 -0
- package/plugins/hooks/lib/project-evolution/memory-manager.js +346 -0
- package/plugins/hooks/lib/project-evolution/pattern-detector.js +476 -0
- package/plugins/hooks/lib/project-evolution/semantic-indexer.js +480 -0
- package/plugins/hooks/lib/project-structure-detector.js +326 -0
- package/plugins/hooks/lib/rollback-tracker.js +346 -0
- package/plugins/hooks/lib/source-code-scanner.js +596 -0
- package/plugins/hooks/lib/technology-stack-detector.js +374 -0
- package/plugins/hooks/lib/test-failure-analyzer.js +375 -0
- package/plugins/hooks/lib/test-failure-fixer.js +268 -0
- package/plugins/hooks/lib/trace-context.js +277 -0
- package/plugins/hooks/lib/validation-patterns.js +415 -0
- package/plugins/hooks/memory-sync.js +171 -0
- package/plugins/hooks/pipeline-observer.js +413 -0
- package/plugins/hooks/scope-sentinel.js +204 -0
- package/plugins/hooks/trace-initialization.js +169 -0
- package/plugins/memory/templates/code-quality.yaml +149 -0
- package/plugins/memory/templates/multi-system.yaml +155 -0
- package/plugins/memory/templates/team-habits.yaml +119 -0
- package/plugins/memory/templates/testing.yaml +121 -0
- package/plugins/skills/README.en.md +47 -0
- package/plugins/skills/README.md +104 -0
- package/plugins/skills/benchmark-executor/README.md +93 -0
- package/plugins/skills/benchmark-executor/SKILL.md +647 -0
- package/plugins/skills/benchmark-generator/SKILL.md +349 -0
- package/plugins/skills/delivery-stage/SKILL.md +203 -0
- package/plugins/skills/design-stage/SKILL.md +216 -0
- package/plugins/skills/evolution-process/SKILL.md +291 -0
- package/plugins/skills/exploration-phase/SKILL.md +133 -0
- package/plugins/skills/implementation-stage/SKILL.md +179 -0
- package/plugins/skills/layer1-validation/SKILL.md +79 -0
- package/plugins/skills/pending-dashboard/SKILL.md +109 -0
- package/plugins/skills/project-evolution/SKILL.md +847 -0
- package/plugins/skills/requirement-stage/SKILL.md +183 -0
- package/plugins/skills/skill-forge/SKILL.md +223 -0
- package/plugins/skills/skill-forge/references/description-guide.md +92 -0
- package/plugins/skills/skill-forge/references/quality-rubric.md +104 -0
- package/plugins/skills/skill-forge/references/skill-template.md +106 -0
- package/plugins/skills/startup-guard/SKILL.md +38 -0
- package/plugins/skills/testing-stage/SKILL.md +195 -0
- package/scripts/cli/global-init.js +288 -0
- package/scripts/cli/global.js +324 -0
- package/scripts/cli/index.js +55 -0
- package/scripts/cli/init.js +382 -0
- package/scripts/cli/list.js +69 -0
- package/scripts/cli/org.js +340 -0
- package/scripts/cli/update.js +44 -0
- package/scripts/config/commands.config.js +145 -0
- package/scripts/config/hooks.config.js +197 -0
- package/scripts/evolution/evolution-router.js +273 -0
- package/scripts/evolution/evolution-signal-collector.js +307 -0
- package/scripts/evolution/knowledge-loader.js +346 -0
- package/scripts/evolution/marketplace.js +317 -0
- package/scripts/evolution/version-manager.js +371 -0
- package/scripts/install/agents.js +106 -0
- package/scripts/install/commands.js +133 -0
- package/scripts/install/constants.js +424 -0
- package/scripts/install/hook-logger.js +536 -0
- package/scripts/install/hooks.js +110 -0
- package/scripts/install/index.js +39 -0
- package/scripts/install/skills.js +95 -0
- package/scripts/postinstall.js +25 -0
- package/scripts/state.js +376 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
# 进化实践记录器
|
|
2
|
+
|
|
3
|
+
## 功能
|
|
4
|
+
|
|
5
|
+
在流程完成或会话结束时,检查并提醒记录实践日志。合并了原 evolution-trigger 和 practice-log-reminder 的功能。
|
|
6
|
+
|
|
7
|
+
**增强功能**:
|
|
8
|
+
- 连接评测数据,自动识别进化触发信号
|
|
9
|
+
- 基于质量分数自动决定是否需要记录
|
|
10
|
+
- 集成错误模式检测
|
|
11
|
+
|
|
12
|
+
## 触发条件
|
|
13
|
+
|
|
14
|
+
1. **流程完成时**
|
|
15
|
+
- state.json 中 stage === 6 或 completedAt 存在
|
|
16
|
+
- 有活跃的 pipeline 状态
|
|
17
|
+
|
|
18
|
+
2. **会话结束时**
|
|
19
|
+
- Stop hook 触发
|
|
20
|
+
- 有未完成的 pipeline
|
|
21
|
+
|
|
22
|
+
3. **评测触发时**(新增)
|
|
23
|
+
- 质量分数 < 70
|
|
24
|
+
- 同类错误出现 >= 3 次
|
|
25
|
+
- 新模式识别
|
|
26
|
+
|
|
27
|
+
## 输入
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"state": {
|
|
32
|
+
"currentStage": "06-deliver",
|
|
33
|
+
"completedAt": "2024-01-15T10:30:00Z",
|
|
34
|
+
"pipeline": "feature-xyz"
|
|
35
|
+
},
|
|
36
|
+
"practiceLogExists": false,
|
|
37
|
+
"evolutionLogExists": false,
|
|
38
|
+
"evaluationData": {
|
|
39
|
+
"qualityScore": 65,
|
|
40
|
+
"errorPatterns": [...],
|
|
41
|
+
"improvementAreas": [...]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 输出
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"needsReminder": true,
|
|
51
|
+
"reminderType": "practice-log | evolution-scan | both",
|
|
52
|
+
"message": "提醒消息",
|
|
53
|
+
"template": "practice-log 模板内容",
|
|
54
|
+
"evolutionTriggers": [
|
|
55
|
+
{
|
|
56
|
+
"type": "quality_low",
|
|
57
|
+
"evidence": "质量分数 65 < 70",
|
|
58
|
+
"suggestedAction": "触发 methodology 审查"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 执行步骤
|
|
65
|
+
|
|
66
|
+
1. **检查流程状态**
|
|
67
|
+
- 读取 state.json
|
|
68
|
+
- 判断是否已完成
|
|
69
|
+
|
|
70
|
+
2. **检查日志文件**
|
|
71
|
+
- 检查 practice-log 是否存在
|
|
72
|
+
- 检查 evolution-log 是否存在
|
|
73
|
+
|
|
74
|
+
3. **读取评测数据**(新增)
|
|
75
|
+
- 读取 metrics.json 中的 qualityScore
|
|
76
|
+
- 读取 errorPatterns
|
|
77
|
+
- 读取 improvementAreas
|
|
78
|
+
|
|
79
|
+
4. **检测进化触发**(新增)
|
|
80
|
+
- 检查质量分数阈值
|
|
81
|
+
- 检查错误模式重复次数
|
|
82
|
+
- 检查新模式识别
|
|
83
|
+
|
|
84
|
+
5. **生成提醒**
|
|
85
|
+
- 如果流程完成但没有 practice-log,提醒记录
|
|
86
|
+
- 如果有新的 practice-log,提醒执行进化扫描
|
|
87
|
+
- 如果有进化触发信号,自动创建 practice-log 草稿
|
|
88
|
+
|
|
89
|
+
6. **提供模板**
|
|
90
|
+
- 生成 practice-log 模板
|
|
91
|
+
- 包含关键信息预填
|
|
92
|
+
- 包含评测数据摘要
|
|
93
|
+
|
|
94
|
+
## 评测数据输入
|
|
95
|
+
|
|
96
|
+
从 `.autospec/logs/evaluation/` 读取评测报告,提取:
|
|
97
|
+
|
|
98
|
+
### 质量分数触发
|
|
99
|
+
|
|
100
|
+
| 条件 | 触发动作 |
|
|
101
|
+
|-----|---------|
|
|
102
|
+
| 质量分数 < 70 | 触发 methodology 审查 |
|
|
103
|
+
| 过程指标 < 60 | 触发流程优化 |
|
|
104
|
+
| 结果指标 < 60 | 触发产出物模板优化 |
|
|
105
|
+
| 路径指标 < 60 | 触发 SDD 引导优化 |
|
|
106
|
+
|
|
107
|
+
### 错误模式触发
|
|
108
|
+
|
|
109
|
+
| 条件 | 触发动作 |
|
|
110
|
+
|-----|---------|
|
|
111
|
+
| 同类错误 >= 3 次 | 自动创建 practice-log |
|
|
112
|
+
| 新错误类型 | 标记需要分析 |
|
|
113
|
+
| 恢复率 < 60% | 触发异常处理优化 |
|
|
114
|
+
|
|
115
|
+
### 新模式识别
|
|
116
|
+
|
|
117
|
+
| 条件 | 触发动作 |
|
|
118
|
+
|-----|---------|
|
|
119
|
+
| 新解决方案模式 | 触发 skill 提案 |
|
|
120
|
+
| 新最佳实践 | 触发 knowledge 更新 |
|
|
121
|
+
| 新反模式 | 触发 DP 更新 |
|
|
122
|
+
|
|
123
|
+
## 触发规则
|
|
124
|
+
|
|
125
|
+
### 规则 1: 同类错误 3 次
|
|
126
|
+
|
|
127
|
+
```javascript
|
|
128
|
+
// 检测同类错误重复
|
|
129
|
+
if (errorPattern.count >= 3) {
|
|
130
|
+
autoCreatePracticeLog({
|
|
131
|
+
type: 'repeated_error',
|
|
132
|
+
errorType: errorPattern.type,
|
|
133
|
+
count: errorPattern.count,
|
|
134
|
+
suggestion: '建议创建专门的 skill 处理此类错误'
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 规则 2: 质量分数 < 70
|
|
140
|
+
|
|
141
|
+
```javascript
|
|
142
|
+
// 检测质量分数
|
|
143
|
+
if (qualityScore.overall < 70) {
|
|
144
|
+
triggerEvolution({
|
|
145
|
+
type: 'quality_review',
|
|
146
|
+
evidence: `质量分数 ${qualityScore.overall} < 70`,
|
|
147
|
+
action: '触发 methodology 审查'
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 规则 3: 新模式识别
|
|
153
|
+
|
|
154
|
+
```javascript
|
|
155
|
+
// 检测新模式
|
|
156
|
+
if (detectedNewPattern) {
|
|
157
|
+
suggestSkillCreation({
|
|
158
|
+
type: 'new_pattern',
|
|
159
|
+
pattern: detectedPattern,
|
|
160
|
+
evidence: patternEvidence
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## 提醒消息模板
|
|
166
|
+
|
|
167
|
+
### 流程完成提醒
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
[AutoSpec 进化提醒] 📝
|
|
171
|
+
|
|
172
|
+
流程已完成,请记录实践日志:
|
|
173
|
+
|
|
174
|
+
1. 创建文件:.autospec/evolution/practice-log/{date}-{topic}.md
|
|
175
|
+
|
|
176
|
+
2. 记录内容:
|
|
177
|
+
- 遇到的问题和解决方案
|
|
178
|
+
- 发现的新模式或最佳实践
|
|
179
|
+
- 可以改进的地方
|
|
180
|
+
|
|
181
|
+
3. 执行进化扫描:
|
|
182
|
+
/evolve
|
|
183
|
+
|
|
184
|
+
模板已为您准备好,是否需要自动创建?
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### 评测触发提醒(新增)
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
[AutoSpec 进化触发] ⚡
|
|
191
|
+
|
|
192
|
+
检测到以下进化信号:
|
|
193
|
+
|
|
194
|
+
1. 质量分数: {score}/100 (低于阈值 70)
|
|
195
|
+
- 建议审查: methodology
|
|
196
|
+
|
|
197
|
+
2. 重复错误: {errorType} 出现 {count} 次
|
|
198
|
+
- 建议: 创建专门的 skill
|
|
199
|
+
|
|
200
|
+
3. 新模式识别: {patternName}
|
|
201
|
+
- 建议: 提取为可复用 skill
|
|
202
|
+
|
|
203
|
+
详细评测报告: /evaluate
|
|
204
|
+
是否自动创建 practice-log 草稿?
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### 会话结束提醒
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
[AutoSpec 实践记录] 📋
|
|
211
|
+
|
|
212
|
+
检测到有活跃的 pipeline,建议:
|
|
213
|
+
|
|
214
|
+
1. 如果流程未完成,记录当前进度
|
|
215
|
+
2. 如果遇到问题,记录到 practice-log
|
|
216
|
+
3. 下次继续时可以快速恢复
|
|
217
|
+
|
|
218
|
+
是否需要创建进度记录?
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## practice-log 模板(增强版)
|
|
222
|
+
|
|
223
|
+
```markdown
|
|
224
|
+
# 实践日志
|
|
225
|
+
|
|
226
|
+
日期:{date}
|
|
227
|
+
主题:{topic}
|
|
228
|
+
阶段:{stage}
|
|
229
|
+
Trace ID: {traceId}
|
|
230
|
+
|
|
231
|
+
## 问题描述
|
|
232
|
+
|
|
233
|
+
<!-- 描述遇到的问题 -->
|
|
234
|
+
|
|
235
|
+
## 解决方案
|
|
236
|
+
|
|
237
|
+
<!-- 描述解决方案 -->
|
|
238
|
+
|
|
239
|
+
## 经验总结
|
|
240
|
+
|
|
241
|
+
<!-- 描述可以复用的经验 -->
|
|
242
|
+
|
|
243
|
+
## 评测数据(自动填充)
|
|
244
|
+
|
|
245
|
+
- 质量分数: {qualityScore}
|
|
246
|
+
- 错误模式: {errorPatterns}
|
|
247
|
+
- 改进领域: {improvementAreas}
|
|
248
|
+
|
|
249
|
+
## 进化建议(自动生成)
|
|
250
|
+
|
|
251
|
+
<!-- 基于评测数据自动生成的建议 -->
|
|
252
|
+
|
|
253
|
+
## 相关文件
|
|
254
|
+
|
|
255
|
+
<!-- 列出相关文件 -->
|
|
256
|
+
|
|
257
|
+
## 标签
|
|
258
|
+
|
|
259
|
+
<!-- 添加标签,如:bugfix, optimization, pattern -->
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
## 规则
|
|
263
|
+
|
|
264
|
+
1. **不重复提醒**
|
|
265
|
+
- 如果已有 practice-log,不重复提醒
|
|
266
|
+
- 同一会话只提醒一次
|
|
267
|
+
|
|
268
|
+
2. **渐进式提醒**
|
|
269
|
+
- 第一次:友好提示
|
|
270
|
+
- 第三次同类问题:强烈建议
|
|
271
|
+
- 第五次:必须记录
|
|
272
|
+
|
|
273
|
+
3. **智能判断**
|
|
274
|
+
- 简单任务可能不需要记录
|
|
275
|
+
- 复杂问题自动标记需要记录
|
|
276
|
+
|
|
277
|
+
4. **评测驱动**(新增)
|
|
278
|
+
- 质量分数低时自动触发
|
|
279
|
+
- 错误模式重复时自动触发
|
|
280
|
+
- 新模式识别时建议触发
|
|
281
|
+
|
|
282
|
+
## 配置
|
|
283
|
+
|
|
284
|
+
```yaml
|
|
285
|
+
# .autospec/config.json
|
|
286
|
+
{
|
|
287
|
+
"evolution": {
|
|
288
|
+
"reminderEnabled": true,
|
|
289
|
+
"reminderThreshold": 3,
|
|
290
|
+
"autoCreateTemplate": false,
|
|
291
|
+
"qualityThreshold": 70,
|
|
292
|
+
"errorPatternThreshold": 3
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
## 与评测系统的集成
|
|
298
|
+
|
|
299
|
+
### 数据流
|
|
300
|
+
|
|
301
|
+
```
|
|
302
|
+
评测报告 → evo-practice-logger → practice-log → 进化机制
|
|
303
|
+
│
|
|
304
|
+
├── 质量分数 < 70 → 触发 methodology 审查
|
|
305
|
+
├── 错误重复 >= 3 → 自动创建 practice-log
|
|
306
|
+
└── 新模式识别 → 建议 skill 创建
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### 自动化触发
|
|
310
|
+
|
|
311
|
+
当评测报告生成后,自动检查进化触发条件:
|
|
312
|
+
|
|
313
|
+
1. 读取评测报告
|
|
314
|
+
2. 检查触发条件
|
|
315
|
+
3. 生成进化建议
|
|
316
|
+
4. 自动创建 practice-log 草稿(如需要)
|
|
317
|
+
|
|
318
|
+
## 示例
|
|
319
|
+
|
|
320
|
+
### 输入
|
|
321
|
+
|
|
322
|
+
```json
|
|
323
|
+
{
|
|
324
|
+
"state": {
|
|
325
|
+
"currentStage": "06-deliver",
|
|
326
|
+
"completedAt": "2024-01-15T10:30:00Z"
|
|
327
|
+
},
|
|
328
|
+
"practiceLogExists": false,
|
|
329
|
+
"evaluationData": {
|
|
330
|
+
"qualityScore": 65,
|
|
331
|
+
"errorPatterns": [
|
|
332
|
+
{ "type": "test_fail", "count": 3 }
|
|
333
|
+
]
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### 输出
|
|
339
|
+
|
|
340
|
+
```json
|
|
341
|
+
{
|
|
342
|
+
"needsReminder": true,
|
|
343
|
+
"reminderType": "both",
|
|
344
|
+
"message": "检测到进化触发信号...",
|
|
345
|
+
"template": "# 实践日志\n\n日期:2024-01-15\n...",
|
|
346
|
+
"evolutionTriggers": [
|
|
347
|
+
{
|
|
348
|
+
"type": "quality_low",
|
|
349
|
+
"evidence": "质量分数 65 < 70",
|
|
350
|
+
"suggestedAction": "触发 methodology 审查"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"type": "repeated_error",
|
|
354
|
+
"evidence": "test_fail 出现 3 次",
|
|
355
|
+
"suggestedAction": "建议创建专门的 skill"
|
|
356
|
+
}
|
|
357
|
+
]
|
|
358
|
+
}
|
|
359
|
+
```
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scope-inferencer
|
|
3
|
+
description: 当需要智能推断需求涉及的项目范围时触发。基于项目结构和代码上下文,推断需求涉及的模块和技术栈。
|
|
4
|
+
type: meta
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 定位
|
|
8
|
+
|
|
9
|
+
元技能。基于项目结构(确定性)和代码上下文(语义),智能推断需求涉及的模块和技术栈。
|
|
10
|
+
|
|
11
|
+
## 输入
|
|
12
|
+
|
|
13
|
+
- 必须输入:需求描述、项目结构分析结果
|
|
14
|
+
- 可选输入:代码上下文(Grep结果)
|
|
15
|
+
|
|
16
|
+
## 输出
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"modules": [
|
|
21
|
+
{
|
|
22
|
+
"name": "backend",
|
|
23
|
+
"path": "backend",
|
|
24
|
+
"relevance": "high",
|
|
25
|
+
"reason": "需求提到API接口,匹配到backend模块的FastAPI服务"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "ai",
|
|
29
|
+
"path": "ai",
|
|
30
|
+
"relevance": "high",
|
|
31
|
+
"reason": "需求提到推荐功能,匹配到ai模块的推荐模型"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"techStacks": [
|
|
35
|
+
{
|
|
36
|
+
"name": "FastAPI",
|
|
37
|
+
"relevance": "high"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "PyTorch",
|
|
41
|
+
"relevance": "high"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"dataAIComponents": {
|
|
45
|
+
"detected": true,
|
|
46
|
+
"needsEvaluation": true,
|
|
47
|
+
"components": ["推荐系统"]
|
|
48
|
+
},
|
|
49
|
+
"confidence": "high",
|
|
50
|
+
"reasoning": "整体推理过程说明"
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 执行步骤
|
|
55
|
+
|
|
56
|
+
### Step 1: 提取关键词(确定性)
|
|
57
|
+
|
|
58
|
+
从需求中提取技术关键词:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
技术关键词类型:
|
|
62
|
+
- 系统关键词:后端、前端、移动端、API、界面、页面
|
|
63
|
+
- 功能关键词:推荐、搜索、聊天、支付、登录
|
|
64
|
+
- AI关键词:模型、智能、Agent、RAG、LLM
|
|
65
|
+
- 数据关键词:数据、ETL、报表、统计
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Step 2: 匹配模块(确定性 + 语义)
|
|
69
|
+
|
|
70
|
+
基于项目结构匹配相关模块:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
确定性匹配:
|
|
74
|
+
- 需求提到"后端API" → 匹配 type=backend 的模块
|
|
75
|
+
- 需求提到"前端页面" → 匹配 type=frontend 的模块
|
|
76
|
+
- 需求提到"移动端" → 匹配 type=mobile 的模块
|
|
77
|
+
|
|
78
|
+
语义匹配(需要模型):
|
|
79
|
+
- 需求提到"推荐" → Grep搜索 "recommend" → 模型判断相关性
|
|
80
|
+
- 需求提到"搜索" → Grep搜索 "search" → 模型判断相关性
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Step 3: 获取代码上下文(Grep,高效)
|
|
84
|
+
|
|
85
|
+
对于不确定的匹配,使用 Grep 获取上下文:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# 搜索关键词相关文件
|
|
89
|
+
grep -r -l -i "keyword" --include="*.{js,ts,py,java,go}" . | head -20
|
|
90
|
+
|
|
91
|
+
# 获取匹配行附近内容
|
|
92
|
+
grep -A 3 -B 3 -i "keyword" "file" | head -20
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**效率控制**:
|
|
96
|
+
- 最多搜索 3 个关键词
|
|
97
|
+
- 每个关键词最多返回 5 个文件
|
|
98
|
+
- 每个文件最多读取 20 行上下文
|
|
99
|
+
|
|
100
|
+
### Step 4: 语义分析(模型)
|
|
101
|
+
|
|
102
|
+
基于有限上下文进行语义判断:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
模型输入:
|
|
106
|
+
{
|
|
107
|
+
"requirement": "需求描述",
|
|
108
|
+
"projectModules": ["backend (FastAPI, backend)", "ai (PyTorch, ai)"],
|
|
109
|
+
"codeContexts": "[backend/api.py]\ndef recommend_items(user_id): ...",
|
|
110
|
+
"task": "判断需求涉及哪些模块,输出JSON格式"
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Step 5: 输出结果
|
|
115
|
+
|
|
116
|
+
汇总确定性匹配和语义匹配结果,输出带置信度的范围推断。
|
|
117
|
+
|
|
118
|
+
## 置信度判断
|
|
119
|
+
|
|
120
|
+
| 置信度 | 条件 |
|
|
121
|
+
|--------|------|
|
|
122
|
+
| **high** | 确定性匹配 + 语义匹配一致 |
|
|
123
|
+
| **medium** | 只有确定性匹配 或 语义匹配置信度高 |
|
|
124
|
+
| **low** | 只有语义匹配置信度中等 或 无匹配 |
|
|
125
|
+
|
|
126
|
+
## 调用时机
|
|
127
|
+
|
|
128
|
+
- 需求分析阶段开始时
|
|
129
|
+
- 项目结构检测完成后
|
|
130
|
+
- 用户输入需求后
|
|
131
|
+
|
|
132
|
+
## 示例
|
|
133
|
+
|
|
134
|
+
**输入**:
|
|
135
|
+
```
|
|
136
|
+
需求:开发用户收藏夹功能,用户可以收藏商品,在收藏夹页面查看和管理
|
|
137
|
+
|
|
138
|
+
项目结构:
|
|
139
|
+
- backend (FastAPI, backend)
|
|
140
|
+
- frontend (React, frontend)
|
|
141
|
+
- mobile (React Native, mobile)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**输出**:
|
|
145
|
+
```json
|
|
146
|
+
{
|
|
147
|
+
"modules": [
|
|
148
|
+
{
|
|
149
|
+
"name": "backend",
|
|
150
|
+
"path": "backend",
|
|
151
|
+
"relevance": "high",
|
|
152
|
+
"reason": "收藏夹需要后端API支持,匹配到backend模块"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "frontend",
|
|
156
|
+
"path": "frontend",
|
|
157
|
+
"relevance": "high",
|
|
158
|
+
"reason": "需求提到收藏夹页面,匹配到frontend模块"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "mobile",
|
|
162
|
+
"path": "mobile",
|
|
163
|
+
"relevance": "medium",
|
|
164
|
+
"reason": "收藏功能通常也需要移动端支持,但需求未明确提及"
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"techStacks": [
|
|
168
|
+
{"name": "FastAPI", "relevance": "high"},
|
|
169
|
+
{"name": "React", "relevance": "high"}
|
|
170
|
+
],
|
|
171
|
+
"confidence": "high",
|
|
172
|
+
"reasoning": "需求明确提到收藏夹页面,后端API和前端页面是确定需要的。移动端未明确提及但通常需要,置信度中等。"
|
|
173
|
+
}
|
|
174
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-distiller
|
|
3
|
+
description: 当全流程完成或practice-log积累到一定量、需要从执行轨迹或业务知识中提炼新的可执行skill时触发
|
|
4
|
+
type: produce
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 定位
|
|
8
|
+
从实践中识别和提炼可执行的新skill,是框架持续扩展能力的引擎。分三个场景:流程蒸馏(向内看)、业务蒸馏(向外看)、测试知识蒸馏(从测试执行中学习)。
|
|
9
|
+
|
|
10
|
+
## 输入
|
|
11
|
+
- 必须输入:practice-log中状态为"待处理"的条目
|
|
12
|
+
- 场景A可选:流程执行轨迹、人工介入记录
|
|
13
|
+
- 场景B可选:业务项目中的知识素材(成熟提示词、业务规则、领域术语)
|
|
14
|
+
- 场景C可选:测试执行记录、测试代码、测试失败模式
|
|
15
|
+
|
|
16
|
+
## 输出
|
|
17
|
+
- 新的skill文件(符合 skills/_template.md 格式,含CSO description + 反模式清单)
|
|
18
|
+
- 测试知识文件(Markdown 格式,存放于 `environment/integration/testing/`)
|
|
19
|
+
- 蒸馏报告(从什么素材提炼、归入哪个目录、与现有skills/知识的关系)
|
|
20
|
+
- **证据清单**(支撑蒸馏决策的practice-log引用)
|
|
21
|
+
|
|
22
|
+
## 执行步骤
|
|
23
|
+
|
|
24
|
+
### 场景A:流程蒸馏(向内看)
|
|
25
|
+
|
|
26
|
+
1. **监控**:扫描流程执行中的操作轨迹和人工介入点
|
|
27
|
+
2. **识别**:寻找以下信号
|
|
28
|
+
- 某个操作模式反复出现(3次以上)
|
|
29
|
+
- 某处频繁需要人工介入(自动化缺口)
|
|
30
|
+
- 两个现有skills有重复逻辑(可提取更基础的skill)
|
|
31
|
+
- 质量关卡的某类判断逻辑逐渐成熟(可独立为专项skill)
|
|
32
|
+
3. **抽象**:将具体操作抽象为通用skill定义
|
|
33
|
+
- 明确输入/输出(含关键假设和证据)
|
|
34
|
+
- 确定属于哪个阶段
|
|
35
|
+
- 厘清与现有skills的关系(替代/补充/组合)
|
|
36
|
+
- **编写CSO格式的description**
|
|
37
|
+
- **编写反模式清单**
|
|
38
|
+
4. **验证**:调用skill-validator检查
|
|
39
|
+
5. **归档**:归入 skills/stages/ 或 skills/support/
|
|
40
|
+
|
|
41
|
+
### 场景B:业务蒸馏(向外看)
|
|
42
|
+
|
|
43
|
+
1. **收集**:从项目中归集业务知识素材
|
|
44
|
+
2. **分层**:判断知识的复用层级(场景级/行业级/通用级)
|
|
45
|
+
3. **封装**:将业务知识封装为可执行skill
|
|
46
|
+
- 内嵌领域知识(不依赖外部记忆)
|
|
47
|
+
- **编写CSO格式的description**
|
|
48
|
+
- **编写反模式清单**
|
|
49
|
+
4. **验证**:用真实业务案例验证效果,调用skill-validator检查
|
|
50
|
+
5. **归档**:归入 skills/domain/
|
|
51
|
+
|
|
52
|
+
### 场景C:测试知识蒸馏(从测试执行中学习)
|
|
53
|
+
|
|
54
|
+
1. **监控**:扫描测试执行记录和测试代码
|
|
55
|
+
2. **识别**:寻找以下信号
|
|
56
|
+
- 新的测试框架或工具使用模式(出现3次以上)
|
|
57
|
+
- 更高效的 Mock 策略或测试数据准备方法
|
|
58
|
+
- 测试失败模式重复出现(同类失败3次以上)
|
|
59
|
+
- 测试代码风格趋于稳定(可提炼为模板)
|
|
60
|
+
3. **抽象**:将测试模式抽象为测试知识
|
|
61
|
+
- 明确适用场景和技术栈
|
|
62
|
+
- 提炼测试策略(testcontainer、mock 等)
|
|
63
|
+
- 记录注意事项和反模式
|
|
64
|
+
4. **验证**:用实际测试案例验证效果
|
|
65
|
+
5. **归档**:归入 `environment/integration/testing/` 目录
|
|
66
|
+
|
|
67
|
+
**测试知识蒸馏示例**:
|
|
68
|
+
- 发现项目中多次使用 Testcontainer 启动 MySQL → 提炼为测试知识 `mysql-testing.md`
|
|
69
|
+
- 发现某类 Mock 策略导致测试不稳定 → 补充到反模式清单
|
|
70
|
+
- 发现测试数据准备有通用模式 → 提炼为测试工具函数
|
|
71
|
+
|
|
72
|
+
### 蒸馏后处理
|
|
73
|
+
- 更新practice-log对应条目状态为"已处理"
|
|
74
|
+
- 如果某角色skill在3+角色中出现 → 提议升级为通用skill
|
|
75
|
+
|
|
76
|
+
## 反模式清单(DP7)
|
|
77
|
+
1. **过早蒸馏**:模式出现不到3次就急于提炼。检测:必须有3+实例支撑
|
|
78
|
+
2. **过度泛化**:把项目特有的模式强行泛化。检测:判断复用层级,不可泛化的留在practice-log
|
|
79
|
+
3. **不验证就归档**:跳过skill-validator直接归档。检测:验证是必选步骤
|
|
80
|
+
4. **忽略现有skills**:不检查是否已有类似skill。检测:蒸馏前搜索现有skills
|
|
81
|
+
5. **遗漏反模式**:新skill没有反模式清单。检测:反模式是模板必选section
|
|
82
|
+
|
|
83
|
+
## 适用场景与边界
|
|
84
|
+
- 适用:全流程完成后的自动扫描、practice-log积累到一定量时、测试执行积累到一定量时
|
|
85
|
+
- 不适用:skill已存在只需升级(用skill-evolver)、提取的是方法论而非可执行skill(用methodology-extractor)
|
|
86
|
+
- 测试知识蒸馏:测试模式出现3次以上、测试失败模式重复出现
|
|
87
|
+
|
|
88
|
+
## 示例
|
|
89
|
+
**场景A示例**:跑了5次需求分析后发现"需求冲突检测"是独立能力 → 蒸馏为 `skills/stages/req-conflict-detector.md`
|
|
90
|
+
**场景B示例**:商机项目拓客提示词经5轮调优趋于稳定 → 蒸馏为 `skills/domain/b2b-lead-discovery.md`
|
|
91
|
+
**场景C示例**:项目中多次使用 Testcontainer 启动 MySQL 测试 → 提炼为 `environment/integration/testing/mysql-testing.md`
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-evolver
|
|
3
|
+
description: 当skill执行效果持续不达标或同类问题出现3次以上、需要迭代升级已有skill时触发
|
|
4
|
+
type: produce
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 定位
|
|
8
|
+
让skills持续进化而非一次性产出。基于执行效果和反馈,系统化地升级已有skill。
|
|
9
|
+
|
|
10
|
+
## 输入
|
|
11
|
+
- 必须输入:待升级的skill文件、反馈数据(审类skill打回记录 / practice-log条目 / 人工反馈 / methodology更新)
|
|
12
|
+
- 可选输入:evaluation/benchmarks中的相关案例
|
|
13
|
+
|
|
14
|
+
## 输出
|
|
15
|
+
- 升级后的skill文件
|
|
16
|
+
- 变更说明(改了什么、为什么、预期效果)
|
|
17
|
+
- **证据清单**(支撑升级决策的反馈数据引用)
|
|
18
|
+
|
|
19
|
+
## 执行步骤
|
|
20
|
+
1. 收集该skill相关的所有反馈数据
|
|
21
|
+
- 预期产出:反馈汇总表
|
|
22
|
+
- 失败处理:反馈不足则标记,不盲目修改
|
|
23
|
+
2. 分析问题模式:是skill的步骤不够具体?评判标准不够准确?适用场景描述有误?反模式不够全面?
|
|
24
|
+
3. 生成修改建议(明确改哪个section、怎么改、预期效果)
|
|
25
|
+
4. 执行修改
|
|
26
|
+
5. 用skill-validator验证修改后的skill
|
|
27
|
+
6. 如有evaluation/benchmarks中的相关案例,用案例对比修改前后效果
|
|
28
|
+
7. **整理证据清单**(哪些反馈支撑了哪些修改)
|
|
29
|
+
|
|
30
|
+
## 反模式清单(DP7)
|
|
31
|
+
1. **盲目修改**:没有充分反馈就修改skill。检测:必须有至少3条反馈数据支撑
|
|
32
|
+
2. **过度泛化**:把特定项目的问题泛化为通用修改。检测:修改必须回溯到问题是否普遍
|
|
33
|
+
3. **破坏已有能力**:修改后导致原本能处理的场景失效。检测:用基准案例验证前后效果
|
|
34
|
+
4. **跳过验证**:修改后不用skill-validator检查。检测:验证是必选步骤
|
|
35
|
+
|
|
36
|
+
## 适用场景与边界
|
|
37
|
+
- 适用:skill执行效果不达标、practice-log中同类问题出现3次以上、methodology更新导致skill需同步
|
|
38
|
+
- 不适用:skill本身没问题但使用者没按skill执行;需要全新skill而非升级(用skill-distiller)
|
|
39
|
+
|
|
40
|
+
## 示例
|
|
41
|
+
**触发**:code-reviewer skill连续3次在"安全审查"维度漏判SQL注入问题
|
|
42
|
+
**分析**:评判标准中安全检查项不够具体,只写了"无安全漏洞",没有列举具体检查类型
|
|
43
|
+
**修改**:在评判标准中展开为具体项(SQL注入、XSS、CSRF、越权访问...),在评审步骤中增加安全审查子步骤
|
|
44
|
+
**验证**:用已知含SQL注入的代码案例重新审查,确认能正确识别
|
|
45
|
+
**证据**:practice-log #12, #15, #18 均记录了SQL注入漏判
|