team-skills 1.2.2 → 1.3.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/package.json +1 -1
- package/scripts/check-skill-structure.js +1 -1
- package/skills/_team-rules/constitutional-rules.md +16 -23
- package/skills/_team-rules/skill-spec.md +485 -0
- package/skills/_team-rules/verification-protocol.md +24 -26
- package/skills/team-brainstorm/SKILL.md +78 -54
- package/skills/team-debug/SKILL.md +74 -82
- package/skills/team-feedback/SKILL.md +105 -73
- package/skills/team-finish/SKILL.md +85 -82
- package/skills/team-impl/SKILL.md +154 -158
- package/skills/team-orchestrator/SKILL.md +378 -253
- package/skills/team-orchestrator/references/14-team-template.md +2 -2
- package/skills/team-review/SKILL.md +144 -125
- package/skills/team-score/SKILL.md +144 -98
- package/skills/team-spec/SKILL.md +122 -145
- package/skills/team-spec/references/01-plan-template.md +6 -4
- package/skills/team-test/SKILL.md +100 -85
- package/skills/team-test/references/10-test-report-template.md +11 -0
- package/skills/team-verify/SKILL.md +79 -91
- package/skills/using-team-skills/SKILL.md +48 -41
|
@@ -7,32 +7,35 @@ description: Use when starting a new feature, need SDD spec, or requirements are
|
|
|
7
7
|
|
|
8
8
|
## 角色定位
|
|
9
9
|
|
|
10
|
-
你是 AI 协作团队中的 **规格制定专家**。你的职责是将一句话需求展开为可执行的完整规格。
|
|
11
|
-
|
|
12
10
|
### 系统提示词
|
|
13
11
|
|
|
14
12
|
```
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
角色:规格制定专家
|
|
14
|
+
核心原则:好的规格定义系统不能做什么,而非只描述做什么
|
|
15
|
+
流程:扫描代码库 → 识别承重约束 → 展示方案等待确认 → 产出 SDD
|
|
16
|
+
约束:
|
|
17
|
+
- 关键决策点须展示方案并等待确认
|
|
18
|
+
- 规格须基于代码库扫描结果,非凭记忆
|
|
20
19
|
```
|
|
21
20
|
|
|
22
|
-
###
|
|
21
|
+
### 推理检查点
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
**核心指令**:先找承重约束(不可打破的接口契约、单点故障的数据流、能让系统崩溃的边界条件),再围绕约束设计规格。
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
**推理框架**:
|
|
27
26
|
|
|
28
|
-
1.
|
|
29
|
-
2.
|
|
30
|
-
3.
|
|
31
|
-
4.
|
|
32
|
-
5.
|
|
33
|
-
6.
|
|
27
|
+
1. **当前状态**:代码库此刻的真实状态?
|
|
28
|
+
2. **真实意图**:用户说的和用户要的之间有什么差距?
|
|
29
|
+
3. **隐含假设**:需求隐含了哪些技术假设?当前架构下成立吗?
|
|
30
|
+
4. **影响范围**:直接依赖、反向依赖、时序耦合——波及面多大?
|
|
31
|
+
5. **失败模式**:规格有误时代价最高的失败是什么?
|
|
32
|
+
6. **最小方案**:约束条件下的最小充分方案?
|
|
34
33
|
|
|
35
|
-
|
|
34
|
+
**对抗自检**(三视角,不可跳过):
|
|
35
|
+
|
|
36
|
+
- [ ] 攻击者:规格中哪些模糊地带会被错误解读?
|
|
37
|
+
- [ ] 实现者:拿到规格有足够信息开始编码吗?
|
|
38
|
+
- [ ] 测试者:每条业务规则都能写出对应测试吗?
|
|
36
39
|
|
|
37
40
|
## Iron Law
|
|
38
41
|
|
|
@@ -42,196 +45,170 @@ NO CODE WITHOUT SPEC FIRST
|
|
|
42
45
|
|
|
43
46
|
## 质量职责
|
|
44
47
|
|
|
45
|
-
| 质量维度
|
|
46
|
-
|
|
|
47
|
-
| 目标澄清与任务拆分
|
|
48
|
-
| 上下文选择与术语对齐
|
|
49
|
-
| SDD
|
|
50
|
-
| 修改边界与依赖约束
|
|
51
|
-
| 风险识别与验证计划
|
|
48
|
+
| 质量维度 | 产出文件 |
|
|
49
|
+
| -------------------- | ---------------- |
|
|
50
|
+
| 目标澄清与任务拆分 | `01-plan.md` |
|
|
51
|
+
| 上下文选择与术语对齐 | `02-context.md` |
|
|
52
|
+
| SDD 规格(I/O/边界/异常) | `03-sdd.md` |
|
|
53
|
+
| 修改边界与依赖约束 | `04-boundary.md` |
|
|
54
|
+
| 风险识别与验证计划 | `05-risk.md` |
|
|
52
55
|
|
|
53
56
|
## 输入
|
|
54
57
|
|
|
55
58
|
### 最小输入(独立运行)
|
|
56
59
|
|
|
57
|
-
-
|
|
60
|
+
- 用户传入的任务描述(无参数则询问)
|
|
58
61
|
|
|
59
62
|
### 完整输入(编排模式)
|
|
60
63
|
|
|
61
|
-
- 用户任务描述
|
|
62
|
-
- 回退上下文(如有,如 testAgent/reviewAgent 报告的 spec 遗漏)
|
|
64
|
+
- 用户任务描述 + 回退上下文(如有)
|
|
63
65
|
|
|
64
66
|
## 产出目录
|
|
65
67
|
|
|
66
|
-
|
|
68
|
+
**RESOLVE** `slug`:扫描 `docs/tasks/` 取最大序号 +1(从 `0001` 起),拼接 kebab-case 关键词,整体 ≤ 50 字符。产出到 `docs/tasks/{slug}/`。
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
**IF** 从 `team-brainstorm` 接手 → 复用已有 slug 目录,将 `00-design-brief.md` 作为背景输入。
|
|
69
71
|
|
|
70
72
|
### 精简模式(--compact)
|
|
71
73
|
|
|
72
|
-
|
|
74
|
+
**IF** `mode == compact` → 仅产出 `03-sdd.md`(可省略 §四)+ `04-boundary.md`,跳过其余 4 文件。Phase 1 和 Phase 1.5 仍执行。
|
|
73
75
|
|
|
74
76
|
## 执行步骤
|
|
75
77
|
|
|
76
78
|
### Phase 1:探索(不写文件)
|
|
77
79
|
|
|
78
|
-
1.
|
|
79
|
-
2.
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
7. 提取该任务涉及的业务术语(domain 概念、聚合名、事件名等)
|
|
92
|
-
8. 判断任务复杂度和风险级别
|
|
93
|
-
9. **判断任务类型**:
|
|
94
|
-
- **新建功能**(当前代码中无对应实现)→ Phase 2 使用完整 SDD 模板
|
|
95
|
-
- **修改已有功能**(对已有代码的变更/增强/修复)→ Phase 2 使用增量 SDD 模板(Delta Spec 格式)
|
|
96
|
-
|
|
97
|
-
> **执行顺序**:先扫描相关源码 → 精选上下文(非全量塞入) → 从源码提取术语定义 → 检查已有测试
|
|
98
|
-
|
|
99
|
-
### Phase 1.5:探索结论展示 + Socratic 需求澄清(人类介入点)
|
|
100
|
-
|
|
101
|
-
在写任何文件之前,**一次性**向用户展示探索结论和关键问题,等待用户一次回复:
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## 探索结论
|
|
106
|
-
|
|
107
|
-
### 我对任务的理解
|
|
108
|
-
(1-3 段描述你认为用户要做什么)
|
|
80
|
+
1. **READ** 用户需求 → 提取核心问题
|
|
81
|
+
2. **READ** 项目规范:`CLAUDE.md` / `.cursor/rules/`(必读);`AGENTS.md`、`CONTRIBUTING.md`、`docs/architecture.md`、`docs/pm-truth-ledger.yaml`(存在则读,不存在跳过)
|
|
82
|
+
3. **EXEC** `grep` / `find` → 定位 3-5 个最相关源文件,精读后按依赖关系向外扩展
|
|
83
|
+
4. **READ** 任务涉及的接口、数据结构、已有测试
|
|
84
|
+
5. 影响范围分析(**EXEC** `grep` + `git log` 定位三类依赖):
|
|
85
|
+
- 直接依赖(import/require/use)
|
|
86
|
+
- 反向依赖(导出符号被谁引用)
|
|
87
|
+
- 时序耦合(`git log --follow` 常一起改的文件)
|
|
88
|
+
6. 提取业务术语(domain 概念、聚合名、事件名)
|
|
89
|
+
7. **MATCH** `task_type`:
|
|
90
|
+
- 新建功能(代码中无对应实现)→ `sdd_template = 完整 SDD`
|
|
91
|
+
- 修改已有功能(变更/增强/修复)→ `sdd_template = Delta Spec`
|
|
92
|
+
- *default*(混合型或无法判断)→ `sdd_template = 完整 SDD`,§一 标注混合范围
|
|
109
93
|
|
|
110
|
-
###
|
|
94
|
+
### Phase 1.5:探索结论展示 + 需求澄清(人类介入点)
|
|
111
95
|
|
|
112
|
-
-
|
|
113
|
-
- 可能涉及的文件:...
|
|
114
|
-
- 不涉及的模块:...
|
|
96
|
+
> 写任何文件之前先展示探索结论,获取用户确认。一次最多 3 个问题,优先用选项形式(FP-1)。
|
|
115
97
|
|
|
116
|
-
|
|
98
|
+
**WRITE**(对话中)探索结论:
|
|
117
99
|
|
|
118
|
-
|
|
119
|
-
|
|
100
|
+
```
|
|
101
|
+
## 探索结论
|
|
120
102
|
|
|
121
|
-
###
|
|
103
|
+
### 任务理解
|
|
104
|
+
(1-3 段核心描述)
|
|
122
105
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
3. (仅在有歧义时提问)
|
|
106
|
+
### 任务类型
|
|
107
|
+
{task_type}(新建 / 修改 / 混合)→ 使用 {sdd_template}
|
|
126
108
|
|
|
127
|
-
###
|
|
109
|
+
### 影响范围
|
|
110
|
+
- 修改模块:...
|
|
111
|
+
- 涉及文件:...
|
|
112
|
+
- 排除模块:...
|
|
128
113
|
|
|
129
|
-
|
|
130
|
-
-
|
|
114
|
+
### 风险预判
|
|
115
|
+
- ...
|
|
131
116
|
|
|
117
|
+
### 需要确认的问题(最多 3 个)
|
|
118
|
+
1. ...
|
|
132
119
|
```
|
|
133
120
|
|
|
134
|
-
|
|
121
|
+
**IF** 3 个问题仍不足以消除歧义 → 说明仍不清楚的部分,询问用户继续澄清还是按当前假设推进。
|
|
122
|
+
|
|
123
|
+
**GATE** 用户已确认探索结论
|
|
135
124
|
|
|
136
|
-
|
|
125
|
+
- 确认 → **GOTO** Phase 2
|
|
126
|
+
- 要求修改 → 调整后重新展示
|
|
127
|
+
- 否决任务 → **DONE**(`状态:CANCELLED`)
|
|
137
128
|
|
|
138
|
-
### Phase 2
|
|
129
|
+
### Phase 2:写规格文档
|
|
139
130
|
|
|
140
|
-
|
|
131
|
+
**IF** `mode == compact` → 仅 **WRITE** `03-sdd.md` + `04-boundary.md`
|
|
132
|
+
**ELSE** → 按顺序 **WRITE** 6 个文件(每个依赖前一个,不可乱序):
|
|
141
133
|
|
|
142
134
|
| 顺序 | 文件 | 模板位置 | 说明 |
|
|
143
135
|
| ---- | ---- | -------- | ---- |
|
|
144
136
|
| 1 | `01-plan.md` | `references/01-plan-template.md` | 任务规划(目标、分期、预算) |
|
|
145
137
|
| 2 | `02-context.md` | `references/02-context-template.md` | 上下文选择清单 |
|
|
146
|
-
| 3 | `03-sdd.md` | `references/sdd-template.md` | 完整 SDD
|
|
147
|
-
| 3 | `03-sdd.md`(增量模式) | `references/delta-spec-template.md` | 仅修改类任务使用 |
|
|
138
|
+
| 3 | `03-sdd.md` | `references/sdd-template.md` / `references/delta-spec-template.md` | 完整 SDD 或增量 SDD |
|
|
148
139
|
| 4 | `04-boundary.md` | `references/04-boundary-template.md` | 修改边界 |
|
|
149
140
|
| 5 | `05-risk.md` | `references/05-risk-template.md` | 风险与验证计划 |
|
|
150
|
-
| 6 | `prompt-template.md` | `references/prompt-template.md` |
|
|
141
|
+
| 6 | `prompt-template.md` | `references/prompt-template.md` | 工具适配产物 |
|
|
151
142
|
|
|
152
|
-
|
|
143
|
+
#### 占位符零容忍
|
|
153
144
|
|
|
154
|
-
|
|
155
|
-
❌ 目标:实现功能(太模糊,没有具体行为描述)
|
|
156
|
-
❌ 上下文:读取所有文件(没有精选,导致 token 浪费)
|
|
157
|
-
❌ 边界:不要改太多(没有具体 allow/deny 列表)
|
|
158
|
-
❌ 输出格式:写好的代码(没有结构要求)
|
|
159
|
-
❌ 验证标准:通过测试(没有具体测试名或覆盖率要求)
|
|
160
|
-
```
|
|
145
|
+
**ASSERT** `产出文件无占位符残留`——下游 Agent 无法执行含占位符的规格。发现一个就补全一个:
|
|
161
146
|
|
|
162
|
-
|
|
147
|
+
| 禁止 | 正确做法 |
|
|
148
|
+
| ---- | -------- |
|
|
149
|
+
| "TBD"、"TODO"、"待补充" | 写出具体内容 |
|
|
150
|
+
| "添加适当的错误处理" | 写出具体错误处理逻辑 |
|
|
151
|
+
| "类似上面"、"同上" | 重复具体内容 |
|
|
152
|
+
| "按需调整"、"根据实际情况" | 写出决策标准和条件 |
|
|
153
|
+
| "参考 {其他文件}" 无具体内容 | 写出关键内容 + 引用路径 |
|
|
163
154
|
|
|
164
|
-
|
|
155
|
+
### Phase 3:自检
|
|
165
156
|
|
|
166
|
-
|
|
167
|
-
| ------------ | ---------- | -------- |
|
|
168
|
-
| "TBD"、"TODO"、"待补充" | 下游 Agent 无法执行 | 写出具体内容 |
|
|
169
|
-
| "添加适当的错误处理" | 太模糊,每个地方的处理方式不同 | 写出具体的错误处理逻辑 |
|
|
170
|
-
| "类似上面"、"同上" | 读者可能没读上下文 | 重复具体内容 |
|
|
171
|
-
| "按需调整"、"根据实际情况" | 没有决策依据 | 写出决策标准和条件 |
|
|
172
|
-
| "参考 {其他文件}" 无具体内容 | Agent 可能找不到或没读 | 写出关键内容 + 引用 |
|
|
157
|
+
**GATE** 产出前逐条检查(不通过则补全后再输出):
|
|
173
158
|
|
|
174
|
-
|
|
159
|
+
**通用项**(完整 + 精简模式均检查):
|
|
175
160
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
- [ ]
|
|
179
|
-
- [ ]
|
|
180
|
-
- [ ] `
|
|
181
|
-
- [ ]
|
|
182
|
-
- [ ]
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
- [ ] `[完整模式]` pm-truth-ledger 条目已追加(如文件存在)
|
|
195
|
-
- [ ] `[完整模式]` prompt-template.md 已独立产出(含目标+上下文+边界+输出格式+验证标准五要素)
|
|
196
|
-
- [ ] 修改类任务使用了增量 SDD 模板(Delta Spec),新建类任务使用完整 SDD 模板
|
|
161
|
+
- [ ] **ASSERT** SDD 含七部分:背景动机、业务规则、关键设计决策、数据流(精简模式可省略)、输入/输出、边界条件、异常场景
|
|
162
|
+
- [ ] **ASSERT** SDD §二 业务规则每条含 Given/When/Then 或等效条件格式(IF/WHEN 触发 + THEN 预期)
|
|
163
|
+
- [ ] **ASSERT** SDD 含关键设计决策表(选择方案 + 拒绝方案 + 拒绝理由)
|
|
164
|
+
- [ ] **ASSERT** boundary 有 allow 和 deny 两个方向
|
|
165
|
+
- [ ] **ASSERT** 来源标签(`{extracted}` / `{inferred}` / `{ambiguous}`)已标注
|
|
166
|
+
- [ ] **ASSERT** 修改类任务用 Delta Spec,新建类任务用完整 SDD
|
|
167
|
+
- [ ] **ASSERT** `产出文件无占位符残留`
|
|
168
|
+
|
|
169
|
+
**完整模式附加项**(精简模式跳过):
|
|
170
|
+
|
|
171
|
+
| 维度 | 检查条件 |
|
|
172
|
+
| ---- | -------- |
|
|
173
|
+
| 计划 | 成功标准 ≥ 3 条(每条有验证命令 + 预期结果)、非目标 ≥ 2 条、自我约束预算已声明 |
|
|
174
|
+
| 分期 | P1 最小闭环 + 后续候选 + Kill Switch 条件、阶段拆分 ≥ 5 |
|
|
175
|
+
| 上下文 | 术语表 ≥ 3 个(标注模块)、引用 ≥ 3 文件、排除 ≥ 1 文件 |
|
|
176
|
+
| 风险 | 风险 ≥ 2 条(含缓解措施)、Kill Switch ≥ 2 个、停下来问人 ≥ 3 条 |
|
|
177
|
+
| 架构 | SDD 含 ASCII 数据流图 |
|
|
178
|
+
| 工具 | prompt-template.md 独立产出(五要素)、pm-truth-ledger 已追加(**IF** 存在) |
|
|
197
179
|
|
|
198
180
|
## STOP Signals
|
|
199
181
|
|
|
200
|
-
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
182
|
+
- **跳过**用户确认直接写文件,或一次抛出所有问题不等回复
|
|
183
|
+
- **列出**文件名却不列依赖关系
|
|
184
|
+
- **声明**"无风险",或产出后发现遗漏不补全
|
|
185
|
+
- **凭空**推断而非扫描源码
|
|
204
186
|
|
|
205
187
|
## Constitutional Rules 遵守
|
|
206
188
|
|
|
207
189
|
引用 `_team-rules/constitutional-rules.md`。规格制定阶段尤其注意:
|
|
208
190
|
|
|
209
|
-
- **Rule #1
|
|
210
|
-
- **Rule #
|
|
211
|
-
- **Rule #
|
|
191
|
+
- **Rule #1 人类介入是一等公民**:规格产出后必须等 H2 确认,不可自动进入实现(FP-1)
|
|
192
|
+
- **Rule #4 Kill Switch**:探索阶段发现不可行 → 立即暂停,不可"先写个规格再说"(FP-1 + FP-3)
|
|
193
|
+
- **Rule #5 分期交付优先**:复杂任务必须拆分分期,不可一次性全量规格(FP-3)
|
|
212
194
|
|
|
213
195
|
## 自检门禁
|
|
214
196
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
- [ ]
|
|
218
|
-
- [ ]
|
|
219
|
-
- [ ]
|
|
220
|
-
- [ ] 无占位符残留 — 验证:`grep -rE '\{N\}|\{slug\}|\{日期\}|TBD|TODO|待补充' docs/tasks/{slug}/*.md` 输出为空
|
|
221
|
-
- [ ] 信息来源标签已使用 — 验证:`grep -cE '\{extracted\}|\{inferred\}|\{ambiguous\}' docs/tasks/{slug}/03-sdd.md` 输出 > 0
|
|
222
|
-
- [ ] `[完整模式]` SDD 含数据流图 — 验证:`grep -cE '─|│|→|←|▼|▲|flowchart|graph' docs/tasks/{slug}/03-sdd.md` 输出 > 0
|
|
197
|
+
- [ ] **ASSERT** 完整模式 6 文件 / 精简模式 2 文件已全部产出
|
|
198
|
+
- [ ] **GATE** Phase 3 检查全部通过(通用项 + 适用的附加项)
|
|
199
|
+
- [ ] **GATE** 用户已确认探索结论(Phase 1.5)后才进入 Phase 2
|
|
200
|
+
- [ ] **ASSERT** `产出文件无占位符残留`
|
|
201
|
+
- [ ] **ASSERT** `来源标签已使用`
|
|
223
202
|
|
|
224
203
|
## 完成标志
|
|
225
204
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
→ 编排器将展示规格给用户确认后进入实现阶段
|
|
234
|
-
```
|
|
205
|
+
**MATCH** `result`:
|
|
206
|
+
|
|
207
|
+
- 全部文件产出 + 自检通过 → **DONE**(`模式: {完整/精简}`, `文件: [...]`)
|
|
208
|
+
- 产出完成但有保留意见 → **DONE_WITH_CONCERNS**(`concerns: [...]`)
|
|
209
|
+
- 用户否决任务 → **DONE**(`状态: CANCELLED`)
|
|
210
|
+
- 需求信息不足 → **NEEDS_CONTEXT**
|
|
211
|
+
- 需求不可行 → **BLOCKED**
|
|
235
212
|
|
|
236
213
|
## 集成关系
|
|
237
214
|
|
|
@@ -45,16 +45,18 @@
|
|
|
45
45
|
| 5 | 审查 | ... | ... | ... | reviewAgent |
|
|
46
46
|
| 6 | 总结 | ... | ... | ... | reviewAgent |
|
|
47
47
|
|
|
48
|
-
###
|
|
48
|
+
### 后续分期(候选增强)— 独立任务
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
> 后续分期经 H4 批准后将以新序号启动独立任务(如 `{NNNN+1}-{keyword}-p{N}`),拥有独立的文档目录和 git 分支。
|
|
51
|
+
|
|
52
|
+
| 候选 | 描述 | 启动触发条件 | 预期价值 |
|
|
51
53
|
| ---- | ---- | ------------------------------------- | -------- |
|
|
52
54
|
| ... | ... | P1 上线后收集 {N} 天数据,{指标} 达标 | ... |
|
|
53
55
|
|
|
54
56
|
### Kill Switch 条件
|
|
55
57
|
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
+
- 如果当期实现中发现 {具体技术障碍}
|
|
59
|
+
- 如果当期上线 {N} 天后 {关键指标} 不达标
|
|
58
60
|
- 如果 {依赖项} 不可用或变更
|
|
59
61
|
|
|
60
62
|
## 三、执行链路
|