universal-dev-standards 5.4.0 → 5.6.0
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/bundled/ai/options/testing/integration-testing.ai.yaml +2 -2
- package/bundled/ai/options/testing/unit-testing.ai.yaml +2 -2
- package/bundled/ai/standards/adversarial-test.ai.yaml +277 -0
- package/bundled/ai/standards/audit-trail.ai.yaml +113 -0
- package/bundled/ai/standards/browser-compatibility-standards.ai.yaml +63 -0
- package/bundled/ai/standards/chaos-injection-tests.ai.yaml +91 -0
- package/bundled/ai/standards/container-image-standards.ai.yaml +88 -0
- package/bundled/ai/standards/container-security.ai.yaml +331 -0
- package/bundled/ai/standards/contract-testing-standards.ai.yaml +62 -0
- package/bundled/ai/standards/cost-budget-test.ai.yaml +96 -0
- package/bundled/ai/standards/cross-flow-regression.ai.yaml +61 -0
- package/bundled/ai/standards/data-contract.ai.yaml +110 -0
- package/bundled/ai/standards/data-migration-testing.ai.yaml +96 -0
- package/bundled/ai/standards/data-pipeline.ai.yaml +113 -0
- package/bundled/ai/standards/disaster-recovery-drill.ai.yaml +89 -0
- package/bundled/ai/standards/flaky-test-management.ai.yaml +89 -0
- package/bundled/ai/standards/flow-based-testing.ai.yaml +240 -0
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +192 -0
- package/bundled/ai/standards/iac-design-principles.ai.yaml +83 -0
- package/bundled/ai/standards/incident-response.ai.yaml +107 -0
- package/bundled/ai/standards/license-compliance.ai.yaml +106 -0
- package/bundled/ai/standards/llm-output-validation.ai.yaml +269 -0
- package/bundled/ai/standards/mock-boundary.ai.yaml +250 -0
- package/bundled/ai/standards/mutation-testing.ai.yaml +192 -0
- package/bundled/ai/standards/pii-classification.ai.yaml +109 -0
- package/bundled/ai/standards/policy-as-code-testing.ai.yaml +227 -0
- package/bundled/ai/standards/prd-standards.ai.yaml +88 -0
- package/bundled/ai/standards/product-metrics-standards.ai.yaml +111 -0
- package/bundled/ai/standards/prompt-regression.ai.yaml +94 -0
- package/bundled/ai/standards/property-based-testing.ai.yaml +105 -0
- package/bundled/ai/standards/release-quality-manifest.ai.yaml +135 -0
- package/bundled/ai/standards/release-readiness-gate.ai.yaml +77 -0
- package/bundled/ai/standards/replay-test.ai.yaml +111 -0
- package/bundled/ai/standards/runbook.ai.yaml +104 -0
- package/bundled/ai/standards/sast-advanced.ai.yaml +135 -0
- package/bundled/ai/standards/schema-evolution.ai.yaml +111 -0
- package/bundled/ai/standards/secret-management-standards.ai.yaml +105 -0
- package/bundled/ai/standards/secure-op.ai.yaml +365 -0
- package/bundled/ai/standards/security-testing.ai.yaml +171 -0
- package/bundled/ai/standards/server-ops-security.ai.yaml +274 -0
- package/bundled/ai/standards/slo-sli.ai.yaml +97 -0
- package/bundled/ai/standards/smoke-test.ai.yaml +87 -0
- package/bundled/ai/standards/supply-chain-attestation.ai.yaml +109 -0
- package/bundled/ai/standards/test-completeness-dimensions.ai.yaml +52 -5
- package/bundled/ai/standards/testing.ai.yaml +20 -13
- package/bundled/ai/standards/user-story-mapping.ai.yaml +108 -0
- package/bundled/core/accessibility-standards.md +58 -0
- package/bundled/core/adversarial-test.md +212 -0
- package/bundled/core/branch-completion.md +4 -0
- package/bundled/core/browser-compatibility-standards.md +220 -0
- package/bundled/core/chaos-injection-tests.md +116 -0
- package/bundled/core/checkin-standards.md +1 -0
- package/bundled/core/container-security.md +521 -0
- package/bundled/core/contract-testing-standards.md +182 -0
- package/bundled/core/cost-budget-test.md +69 -0
- package/bundled/core/cross-flow-regression.md +190 -0
- package/bundled/core/data-migration-testing.md +110 -0
- package/bundled/core/disaster-recovery-drill.md +73 -0
- package/bundled/core/flaky-test-management.md +73 -0
- package/bundled/core/flow-based-testing.md +275 -0
- package/bundled/core/full-coverage-testing.md +183 -0
- package/bundled/core/llm-output-validation.md +178 -0
- package/bundled/core/mock-boundary.md +100 -0
- package/bundled/core/mutation-testing.md +97 -0
- package/bundled/core/performance-standards.md +65 -0
- package/bundled/core/policy-as-code-testing.md +188 -0
- package/bundled/core/prompt-regression.md +72 -0
- package/bundled/core/property-based-testing.md +73 -0
- package/bundled/core/release-quality-manifest.md +193 -0
- package/bundled/core/release-readiness-gate.md +184 -0
- package/bundled/core/replay-test.md +86 -0
- package/bundled/core/sast-advanced.md +300 -0
- package/bundled/core/secure-op.md +314 -0
- package/bundled/core/security-testing.md +87 -0
- package/bundled/core/server-ops-security.md +493 -0
- package/bundled/core/smoke-test.md +65 -0
- package/bundled/core/supply-chain-attestation.md +117 -0
- package/bundled/locales/zh-CN/CHANGELOG.md +3 -3
- package/bundled/locales/zh-CN/README.md +1 -1
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +5 -5
- package/bundled/locales/zh-TW/CHANGELOG.md +3 -3
- package/bundled/locales/zh-TW/README.md +1 -1
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +11 -0
- package/bundled/locales/zh-TW/core/contract-testing-standards.md +11 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +11 -0
- package/bundled/locales/zh-TW/core/release-readiness-gate.md +11 -0
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +183 -79
- package/bundled/skills/README.md +4 -3
- package/bundled/skills/SKILL_NAMING.md +94 -0
- package/bundled/skills/ai-instruction-standards/SKILL.md +181 -88
- package/bundled/skills/atdd-assistant/SKILL.md +8 -0
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/checkin-assistant/SKILL.md +8 -0
- package/bundled/skills/code-review-assistant/SKILL.md +7 -0
- package/bundled/skills/journey-test-assistant/SKILL.md +203 -0
- package/bundled/skills/orchestrate/SKILL.md +167 -0
- package/bundled/skills/plan/SKILL.md +234 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +8 -0
- package/bundled/skills/push/SKILL.md +49 -2
- package/bundled/skills/{process-automation → skill-builder}/SKILL.md +1 -1
- package/bundled/skills/{forward-derivation → spec-derivation}/SKILL.md +1 -1
- package/bundled/skills/spec-driven-dev/SKILL.md +7 -0
- package/bundled/skills/sweep/SKILL.md +145 -0
- package/bundled/skills/tdd-assistant/SKILL.md +7 -0
- package/package.json +6 -6
- package/src/commands/check.js +43 -0
- package/src/commands/flow.js +8 -0
- package/src/commands/init.js +2 -1
- package/src/commands/start.js +14 -0
- package/src/commands/sweep.js +8 -0
- package/src/commands/update.js +10 -0
- package/src/commands/workflow.js +8 -0
- package/standards-registry.json +483 -5
- package/bundled/locales/zh-CN/skills/ac-coverage-assistant/SKILL.md +0 -190
- package/bundled/locales/zh-CN/skills/forward-derivation/SKILL.md +0 -71
- package/bundled/locales/zh-CN/skills/forward-derivation/guide.md +0 -130
- package/bundled/locales/zh-CN/skills/methodology-system/SKILL.md +0 -88
- package/bundled/locales/zh-CN/skills/methodology-system/create-methodology.md +0 -350
- package/bundled/locales/zh-CN/skills/methodology-system/guide.md +0 -131
- package/bundled/locales/zh-CN/skills/methodology-system/runtime.md +0 -279
- package/bundled/locales/zh-CN/skills/process-automation/SKILL.md +0 -143
- package/bundled/locales/zh-TW/skills/ac-coverage-assistant/SKILL.md +0 -195
- package/bundled/locales/zh-TW/skills/deploy-assistant/SKILL.md +0 -178
- package/bundled/locales/zh-TW/skills/forward-derivation/SKILL.md +0 -69
- package/bundled/locales/zh-TW/skills/forward-derivation/guide.md +0 -415
- package/bundled/locales/zh-TW/skills/methodology-system/SKILL.md +0 -86
- package/bundled/locales/zh-TW/skills/methodology-system/create-methodology.md +0 -350
- package/bundled/locales/zh-TW/skills/methodology-system/guide.md +0 -131
- package/bundled/locales/zh-TW/skills/methodology-system/runtime.md +0 -279
- package/bundled/locales/zh-TW/skills/process-automation/SKILL.md +0 -144
- /package/bundled/skills/{ac-coverage-assistant → ac-coverage}/SKILL.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/SKILL.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/create-methodology.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/guide.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/integrated-flow.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/prerequisite-check.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/runtime.md +0 -0
- /package/bundled/skills/{forward-derivation → spec-derivation}/guide.md +0 -0
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
source: ../../../../skills/methodology-system/runtime.md
|
|
3
|
-
source_version: 1.0.0
|
|
4
|
-
translation_version: 1.0.0
|
|
5
|
-
last_synced: 2026-01-12
|
|
6
|
-
status: experimental
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# 方法論执行时引導
|
|
10
|
-
|
|
11
|
-
> **Language**: [English](../../../../skills/methodology-system/runtime.md) | 简体中文
|
|
12
|
-
|
|
13
|
-
> [!WARNING]
|
|
14
|
-
> **实驗性功能 / Experimental Feature**
|
|
15
|
-
>
|
|
16
|
-
> 此功能正在積極开发中,可能在 v4.0 中有重大变更。
|
|
17
|
-
> This feature is under active development and may change significantly in v4.0.
|
|
18
|
-
|
|
19
|
-
**版本**: 1.0.0
|
|
20
|
-
**最後更新**: 2026-01-12
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 概述
|
|
25
|
-
|
|
26
|
-
本文件定義當开发方法論啟用时,AI 助手应如何行为。提供阶段追蹤、检查点处理和用戶互动的引導。
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## AI 行为規格
|
|
31
|
-
|
|
32
|
-
### 1. 上下文感知
|
|
33
|
-
|
|
34
|
-
當方法論啟用时,AI 应該:
|
|
35
|
-
|
|
36
|
-
- **始終知道當前阶段**
|
|
37
|
-
- **在响应中顯示阶段指示器**
|
|
38
|
-
- **建议阶段適當的行动**
|
|
39
|
-
|
|
40
|
-
#### 阶段状态顯示
|
|
41
|
-
|
|
42
|
-
在相关响应開頭包含方法論状态:
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
┌────────────────────────────────────────────────┐
|
|
46
|
-
│ 📋 方法論: TDD │
|
|
47
|
-
│ 📍 阶段: 🔴 紅燈(撰写失败的测试) │
|
|
48
|
-
│ ⏱️ 持續时间: 3 分鐘 │
|
|
49
|
-
└────────────────────────────────────────────────┘
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### 2. 主动引導
|
|
53
|
-
|
|
54
|
-
根据當前阶段提供上下文適當的建议:
|
|
55
|
-
|
|
56
|
-
```markdown
|
|
57
|
-
**當前阶段: 🔴 紅燈 (TDD)**
|
|
58
|
-
|
|
59
|
-
您正在为以下功能撰写失败的测试:用戶登入验证
|
|
60
|
-
|
|
61
|
-
**下一步**:撰写描述预期行为的测试。
|
|
62
|
-
|
|
63
|
-
您希望我:
|
|
64
|
-
1. 产生测试骨架
|
|
65
|
-
2. 展示此場景的 TDD 最佳实踐
|
|
66
|
-
3. 繼續您的手动方式
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 3. 阶段转换偵测
|
|
70
|
-
|
|
71
|
-
監控表示阶段转换的条件:
|
|
72
|
-
|
|
73
|
-
| 訊号 | 转换 |
|
|
74
|
-
|------|------|
|
|
75
|
-
| 测试执行失败 | 紅燈 → 准备进入綠燈 |
|
|
76
|
-
| 所有测试通過 | 綠燈 → 准备重構 |
|
|
77
|
-
| 用戶确认重構完成 | 重構 → 下一个周期或完成 |
|
|
78
|
-
| 經過时间超過阶段持續时间 | 顯示提醒 |
|
|
79
|
-
| 偵测到 Git 提交 | 重置阶段计时器 |
|
|
80
|
-
|
|
81
|
-
### 4. 检查点行为
|
|
82
|
-
|
|
83
|
-
當检查点条件觸發时,顯示检查点通知:
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
┌────────────────────────────────────────────────┐
|
|
87
|
-
│ 🔔 方法論检查点 │
|
|
88
|
-
├────────────────────────────────────────────────┤
|
|
89
|
-
│ 綠燈阶段完成 │
|
|
90
|
-
│ │
|
|
91
|
-
│ 检查清单状态: │
|
|
92
|
-
│ ✅ 撰写最少程序码 │
|
|
93
|
-
│ ✅ 测试通過 │
|
|
94
|
-
│ ✅ 所有其他测试通過 │
|
|
95
|
-
│ ⬜ (選填)考慮邊界情况 │
|
|
96
|
-
│ │
|
|
97
|
-
│ 变更统计: │
|
|
98
|
-
│ - 文件: 3 │
|
|
99
|
-
│ - 新增: 45 行 │
|
|
100
|
-
│ - 刪除: 2 行 │
|
|
101
|
-
│ │
|
|
102
|
-
│ 建议提交: │
|
|
103
|
-
│ test(auth): 新增郵箱验证测试 │
|
|
104
|
-
│ feat(auth): 实作郵箱验证 │
|
|
105
|
-
│ │
|
|
106
|
-
│ 选项: │
|
|
107
|
-
│ [1] 立即提交(顯示 git 命令) │
|
|
108
|
-
│ [2] 繼續到重構阶段 │
|
|
109
|
-
│ [3] 檢视详细变更 │
|
|
110
|
-
└────────────────────────────────────────────────┘
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### 5. 跳過追蹤
|
|
114
|
-
|
|
115
|
-
追蹤連續跳過并適當警告:
|
|
116
|
-
|
|
117
|
-
| 跳過次數 | 行动 |
|
|
118
|
-
|----------|------|
|
|
119
|
-
| 1-2 | 無行动,记录跳過 |
|
|
120
|
-
| 3 | 警告通知 |
|
|
121
|
-
| 4+ | 強烈警告,建议提交 |
|
|
122
|
-
|
|
123
|
-
#### 跳過警告顯示
|
|
124
|
-
|
|
125
|
-
```
|
|
126
|
-
┌────────────────────────────────────────────────┐
|
|
127
|
-
│ ⚠️ 跳過警告 │
|
|
128
|
-
├────────────────────────────────────────────────┤
|
|
129
|
-
│ 您已連續跳過簽入 3 次 │
|
|
130
|
-
│ │
|
|
131
|
-
│ 當前累積变更: │
|
|
132
|
-
│ - 文件: 8 │
|
|
133
|
-
│ - 新增: 320 行 │
|
|
134
|
-
│ - 刪除: 45 行 │
|
|
135
|
-
│ │
|
|
136
|
-
│ 建议:立即提交您的变更以避免遺失工作并維持 │
|
|
137
|
-
│ 原子化提交。 │
|
|
138
|
-
│ │
|
|
139
|
-
│ [1] 立即提交 [2] 仍然跳過 [3] 檢视差異 │
|
|
140
|
-
└────────────────────────────────────────────────┘
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
## 方法論偵测
|
|
146
|
-
|
|
147
|
-
### 自动偵测
|
|
148
|
-
|
|
149
|
-
AI 应從以下來源偵测方法論上下文:
|
|
150
|
-
|
|
151
|
-
1. **Manifest 配置**
|
|
152
|
-
```json
|
|
153
|
-
// .standards/manifest.json
|
|
154
|
-
{ "methodology": { "active": "tdd" } }
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
2. **关鍵字偵测**
|
|
158
|
-
- 「讓我們用 TDD 來做这个」
|
|
159
|
-
- 「先写一个失败的测试」
|
|
160
|
-
- 「Given-When-Then」
|
|
161
|
-
- 「为这个变更建立規格」
|
|
162
|
-
|
|
163
|
-
3. **命令調用**
|
|
164
|
-
- `/tdd`、`/bdd`、`/sdd`、`/atdd`
|
|
165
|
-
- `/methodology switch <id>`
|
|
166
|
-
|
|
167
|
-
### 载入方法論定義
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
方法論载入優先順序:
|
|
171
|
-
1. 自订: .standards/methodologies/{id}.methodology.yaml
|
|
172
|
-
2. 內建: methodologies/{id}.methodology.yaml
|
|
173
|
-
3. 备用: 通用無阶段工作流
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## 检查清单管理
|
|
179
|
-
|
|
180
|
-
### 顯示格式
|
|
181
|
-
|
|
182
|
-
```markdown
|
|
183
|
-
### 阶段检查清单
|
|
184
|
-
|
|
185
|
-
**必須:**
|
|
186
|
-
- [ ] 测试描述预期行为
|
|
187
|
-
- [x] 测试名称清晰
|
|
188
|
-
- [ ] 测试遵循 AAA 模式
|
|
189
|
-
|
|
190
|
-
**選填:**
|
|
191
|
-
- [ ] 考慮邊界情况
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### 追蹤
|
|
195
|
-
|
|
196
|
-
- 根据用戶行动和程序码分析更新检查清单项目
|
|
197
|
-
- 嚴格模式下,必填项目未完成則阻止阶段转换
|
|
198
|
-
- 记录完成情况以供审计追蹤
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
## 集成点
|
|
203
|
-
|
|
204
|
-
### 与 Git
|
|
205
|
-
|
|
206
|
-
- 偵测提交以重置阶段计时器
|
|
207
|
-
- 根据方法論建议提交消息
|
|
208
|
-
- 自动包含規格/故事參考
|
|
209
|
-
|
|
210
|
-
### 与测试执行器
|
|
211
|
-
|
|
212
|
-
- 偵测测试通過/失败以觸發阶段转换
|
|
213
|
-
- 报告与當前阶段相关的测试覆蓋率
|
|
214
|
-
|
|
215
|
-
### 与程序码审查
|
|
216
|
-
|
|
217
|
-
- 添加方法論特定的审查检查
|
|
218
|
-
- 在 PR 描述中參考啟用的方法論
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## 错误处理
|
|
223
|
-
|
|
224
|
-
### 找不到方法論
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
⚠️ 找不到方法論 'custom-workflow'。
|
|
228
|
-
|
|
229
|
-
可用的方法論:
|
|
230
|
-
- tdd(內建)
|
|
231
|
-
- bdd(內建)
|
|
232
|
-
- sdd(內建)
|
|
233
|
-
- atdd(內建)
|
|
234
|
-
|
|
235
|
-
使用 `/methodology list` 查看所有选项。
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
### 無效的阶段转换
|
|
239
|
-
|
|
240
|
-
```
|
|
241
|
-
⚠️ 無法從紅燈转换到重構。
|
|
242
|
-
|
|
243
|
-
TDD 要求:紅燈 → 綠燈 → 重構
|
|
244
|
-
|
|
245
|
-
當前阶段:紅燈
|
|
246
|
-
有效的下一个阶段:綠燈
|
|
247
|
-
|
|
248
|
-
請先完成紅燈阶段的检查清单。
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## 效能考量
|
|
254
|
-
|
|
255
|
-
- 首次载入後快取方法論定義
|
|
256
|
-
- 僅在 manifest 变更时重新载入
|
|
257
|
-
- 最小化检查点頻率以避免中斷
|
|
258
|
-
- 批次处理 git 状态检查
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
## 本地化
|
|
263
|
-
|
|
264
|
-
所有面向用戶的文字应使用適當的语言欄位:
|
|
265
|
-
|
|
266
|
-
```yaml
|
|
267
|
-
# 如果用戶的地區设置是 zh-TW
|
|
268
|
-
name: nameZh || name
|
|
269
|
-
description: descriptionZh || description
|
|
270
|
-
prompt: promptZh || prompt
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## 版本历史
|
|
276
|
-
|
|
277
|
-
| 版本 | 日期 | 变更 |
|
|
278
|
-
|------|------|------|
|
|
279
|
-
| 1.0.0 | 2026-01-12 | 初始执行时規格 |
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
source: ../../../../skills/process-automation/SKILL.md
|
|
3
|
-
source_version: 1.0.0
|
|
4
|
-
translation_version: 1.0.0
|
|
5
|
-
last_synced: 2026-04-10
|
|
6
|
-
status: current
|
|
7
|
-
description: "[UDS] 识别重复流程并以正确开发深度创建 Skill"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 流程转化 Skill 助手
|
|
11
|
-
|
|
12
|
-
> **语言**: [English](../../../../skills/process-automation/SKILL.md) | 简体中文
|
|
13
|
-
|
|
14
|
-
从「我一直在手动做这件事」引导你创建一个合适的 Skill,并在过程中采用恰当深度的开发流程。
|
|
15
|
-
|
|
16
|
-
## 使用时机
|
|
17
|
-
|
|
18
|
-
- 你已手动执行同一组多步骤流程 ≥ 3 次
|
|
19
|
-
- 队友第 3 次问「我们怎么做 X?」
|
|
20
|
-
- 你临时创建了一个 Skill,想要正式化它
|
|
21
|
-
|
|
22
|
-
## 核心原则
|
|
23
|
-
|
|
24
|
-
> **Skill 记录流程知识。Memory 记录历史事实。**
|
|
25
|
-
> 当你发现自己在重复执行相同步骤时,那就是 Skill 候选。
|
|
26
|
-
|
|
27
|
-
## 决策树
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
需要新 Skill?
|
|
31
|
-
├── 修改现有 Skill?
|
|
32
|
-
│ → Delta 路径:在现有 SKILL.md 末尾附加 ## MODIFIED / ## ADDED
|
|
33
|
-
│ 更新 version 字段 → 完成
|
|
34
|
-
│
|
|
35
|
-
├── 回答这 4 个问题(任何一个「是」→ Complex):
|
|
36
|
-
│ 1. 超过 7 个步骤?
|
|
37
|
-
│ 2. 步骤之间有分支逻辑(if/else)?
|
|
38
|
-
│ 3. 需要来自 3 个以上独立标准/决策的知识?
|
|
39
|
-
│ 4. 输出直接影响子项目的源代码?
|
|
40
|
-
│
|
|
41
|
-
├── 全部「否」→ Simple 路径
|
|
42
|
-
│ → 填写 Skill Brief(templates/SKILL-BRIEF-TEMPLATE.md)
|
|
43
|
-
│ → 直接创建 SKILL.md(不需要 XSPEC)
|
|
44
|
-
│
|
|
45
|
-
└── 任何「是」→ Complex 路径
|
|
46
|
-
→ 先创建 XSPEC → 执行 /sdd
|
|
47
|
-
→ XSPEC 核准后回到这里
|
|
48
|
-
|
|
49
|
-
废弃 Skill?
|
|
50
|
-
→ 在 SKILL.md frontmatter 加入:
|
|
51
|
-
status: deprecated
|
|
52
|
-
deprecated_at: YYYY-MM-DD
|
|
53
|
-
deprecated_reason: "..."
|
|
54
|
-
superseded_by: "/new-skill" (如有适用)
|
|
55
|
-
→ 在 SKILL-CANDIDATES.md 中标记为已归档
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## 放置位置决策
|
|
59
|
-
|
|
60
|
-
创建 SKILL.md 前,先决定它应放在哪里:
|
|
61
|
-
|
|
62
|
-
| 条件 | 放置位置 |
|
|
63
|
-
|------|----------|
|
|
64
|
-
| 步骤引用项目特定路径(如 TECH-RADAR.md、DEC-*.md) | 项目:`{project}/.claude/skills/` |
|
|
65
|
-
| 步骤通用(无项目特定路径) | UDS:`skills/{name}/` + zh-CN 语系 |
|
|
66
|
-
|
|
67
|
-
## 工作流程
|
|
68
|
-
|
|
69
|
-
### 步骤 1 — 描述流程
|
|
70
|
-
|
|
71
|
-
记录重复的步骤序列:
|
|
72
|
-
- 哪些步骤?按什么顺序?
|
|
73
|
-
- 目前已手动执行几次?
|
|
74
|
-
- 会接触哪些工具或文件?
|
|
75
|
-
|
|
76
|
-
### 步骤 2 — 更新 SKILL-CANDIDATES.md
|
|
77
|
-
|
|
78
|
-
打开你项目的 `SKILL-CANDIDATES.md`(第一次使用时从 `templates/SKILL-CANDIDATES.md` 复制):
|
|
79
|
-
- 尚未记录 → 新增一行,填入当前次数
|
|
80
|
-
- 已记录 → 更新次数
|
|
81
|
-
- 次数达 3 → 标记触发 ✅,继续进行
|
|
82
|
-
|
|
83
|
-
### 步骤 3 — 选择路径(Simple / Complex / Delta)
|
|
84
|
-
|
|
85
|
-
回答 4 个判断问题,决定:Simple、Complex 或 Delta。
|
|
86
|
-
|
|
87
|
-
### 步骤 4a — Simple:填写 Skill Brief
|
|
88
|
-
|
|
89
|
-
使用 `templates/SKILL-BRIEF-TEMPLATE.md`:
|
|
90
|
-
- 触发情境(什么时候会用这个?)
|
|
91
|
-
- 核心步骤(3~7 个,有序)
|
|
92
|
-
- 验收条件(2~3 条)
|
|
93
|
-
- 不涵盖的部分(明确边界)
|
|
94
|
-
|
|
95
|
-
### 步骤 4b — Complex:创建 XSPEC
|
|
96
|
-
|
|
97
|
-
执行 `/sdd` 创建 XSPEC。XSPEC 核准后回到步骤 5。
|
|
98
|
-
|
|
99
|
-
### 步骤 4c — Delta:识别变更范围
|
|
100
|
-
|
|
101
|
-
识别现有 SKILL.md 中哪些区段需要变更。
|
|
102
|
-
在末尾加入 `## MODIFIED Requirements` 或 `## ADDED Requirements`。
|
|
103
|
-
|
|
104
|
-
### 步骤 5 — 创建 / 更新 SKILL.md
|
|
105
|
-
|
|
106
|
-
从 Brief 或 XSPEC 生成 SKILL.md:
|
|
107
|
-
- 验证 frontmatter:`name`、`scope`、`description`、`allowed-tools`
|
|
108
|
-
- UDS Skill:同时创建 zh-CN 语系版本
|
|
109
|
-
- 项目 Skill:放置于 `{project}/.claude/skills/{name}/SKILL.md`
|
|
110
|
-
|
|
111
|
-
### 步骤 6 — 更新 SKILL-CANDIDATES.md
|
|
112
|
-
|
|
113
|
-
标记候选行:触发 ✅,Skill 字段填入名称。
|
|
114
|
-
|
|
115
|
-
### 步骤 7 — Commit
|
|
116
|
-
|
|
117
|
-
```
|
|
118
|
-
feat(skills): Add /{skill-name} skill. 新增 /{skill-name} Skill。
|
|
119
|
-
|
|
120
|
-
{English description, 1-2 lines}
|
|
121
|
-
|
|
122
|
-
{Chinese description, 1-2 lines}
|
|
123
|
-
|
|
124
|
-
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## 输出检查清单
|
|
128
|
-
|
|
129
|
-
完成所有步骤后,验证:
|
|
130
|
-
|
|
131
|
-
- [ ] `SKILL-CANDIDATES.md` 已更新(触发 ✅,Skill 名称已填入)
|
|
132
|
-
- [ ] `SKILL.md` 已创建,含完整 frontmatter(`name`/`scope`/`description`/`allowed-tools`)
|
|
133
|
-
- [ ] Simple 路径:Skill Brief 已被引用或保存
|
|
134
|
-
- [ ] Complex 路径:XSPEC ID 已在 SKILL.md 标头注释中标注
|
|
135
|
-
- [ ] UDS Skill:zh-CN 语系文件已创建
|
|
136
|
-
- [ ] 废弃:frontmatter 中含 `status: deprecated`
|
|
137
|
-
- [ ] git commit 已完成
|
|
138
|
-
|
|
139
|
-
## 参考
|
|
140
|
-
|
|
141
|
-
- Skill Brief 模板:[templates/SKILL-BRIEF-TEMPLATE.md](../../../../templates/SKILL-BRIEF-TEMPLATE.md)
|
|
142
|
-
- 候选追踪:[templates/SKILL-CANDIDATES.md](../../../../templates/SKILL-CANDIDATES.md)(复制到你的项目)
|
|
143
|
-
- ADR 标准:[core/adr-standards.md](../../../../core/adr-standards.md)
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ac-coverage-assistant
|
|
3
|
-
source: ../../../../skills/ac-coverage-assistant/SKILL.md
|
|
4
|
-
source_version: 1.1.0
|
|
5
|
-
translation_version: 1.1.0
|
|
6
|
-
last_synced: 2026-03-26
|
|
7
|
-
status: current
|
|
8
|
-
description: "[UDS] 分析 AC 與測試的追蹤關係及覆蓋率"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# AC 覆蓋率助手
|
|
12
|
-
|
|
13
|
-
> **語言**: [English](../../../../skills/ac-coverage-assistant/SKILL.md) | 繁體中文
|
|
14
|
-
|
|
15
|
-
分析驗收條件(AC)與測試之間的追蹤關係,並產生覆蓋率報告。
|
|
16
|
-
|
|
17
|
-
## 與 `/coverage` 的區別
|
|
18
|
-
|
|
19
|
-
| 面向 | `/coverage` | `/ac-coverage` |
|
|
20
|
-
|------|-------------|----------------|
|
|
21
|
-
| **範圍** | 程式碼層級(行/分支/函式) | 需求層級(AC 對測試) |
|
|
22
|
-
| **輸入** | 原始碼 + 測試執行器 | SPEC 檔案 + 測試標註 |
|
|
23
|
-
| **問題** | 「有多少程式碼被測試?」 | 「哪些 AC 有測試?」 |
|
|
24
|
-
| **輸出** | 覆蓋率百分比 | 追蹤矩陣 + 缺口報告 |
|
|
25
|
-
|
|
26
|
-
## 工作流程
|
|
27
|
-
|
|
28
|
-
1. **解析 SPEC** — 從規格檔案中擷取 AC 定義(AC-1、AC-2、...)
|
|
29
|
-
2. **掃描測試** — 使用標準連結慣例搜尋測試檔案中的 `@AC` 和 `@SPEC` 標註
|
|
30
|
-
3. **建立矩陣** — 將每個 AC 對應到其測試參考(檔案、測試名稱、行號)
|
|
31
|
-
4. **分類狀態** — 將每個 AC 標記為 ✅ 已覆蓋、⚠️ 部分覆蓋 或 ❌ 未覆蓋
|
|
32
|
-
5. **計算覆蓋率** — 套用公式:`覆蓋率 % = (已覆蓋 + 部分 × 0.5) / 總計 × 100`
|
|
33
|
-
6. **產生報告** — 輸出標準化 Markdown 報告
|
|
34
|
-
|
|
35
|
-
## 標註慣例
|
|
36
|
-
|
|
37
|
-
測試必須使用標準標註來參考其來源 AC:
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
// TypeScript/JavaScript
|
|
41
|
-
describe('AC-1: 使用有效憑證登入', () => {
|
|
42
|
-
// @AC AC-1
|
|
43
|
-
// @SPEC SPEC-001
|
|
44
|
-
it('成功登入後應重導至儀表板', () => { ... });
|
|
45
|
-
});
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
```python
|
|
49
|
-
# Python
|
|
50
|
-
class TestAC1_UserLogin:
|
|
51
|
-
"""AC-1: 使用有效憑證登入
|
|
52
|
-
@AC AC-1
|
|
53
|
-
@SPEC SPEC-001
|
|
54
|
-
"""
|
|
55
|
-
def test_redirect_to_dashboard(self): ...
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
```gherkin
|
|
59
|
-
# BDD Feature
|
|
60
|
-
@SPEC-001 @AC-1
|
|
61
|
-
Scenario: 使用有效憑證登入
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## 覆蓋率門檻
|
|
65
|
-
|
|
66
|
-
| 門檻 | 預設值 | 強制執行 |
|
|
67
|
-
|------|--------|----------|
|
|
68
|
-
| **提交時** | 80% | 功能分支合併必要條件 |
|
|
69
|
-
| **發布時** | 100% | 正式發布必要條件 |
|
|
70
|
-
| **警告** | 60% | 觸發覆蓋率警告 |
|
|
71
|
-
|
|
72
|
-
門檻可透過 `--threshold` 參數或專案設定進行配置。
|
|
73
|
-
|
|
74
|
-
## 四層追溯(`--full` 模式)
|
|
75
|
-
|
|
76
|
-
使用 `--full` 標記將追溯從 2 層(AC→Test)擴展為 4 層。
|
|
77
|
-
|
|
78
|
-
### 追溯層次
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
第 0 層:需求 / 使用者故事(REQ)
|
|
82
|
-
↓ (定義)
|
|
83
|
-
第 1 層:驗收條件(AC)
|
|
84
|
-
↓ (@AC 標註)
|
|
85
|
-
第 2 層:測試案例
|
|
86
|
-
↓ (覆蓋)
|
|
87
|
-
第 3 層:原始碼(@implements)
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### 各層標註慣例
|
|
91
|
-
|
|
92
|
-
```typescript
|
|
93
|
-
// 第 3→1 層:程式碼參考 AC
|
|
94
|
-
// @implements AC-1, AC-2
|
|
95
|
-
function authenticate(user: string, pass: string) { ... }
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
```markdown
|
|
99
|
-
<!-- 第 0→1 層:SPEC 中的需求 -->
|
|
100
|
-
## 需求
|
|
101
|
-
### REQ-1: 使用者驗證
|
|
102
|
-
- AC-1: 給定有效憑證,當登入時,則通過驗證
|
|
103
|
-
- AC-2: 給定無效憑證,當登入時,則拒絕登入
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### 完整追溯報告
|
|
107
|
-
|
|
108
|
-
```markdown
|
|
109
|
-
## 四層追溯矩陣
|
|
110
|
-
|
|
111
|
-
| 需求 | AC | 測試 | 程式碼 | 狀態 |
|
|
112
|
-
|------|-----|------|--------|------|
|
|
113
|
-
| REQ-1 | AC-1 | auth.test.ts:15 | auth.ts:42 | ✅ 完整 |
|
|
114
|
-
| REQ-1 | AC-2 | auth.test.ts:30 | auth.ts:58 | ✅ 完整 |
|
|
115
|
-
| REQ-2 | AC-3 | — | dashboard.ts:10 | ⚠️ 無測試 |
|
|
116
|
-
| REQ-3 | AC-4 | export.test.ts:5 | — | ⚠️ 無程式碼 |
|
|
117
|
-
|
|
118
|
-
### 缺口摘要
|
|
119
|
-
- 第 0→1 層:2 個需求缺少 AC
|
|
120
|
-
- 第 1→2 層:1 個 AC 缺少測試
|
|
121
|
-
- 第 2→3 層:0 個測試缺少程式碼對應
|
|
122
|
-
- 第 3→1 層:3 個程式碼檔案缺少 AC 對應
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### 反向追溯
|
|
126
|
-
|
|
127
|
-
使用 `--trace-code <path>` 從程式碼反向追溯到需求。
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
/ac-coverage --trace-code src/auth.ts
|
|
131
|
-
# 輸出:
|
|
132
|
-
# src/auth.ts:42 → @implements AC-1 → REQ-1 (SPEC-AUTH-001)
|
|
133
|
-
# src/auth.ts:58 → @implements AC-2 → REQ-1 (SPEC-AUTH-001)
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
## 報告格式
|
|
137
|
-
|
|
138
|
-
產生的報告遵循 `core/acceptance-criteria-traceability.md` 中的標準格式:
|
|
139
|
-
|
|
140
|
-
```markdown
|
|
141
|
-
# AC 覆蓋率報告
|
|
142
|
-
|
|
143
|
-
**規格**: SPEC-001 — 功能名稱
|
|
144
|
-
**產生日期**: 2026-03-26
|
|
145
|
-
**覆蓋率**: 75% (6/8 AC)
|
|
146
|
-
|
|
147
|
-
## 摘要
|
|
148
|
-
|
|
149
|
-
| 狀態 | 數量 | 百分比 |
|
|
150
|
-
|------|------|--------|
|
|
151
|
-
| ✅ 已覆蓋 | 5 | 62.5% |
|
|
152
|
-
| ⚠️ 部分覆蓋 | 2 | 25.0% |
|
|
153
|
-
| ❌ 未覆蓋 | 1 | 12.5% |
|
|
154
|
-
|
|
155
|
-
## 追蹤矩陣
|
|
156
|
-
|
|
157
|
-
| AC-ID | 描述 | 狀態 | 測試參考 |
|
|
158
|
-
|-------|------|------|----------|
|
|
159
|
-
| AC-1 | 使用有效憑證登入 | ✅ | auth.test.ts:15 |
|
|
160
|
-
| AC-2 | 拒絕無效憑證 | ✅ | auth.test.ts:32 |
|
|
161
|
-
| ... | ... | ... | ... |
|
|
162
|
-
|
|
163
|
-
## 缺口
|
|
164
|
-
|
|
165
|
-
- **AC-8**: 社群登入 — 受 OAuth 沙盒環境限制
|
|
166
|
-
|
|
167
|
-
## 待辦事項
|
|
168
|
-
|
|
169
|
-
1. [ ] AC-8: 建立 OAuth 沙盒環境(預計完成:待定)
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## 使用方式
|
|
173
|
-
|
|
174
|
-
- `/ac-coverage` - 分析當前專案的 AC 覆蓋率
|
|
175
|
-
- `/ac-coverage path/to/SPEC.md` - 分析特定規格檔案的 AC 覆蓋率
|
|
176
|
-
- `/ac-coverage --full` - 執行四層完整追溯分析
|
|
177
|
-
- `/ac-coverage --trace-code <path>` - 從程式碼反向追溯到需求
|
|
178
|
-
|
|
179
|
-
## 下一步引導
|
|
180
|
-
|
|
181
|
-
`/ac-coverage` 完成後,AI 助手應建議:
|
|
182
|
-
|
|
183
|
-
> **AC 覆蓋率分析完成。建議下一步:**
|
|
184
|
-
> - 覆蓋率達標 → 執行 `/checkin` 通過品質關卡
|
|
185
|
-
> - 有未覆蓋 AC → 執行 `/derive-tdd` 補齊測試 ⭐ **推薦**
|
|
186
|
-
> - 有部分覆蓋 AC → 檢查缺少的邊界情況
|
|
187
|
-
> - 需要完整追溯 → 執行 `/ac-coverage --full`
|
|
188
|
-
> - 反向追溯 → 執行 `/ac-coverage --trace-code <path>`
|
|
189
|
-
|
|
190
|
-
## 參考
|
|
191
|
-
|
|
192
|
-
- 核心規範:[acceptance-criteria-traceability.md](../../../../core/acceptance-criteria-traceability.md)
|
|
193
|
-
- SPEC:[SPEC-AC-COVERAGE.md](../../../../docs/specs/skills/SPEC-AC-COVERAGE.md)
|
|
194
|
-
- 相關:[test-coverage-assistant](../test-coverage-assistant/SKILL.md)(程式碼層級覆蓋率)
|
|
195
|
-
- 相關:[checkin-assistant](../checkin-assistant/SKILL.md)(品質關卡)
|