team-skills 1.2.0 → 1.2.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/README.md +62 -23
- package/package.json +1 -1
- package/skills/team-finish/SKILL.md +10 -1
- package/skills/team-orchestrator/SKILL.md +56 -9
package/README.md
CHANGED
|
@@ -180,22 +180,26 @@ npx team-skills@latest update
|
|
|
180
180
|
flowchart TD
|
|
181
181
|
classDef human fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#1565c0;
|
|
182
182
|
classDef agent fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px,color:#4a148c;
|
|
183
|
+
classDef git fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1b5e20;
|
|
183
184
|
classDef kill fill:#ffebee,stroke:#c62828,stroke-width:2px,stroke-dasharray: 5 5,color:#b71c1c;
|
|
184
185
|
|
|
185
186
|
START(("用户提出需求"))
|
|
186
187
|
H1["H1: 人类确认目标理解<br/>← 人类介入点 #1"]:::human
|
|
188
|
+
BRANCH["创建功能分支<br/>{slug} 分支"]:::git
|
|
187
189
|
SPEC["specAgent — 规格制定<br/>产出 01-05 + prompt-template<br/>Socratic 提问 → SDD 规格"]:::agent
|
|
188
190
|
H2["H2: 人类确认规格方案<br/>← 人类介入点 #2"]:::human
|
|
189
191
|
IMPL["implAgent — TDD 实现<br/>红-绿-重构循环<br/>增量提交 + 决策记录"]:::agent
|
|
190
192
|
TEST["testAgent — 四维测试<br/>功能/边界/异常/代码分支"]:::agent
|
|
191
193
|
REVIEW["reviewAgent — 五维审查<br/>资产沉淀 + 复盘"]:::agent
|
|
194
|
+
FINISH["team-finish — 分支完成<br/>merge / PR / keep"]:::git
|
|
192
195
|
H4["H4: 人类验收交付物<br/>← 人类介入点 #4"]:::human
|
|
193
196
|
H3("H3: 人类介入 #3<br/>阻塞 / 决策 / Kill Switch"):::human
|
|
194
197
|
|
|
195
198
|
START --> H1
|
|
196
|
-
H1 -->|确认|
|
|
199
|
+
H1 -->|确认| BRANCH
|
|
197
200
|
H1 -->|不确认| START
|
|
198
201
|
|
|
202
|
+
BRANCH --> SPEC
|
|
199
203
|
SPEC --> H2
|
|
200
204
|
H2 -->|确认| IMPL
|
|
201
205
|
H2 -->|不确认| SPEC
|
|
@@ -208,16 +212,18 @@ flowchart TD
|
|
|
208
212
|
TEST -->|spec 遗漏| SPEC
|
|
209
213
|
TEST -.->|不可行| H3
|
|
210
214
|
|
|
211
|
-
REVIEW -->|无问题|
|
|
215
|
+
REVIEW -->|无问题| FINISH
|
|
212
216
|
REVIEW -->|P0/P1| IMPL
|
|
213
217
|
REVIEW -->|spec 遗漏| SPEC
|
|
214
218
|
REVIEW -.->|不可行| H3
|
|
215
219
|
|
|
220
|
+
FINISH --> H4
|
|
216
221
|
H4 -->|验收通过| DONE(("完成 ✅"))
|
|
217
222
|
H4 -->|不通过| IMPL
|
|
218
223
|
```
|
|
219
224
|
|
|
220
225
|
> H3 可在**任何阶段**触发,包括:发现任务不可行(Kill Switch)、回退超限、或需要人类决策的复杂问题。
|
|
226
|
+
> 功能分支在 H1 确认后自动创建,在 Review 通过后由 team-finish 处理(merge/PR/keep/discard)。
|
|
221
227
|
|
|
222
228
|
---
|
|
223
229
|
|
|
@@ -272,7 +278,7 @@ graph TD
|
|
|
272
278
|
| `team-impl` | TDD 红-绿-重构循环实现 | "规格有了,开始写代码" |
|
|
273
279
|
| `team-test` | 四维测试矩阵 + 补充测试 | "测试覆盖够吗?" |
|
|
274
280
|
| `team-review` | 五维审查 + 资产沉淀 + 复盘 | "代码质量如何?" |
|
|
275
|
-
| `team-orchestrator` |
|
|
281
|
+
| `team-orchestrator` | 有向图流程编排 + 分支管理,4 个人类介入点 | "我要完整交付流水线" |
|
|
276
282
|
| `team-verify` | 5 步验证门禁,杜绝虚假通过 | "测试真的过了吗?" |
|
|
277
283
|
| `team-debug` | 四阶段根因分析 + 修复 | "这个 bug 怎么回事?" |
|
|
278
284
|
| `team-feedback` | 先验证再实施,非表演性同意 | "Review 反馈来了" |
|
|
@@ -283,30 +289,63 @@ graph TD
|
|
|
283
289
|
|
|
284
290
|
---
|
|
285
291
|
|
|
286
|
-
## 📋
|
|
292
|
+
## 📋 结构化文档体系
|
|
293
|
+
|
|
294
|
+
团队协作过程中产出的所有文档,统一存放在 `docs/` 目录下:
|
|
287
295
|
|
|
288
296
|
```
|
|
289
|
-
docs/
|
|
290
|
-
├──
|
|
291
|
-
├──
|
|
292
|
-
|
|
293
|
-
├──
|
|
294
|
-
├──
|
|
295
|
-
├──
|
|
296
|
-
├──
|
|
297
|
-
├──
|
|
298
|
-
├──
|
|
299
|
-
├──
|
|
300
|
-
├──
|
|
301
|
-
├──
|
|
302
|
-
├──
|
|
303
|
-
├──
|
|
304
|
-
├──
|
|
305
|
-
├──
|
|
306
|
-
├──
|
|
307
|
-
|
|
297
|
+
docs/
|
|
298
|
+
├── tasks/ # 任务文档(核心目录)
|
|
299
|
+
│ ├── progress.md # 进度账本 — 所有任务的状态追踪表
|
|
300
|
+
│ │
|
|
301
|
+
│ ├── {NNNN}-{keyword}/ # 单个任务目录(最多产出 18 个结构化文档)
|
|
302
|
+
│ │ ├── 00-design-brief.md # 设计概要(team-brainstorm 产出,可选)
|
|
303
|
+
│ │ ├── 01-plan.md # 任务规划(目标 + 分期 + 预算)
|
|
304
|
+
│ │ ├── 02-context.md # 上下文选择(术语 + 引用 + 排除)
|
|
305
|
+
│ │ ├── 03-sdd.md # SDD 规格(七部分完整)
|
|
306
|
+
│ │ ├── 04-boundary.md # 修改边界(allow + deny)
|
|
307
|
+
│ │ ├── 05-risk.md # 风险 + 验证计划
|
|
308
|
+
│ │ ├── prompt-template.md # AI 任务提示词模板
|
|
309
|
+
│ │ ├── 06-tdd-log.md # TDD 日志(红-绿-重构循环)
|
|
310
|
+
│ │ ├── 07-prompt-log.md # Prompt 工程记录(五要素 + 纠偏)
|
|
311
|
+
│ │ ├── 08-ai-decisions.md # AI 决策记录(选择 + 拒绝 + 理由)
|
|
312
|
+
│ │ ├── 09-test-matrix.md # 四维测试矩阵
|
|
313
|
+
│ │ ├── 10-test-report.md # 测试运行报告(证据链)
|
|
314
|
+
│ │ ├── 11-review.md # 代码审查报告(五维度 + 合规)
|
|
315
|
+
│ │ ├── 12-asset-update.md # 资产更新记录(消费方契约)
|
|
316
|
+
│ │ ├── 13-retrospective.md # 个人复盘(新规则沉淀)
|
|
317
|
+
│ │ ├── task-rules.md # 任务级规则
|
|
318
|
+
│ │ ├── 14-team.md # 团队协作记录
|
|
319
|
+
│ │ └── 15-brief.md # 答辩提纲
|
|
320
|
+
│ │
|
|
321
|
+
│ └── ... # 更多任务目录
|
|
322
|
+
│
|
|
323
|
+
├── review-checklist.md # Review 检查清单(项目级,跨任务累积)
|
|
324
|
+
├── delivery-checklist.md # 交付检查清单(项目级,跨任务累积)
|
|
325
|
+
└── specs/ # SDD 归档(任务验收通过后存档)
|
|
308
326
|
```
|
|
309
327
|
|
|
328
|
+
### 文档职责分层
|
|
329
|
+
|
|
330
|
+
| 层级 | 目录 | 生命周期 | 说明 |
|
|
331
|
+
|------|------|----------|------|
|
|
332
|
+
| **进度追踪** | `tasks/progress.md` | 持续更新 | 防止跨 session 任务重复派发,记录所有任务状态 |
|
|
333
|
+
| **任务文档** | `tasks/{slug}/` | 随任务创建 | 每个任务独立目录,slug 格式 `{NNNN}-{keyword}` |
|
|
334
|
+
| **项目级清单** | `review-checklist.md` | 跨任务累积 | 每次 Review 发现新检查项后追加,持续积累 |
|
|
335
|
+
| **项目级清单** | `delivery-checklist.md` | 跨任务累积 | 每次交付发现新检查项后追加,持续积累 |
|
|
336
|
+
| **规格归档** | `specs/` | 验收后存档 | SDD 快照归档,供后续任务参考 |
|
|
337
|
+
|
|
338
|
+
### 任务文档产出阶段
|
|
339
|
+
|
|
340
|
+
| 阶段 | 产出文件 | 负责 Skill |
|
|
341
|
+
|------|----------|------------|
|
|
342
|
+
| 头脑风暴 | `00-design-brief.md` | `team-brainstorm` |
|
|
343
|
+
| 规格设计 | `01-plan.md` ~ `05-risk.md` + `prompt-template.md` | `team-spec` |
|
|
344
|
+
| TDD 实现 | `06-tdd-log.md` ~ `08-ai-decisions.md` | `team-impl` |
|
|
345
|
+
| 测试审计 | `09-test-matrix.md` ~ `10-test-report.md` | `team-test` |
|
|
346
|
+
| 代码审查 | `11-review.md` ~ `13-retrospective.md` + `task-rules.md` | `team-review` |
|
|
347
|
+
| 团队交付 | `14-team.md` + `15-brief.md` | `team-orchestrator` |
|
|
348
|
+
|
|
310
349
|
---
|
|
311
350
|
|
|
312
351
|
## 🔧 兼容性
|
package/package.json
CHANGED
|
@@ -9,6 +9,8 @@ description: Use when implementation is complete, all tests pass, and you need t
|
|
|
9
9
|
|
|
10
10
|
你是分支完成处理者。你的核心职责是:验证测试 → 展示选项 → 执行选择 → 清理。
|
|
11
11
|
|
|
12
|
+
> **分支生命周期**:`team-orchestrator` 在 H1 确认后创建功能分支(Step 1.5),本 Skill 在流程尾部(Step 7.3)负责分支收尾。两者配合形成完整的分支生命周期闭环。
|
|
13
|
+
|
|
12
14
|
### 系统提示词
|
|
13
15
|
|
|
14
16
|
```
|
|
@@ -68,7 +70,14 @@ Cannot proceed with merge/PR until tests pass.
|
|
|
68
70
|
|
|
69
71
|
### Step 2:确定基准分支
|
|
70
72
|
|
|
71
|
-
|
|
73
|
+
按以下优先级确定基准分支:
|
|
74
|
+
|
|
75
|
+
1. **从 checkpoint 读取**:如果 `docs/tasks/{slug}/.checkpoint.json` 存在且包含 `base_branch` 字段,直接使用(orchestrator Step 1.5 已确定)
|
|
76
|
+
2. **从项目 AI 规范读取**:在 CLAUDE.md / .cursor/rules/ 中查找 `base_branch` 或 `default_branch` 配置项
|
|
77
|
+
3. **从 Git 远程推断**:`git symbolic-ref refs/remotes/origin/HEAD | sed 's|refs/remotes/origin/||'`
|
|
78
|
+
4. **常见分支名兜底**:按 `main` → `master` → `develop` 顺序检查本地是否存在
|
|
79
|
+
|
|
80
|
+
确定后运行 `git merge-base HEAD {base_branch}` 获取合并基点。
|
|
72
81
|
|
|
73
82
|
### Step 3:展示选项
|
|
74
83
|
|
|
@@ -11,7 +11,8 @@ description: Use when task needs full spec→impl→test→review pipeline with
|
|
|
11
11
|
|
|
12
12
|
```mermaid
|
|
13
13
|
flowchart TD
|
|
14
|
-
H1["H1: 人类确认目标"] -->
|
|
14
|
+
H1["H1: 人类确认目标"] --> branch["创建功能分支"]
|
|
15
|
+
branch --> specAgent["specAgent: 规格制定"]
|
|
15
16
|
specAgent --> H2["H2: 人类确认规格"]
|
|
16
17
|
H2 --> implAgent["implAgent: TDD 实现"]
|
|
17
18
|
implAgent --> testAgent["testAgent: 测试审计"]
|
|
@@ -20,7 +21,8 @@ flowchart TD
|
|
|
20
21
|
testAgent -->|"全部通过"| reviewAgent["reviewAgent: 代码审查"]
|
|
21
22
|
reviewAgent -->|"P0/P1 问题"| implAgent
|
|
22
23
|
reviewAgent -->|"spec 遗漏"| specAgent
|
|
23
|
-
reviewAgent -->|"无问题"|
|
|
24
|
+
reviewAgent -->|"无问题"| finish["team-finish: 分支完成"]
|
|
25
|
+
finish --> H4["H4: 人类验收"]
|
|
24
26
|
H3["H3: 人类介入(任何阶段)"] -.->|"阻塞/决策"| H3
|
|
25
27
|
```
|
|
26
28
|
|
|
@@ -123,6 +125,12 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
123
125
|
│ 确认 │ 不确认 → 返回修改
|
|
124
126
|
▼ └────────┐
|
|
125
127
|
┌──────────────────┐ │
|
|
128
|
+
│ 创建功能分支 │ │
|
|
129
|
+
│ {slug} 分支 │ │
|
|
130
|
+
└──────┬───────────┘ │
|
|
131
|
+
│ │
|
|
132
|
+
▼ │
|
|
133
|
+
┌──────────────────┐ │
|
|
126
134
|
│ specAgent │ │
|
|
127
135
|
│ 产出 01-05 文件 │ │
|
|
128
136
|
│ + 分期建议(P1/P2)│ │
|
|
@@ -177,6 +185,13 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
177
185
|
├── 发现人类需决策 ─────────→ H3: 人类介入点 #3
|
|
178
186
|
│ │
|
|
179
187
|
▼ │
|
|
188
|
+
┌──────────────────┐ │
|
|
189
|
+
│ team-finish │ │
|
|
190
|
+
│ 分支完成处理 │ │
|
|
191
|
+
│ (merge/PR/keep) │ │
|
|
192
|
+
└──────┬───────────┘ │
|
|
193
|
+
│ │
|
|
194
|
+
▼ │
|
|
180
195
|
┌──────────────────────────┐ │
|
|
181
196
|
│ H4: 人类验收最终交付物 │ │
|
|
182
197
|
│ (展示 14-team + 15-brief │ │
|
|
@@ -304,10 +319,12 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
304
319
|
{
|
|
305
320
|
"slug": "0001-add-tooltip",
|
|
306
321
|
"task_description": "实现用户注册功能",
|
|
322
|
+
"branch": "0001-add-tooltip",
|
|
323
|
+
"base_branch": "main",
|
|
307
324
|
"current_step": "H2",
|
|
308
325
|
"next_step": "Step 3",
|
|
309
326
|
"phase": "spec",
|
|
310
|
-
"completed_steps": ["Step 1", "H1", "Step 2"],
|
|
327
|
+
"completed_steps": ["Step 1", "H1", "Step 1.5", "Step 2"],
|
|
311
328
|
"pending_decision": "用户确认规格方案",
|
|
312
329
|
"completed_at": "2026-01-15T10:30:00Z",
|
|
313
330
|
"rollback_counts": {
|
|
@@ -325,7 +342,7 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
325
342
|
- 如存在且 `status = DONE` → 从 `next_step` 对应的 Step 继续
|
|
326
343
|
- 如存在且 `status = BLOCKED` → 触发 H3 展示 `blocked_reason`
|
|
327
344
|
- 如不存在 → 检查已有文件推断阶段:
|
|
328
|
-
- 仅有 00-design-brief.md → 从 Step 2(specAgent
|
|
345
|
+
- 仅有 00-design-brief.md → 从 Step 1.5(分支初始化)或 Step 2(specAgent),视当前分支判断
|
|
329
346
|
- 有 03-sdd.md + 04-boundary.md(精简模式最小集)或 01-05 齐全(完整模式)→ 从 Step 3(implAgent)
|
|
330
347
|
- 有 06-tdd-log.md 但无 09-test-matrix.md → 从 Step 4(testAgent)
|
|
331
348
|
- 有 09-test-matrix.md + 10-test-report.md 但无 11-review.md → 从 Step 5(reviewAgent)
|
|
@@ -343,12 +360,39 @@ NO AGENT DISPATCH WITHOUT H1 HUMAN CONFIRMATION FIRST
|
|
|
343
360
|
4. **写入 checkpoint**:`current_step=Step 1, next_step=H1, phase=init, task_description={任务描述}`
|
|
344
361
|
5. **进度账本检查**:如果 `docs/tasks/progress.md` 不存在则创建(含表头)。**注意:progress.md 是跨任务进度索引,必须位于 `docs/tasks/` 根目录,不在 slug 子目录中**。读取 progress.md 确认 `{slug}` 未被重复派发(如已存在且状态为 DONE,提示用户该任务已完成,询问是否新建变体任务)
|
|
345
362
|
6. 记录启动时间
|
|
346
|
-
7. **写入 checkpoint**:`current_step=H1, next_step=Step
|
|
363
|
+
7. **写入 checkpoint**:`current_step=H1, next_step=Step 1.5, pending_decision=确认目标理解`
|
|
347
364
|
8. **向用户展示任务理解 + 初步方案 + 风险预判 + 分期建议**,等待确认(设置 30 分钟超时提醒)。如果存在 `00-design-brief.md`,将其摘要纳入展示
|
|
348
|
-
9. 用户确认后,**写入 checkpoint**:`current_step=Step
|
|
365
|
+
9. 用户确认后,**写入 checkpoint**:`current_step=Step 1.5, completed_steps 追加 H1`。继续下一步,否则根据反馈调整
|
|
349
366
|
|
|
350
367
|
**Kill Switch 预检查**:如果任务明显不可行(技术不可行、依赖不可用、范围远超预期),在 H1 阶段直接向用户提出终止建议。
|
|
351
368
|
|
|
369
|
+
### Step 1.5:Git 分支初始化
|
|
370
|
+
|
|
371
|
+
H1 确认后、specAgent 启动前,创建功能分支隔离本次任务的所有变更。
|
|
372
|
+
|
|
373
|
+
#### 1.5.1 确定基准分支(三层 Fallback)
|
|
374
|
+
|
|
375
|
+
按以下优先级确定 `base_branch`,取第一个成功的结果:
|
|
376
|
+
|
|
377
|
+
1. **项目 AI 规范显式声明**:在 CLAUDE.md / .cursor/rules/ 中查找 `base_branch` 或 `default_branch` 配置项(如 `base_branch: develop`)
|
|
378
|
+
2. **Git 远程默认分支**:`git symbolic-ref refs/remotes/origin/HEAD` 解析出分支名;失败则 `git remote show origin` 解析 HEAD branch
|
|
379
|
+
3. **常见分支名兜底**:按 `main` → `master` → `develop` 顺序检查本地是否存在(`git show-ref --verify refs/heads/{name}`)
|
|
380
|
+
|
|
381
|
+
如果三层均失败 → 触发 H3,请求用户指定基准分支。
|
|
382
|
+
|
|
383
|
+
#### 1.5.2 创建功能分支
|
|
384
|
+
|
|
385
|
+
1. **检测当前分支**:获取当前分支名(`git branch --show-current`)
|
|
386
|
+
2. **创建功能分支**:`git checkout -b {slug}`(分支名直接使用 slug,如 `0012-refactor-auth`)
|
|
387
|
+
3. **写入 checkpoint**:`current_step=Step 2, branch={slug}, base_branch={基准分支名}, completed_steps 追加 Step 1.5`
|
|
388
|
+
|
|
389
|
+
**跳过条件**(不创建分支):
|
|
390
|
+
|
|
391
|
+
- 用户已在功能分支上(当前分支名不等于 `base_branch`)→ 使用当前分支,checkpoint 中 `branch` 记录当前分支名
|
|
392
|
+
- 用户明确指定 `--no-branch` → 直接在当前分支上工作
|
|
393
|
+
|
|
394
|
+
**恢复场景**:断点续传(`docs/tasks/{slug}/.checkpoint.json` 已有 `branch` 字段)时,检查当前分支是否与 checkpoint 记录一致。不一致则提示用户切换分支(`git checkout {branch}`),不自动切换。
|
|
395
|
+
|
|
352
396
|
### Step 2:调度 specAgent
|
|
353
397
|
|
|
354
398
|
**REQUIRED SUB-SKILL:** `team-spec`
|
|
@@ -545,10 +589,13 @@ TDD 强制要求:每个功能点必须先 git commit 失败测试(test: {功
|
|
|
545
589
|
|
|
546
590
|
在归档前,检查 reviewAgent 产出的 `12-asset-update.md` 中是否有 CHANGELOG.md 更新。如果 CHANGELOG.md 需要更新但尚未更新,在此处补全。
|
|
547
591
|
|
|
548
|
-
|
|
592
|
+
调度 `team-finish` 完成分支处理:
|
|
549
593
|
|
|
550
|
-
-
|
|
551
|
-
-
|
|
594
|
+
- 传递 checkpoint 中的 `branch` 和 `base_branch` 信息
|
|
595
|
+
- `team-finish` 将验证测试 → 展示选项(merge/PR/keep/discard)→ 执行用户选择
|
|
596
|
+
- 如果用户选择 merge,合并后确认合并 commit 已推送
|
|
597
|
+
- 如果用户选择 PR,确认 PR 已创建
|
|
598
|
+
- 如果用户选择 keep/discard,记录用户决策
|
|
552
599
|
|
|
553
600
|
### Step 7.5:归档与知识合并
|
|
554
601
|
|