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 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 -->|确认| SPEC
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 -->|无问题| H4
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` | 有向图流程编排,4 个人类介入点 | "我要完整交付流水线" |
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
- ## 📋 每个任务最多产出 18 个结构化文档
292
+ ## 📋 结构化文档体系
293
+
294
+ 团队协作过程中产出的所有文档,统一存放在 `docs/` 目录下:
287
295
 
288
296
  ```
289
- docs/tasks/{slug}/
290
- ├── 00-design-brief.md # 设计概要(team-brainstorm 产出,可选)
291
- ├── 01-plan.md # 任务规划(目标 + 分期 + 预算)
292
- ├── 02-context.md # 上下文选择(术语 + 引用 + 排除)
293
- ├── 03-sdd.md # SDD 规格(七部分完整)
294
- ├── 04-boundary.md # 修改边界(allow + deny)
295
- ├── 05-risk.md # 风险 + 验证计划
296
- ├── prompt-template.md # AI 任务提示词模板
297
- ├── 06-tdd-log.md # TDD 日志(红-绿-重构循环)
298
- ├── 07-prompt-log.md # Prompt 工程记录(五要素 + 纠偏)
299
- ├── 08-ai-decisions.md # AI 决策记录(选择 + 拒绝 + 理由)
300
- ├── 09-test-matrix.md # 四维测试矩阵
301
- ├── 10-test-report.md # 测试运行报告(证据链)
302
- ├── 11-review.md # 代码审查报告(五维度 + 合规)
303
- ├── 12-asset-update.md # 资产更新记录(消费方契约)
304
- ├── 13-retrospective.md # 个人复盘(新规则沉淀)
305
- ├── task-rules.md # 任务级规则
306
- ├── 14-team.md # 团队协作记录
307
- └── 15-brief.md # 答辩提纲
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "team-skills",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "AI Agent Skills framework — Spec-Driven development with directed-graph rollback and quality gates",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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
- 运行项目版本控制命令获取当前分支与基准分支的合并基点(如 `git merge-base HEAD main`)。
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: 人类确认目标"] --> specAgent["specAgent: 规格制定"]
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 -->|"无问题"| H4["H4: 人类验收"]
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 2, pending_decision=确认目标理解`
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 2, completed_steps 追加 H1`。继续下一步,否则根据反馈调整
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
- 同时检查 `team-finish` 流程是否已执行:
592
+ 调度 `team-finish` 完成分支处理:
549
593
 
550
- - 如果分支尚未合并,推荐使用 `team-finish` 完成分支处理
551
- - 如果已合并,确认合并 commit 已推送
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