team-skills 1.6.1 → 1.6.2
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/CHANGELOG.md +10 -0
- package/package.json +1 -1
- package/skills/team-finish/SKILL.md +10 -5
- package/skills/team-orchestrator/SKILL.md +31 -12
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,16 @@
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.6.2] - 2026-06-29
|
|
11
|
+
|
|
12
|
+
### 变更
|
|
13
|
+
|
|
14
|
+
- team-orchestrator: Step 1.5.2 从自动创建功能分支改为分支策略选择(Fork/不Fork),用户显式选择是否创建新分支
|
|
15
|
+
- team-orchestrator: 移除"当前分支≠基准分支时自动跳过"的隐式规则,仅保留 `--no-branch` 显式跳过
|
|
16
|
+
- team-orchestrator: Mermaid + ASCII 流程图分支步骤标签同步更新
|
|
17
|
+
- team-finish: Step 2 新增当前分支获取 + 基准分支守卫(`branch == base_branch` 时 BLOCKED)
|
|
18
|
+
- team-finish: Step 3 选项模板增加分支信息展示,选项描述使用具名分支变量 `{branch}`
|
|
19
|
+
|
|
10
20
|
## [1.6.1] - 2026-06-28
|
|
11
21
|
|
|
12
22
|
### 变更
|
package/package.json
CHANGED
|
@@ -94,10 +94,12 @@ NO BRANCH COMPLETION WITHOUT TEST VERIFICATION FIRST
|
|
|
94
94
|
- **IF** `exit_code == 0` → 逐条排除占位符/测试值/注释 → 真实凭证 → **BLOCKED**,**WRITE**(对话中)凭证位置,要求修复后重新验证
|
|
95
95
|
- **ELSE** → **GOTO** Step 2
|
|
96
96
|
|
|
97
|
-
### Step 2
|
|
97
|
+
### Step 2:确定当前分支与基准分支
|
|
98
98
|
|
|
99
99
|
> 精确找到合并目标。基准错误 = 合并到错误分支,后果比不合并更糟。
|
|
100
100
|
|
|
101
|
+
**EXEC** `git branch --show-current` → **ASSERT** `exit_code == 0` → 获取 `branch`
|
|
102
|
+
|
|
101
103
|
**RESOLVE** `base_branch`(首个命中即停):
|
|
102
104
|
|
|
103
105
|
1. `READ("docs/tasks/{slug}/.checkpoint.json").base_branch`
|
|
@@ -112,6 +114,8 @@ NO BRANCH COMPLETION WITHOUT TEST VERIFICATION FIRST
|
|
|
112
114
|
|
|
113
115
|
- 失败(分支无公共祖先)→ **BLOCKED**,触发 **ASK_HUMAN**
|
|
114
116
|
|
|
117
|
+
**IF** `branch == base_branch` → **WRITE**(对话中)"当前已在基准分支 {base_branch} 上,无功能分支需要完成。" → **BLOCKED**
|
|
118
|
+
|
|
115
119
|
### Step 3:展示选项
|
|
116
120
|
|
|
117
121
|
> 让用户在完整信息下做选择。选项列表必须覆盖所有合理路径,不替用户预判。
|
|
@@ -119,22 +123,23 @@ NO BRANCH COMPLETION WITHOUT TEST VERIFICATION FIRST
|
|
|
119
123
|
**WRITE**(对话中)选项列表:
|
|
120
124
|
|
|
121
125
|
```
|
|
126
|
+
当前分支:{branch},基准分支:{base_branch}
|
|
122
127
|
实现完成,测试已通过。请选择集成方式:
|
|
123
128
|
|
|
124
129
|
1. [默认] 合并到 {base_branch} 并推送
|
|
125
|
-
→ push
|
|
130
|
+
→ push {branch}(留档) → 切换到 {base_branch} → merge → push → 清理 {branch}
|
|
126
131
|
适用:有合并权限,可直接集成
|
|
127
132
|
|
|
128
133
|
2. 创建 Pull Request
|
|
129
|
-
→ push
|
|
134
|
+
→ push {branch} → 创建 PR 等待审查
|
|
130
135
|
适用:需要 Code Review 或 CI 门禁
|
|
131
136
|
|
|
132
137
|
3. 保留当前分支
|
|
133
|
-
→
|
|
138
|
+
→ 不做任何操作,{branch} 原样保留
|
|
134
139
|
适用:尚需打磨,或等待外部依赖就绪
|
|
135
140
|
|
|
136
141
|
4. 丢弃本次工作(需二次确认)
|
|
137
|
-
→
|
|
142
|
+
→ 切换到 {base_branch} → 强制删除 {branch}
|
|
138
143
|
适用:实验性工作,确认不再需要
|
|
139
144
|
|
|
140
145
|
请选择 [1]:
|
|
@@ -11,7 +11,7 @@ description: Use when task needs full spec→impl→test→review pipeline with
|
|
|
11
11
|
|
|
12
12
|
```mermaid
|
|
13
13
|
flowchart TD
|
|
14
|
-
CONFIRM_GOAL["CONFIRM_GOAL: 人类确认目标"] --> branch["
|
|
14
|
+
CONFIRM_GOAL["CONFIRM_GOAL: 人类确认目标"] --> branch["分支策略选择(Fork/不Fork)"]
|
|
15
15
|
branch --> team-spec["team-spec: 规格制定"]
|
|
16
16
|
team-spec --> CONFIRM_SPEC["CONFIRM_SPEC: 人类确认规格"]
|
|
17
17
|
CONFIRM_SPEC --> team-impl["team-impl: TDD 实现"]
|
|
@@ -102,8 +102,8 @@ NO AGENT DISPATCH WITHOUT CONFIRM_GOAL HUMAN CONFIRMATION FIRST
|
|
|
102
102
|
│ 确认 │ 不确认 → 返回修改
|
|
103
103
|
▼ └────────┐
|
|
104
104
|
┌──────────────────┐ │
|
|
105
|
-
│
|
|
106
|
-
│
|
|
105
|
+
│ 分支策略选择 │ │
|
|
106
|
+
│ Fork / 不Fork │ │
|
|
107
107
|
└──────┬───────────┘ │
|
|
108
108
|
│ │
|
|
109
109
|
▼ │
|
|
@@ -417,14 +417,34 @@ NO AGENT DISPATCH WITHOUT CONFIRM_GOAL HUMAN CONFIRMATION FIRST
|
|
|
417
417
|
3. **FOR** `name` **IN** [`main`, `master`, `develop`]:**EXEC** `git show-ref --verify refs/heads/{name}` → **IF** `exit_code == 0` → 首个存在即停
|
|
418
418
|
4. *NONE* → **ASK_HUMAN**,请求用户指定基准分支
|
|
419
419
|
|
|
420
|
-
#### 1.5.2
|
|
420
|
+
#### 1.5.2 分支策略选择
|
|
421
421
|
|
|
422
|
-
1. **EXEC** `git branch --show-current` → **ASSERT** `exit_code == 0` →
|
|
422
|
+
1. **EXEC** `git branch --show-current` → **ASSERT** `exit_code == 0` → 获取 `current_branch`
|
|
423
423
|
2. **EXEC** `git status --porcelain` → **ASSERT** `exit_code == 0`
|
|
424
424
|
- **IF** `output` NOT_EMPTY → **GOTO** 1.5.2.1
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
425
|
+
|
|
426
|
+
3. **WRITE**(对话中)分支策略选项:
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
当前分支:{current_branch},基准分支:{base_branch}
|
|
430
|
+
请选择分支策略:
|
|
431
|
+
|
|
432
|
+
1. [默认] Fork — 从当前位置创建新分支 {slug}
|
|
433
|
+
适用:功能开发需要隔离,便于回退和 PR
|
|
434
|
+
|
|
435
|
+
2. 不 Fork — 直接在当前分支 {current_branch} 上工作
|
|
436
|
+
适用:当前分支已是工作分支,或不需要分支隔离
|
|
437
|
+
|
|
438
|
+
请选择 [1]:
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
**MATCH** `user_choice`:
|
|
442
|
+
|
|
443
|
+
- `Option 1`(Fork,默认)→ **EXEC** `git checkout -b {slug}`
|
|
444
|
+
- **IF** `exit_code != 0`(分支已存在)→ **EXEC** `git checkout {slug}` → **ASSERT** `exit_code == 0`
|
|
445
|
+
- **WRITE** checkpoint:`current_step=Step 2, branch={slug}, base_branch={基准分支名}, completed_steps 追加 Step 1.5`
|
|
446
|
+
- `Option 2`(不 Fork)→ **WRITE** checkpoint:`current_step=Step 2, branch={current_branch}, base_branch={基准分支名}, completed_steps 追加 Step 1.5`
|
|
447
|
+
- *DEFAULT* → 请求用户从以上选项中选择
|
|
428
448
|
|
|
429
449
|
#### 1.5.2.1:处理未提交变更
|
|
430
450
|
|
|
@@ -434,16 +454,15 @@ NO AGENT DISPATCH WITHOUT CONFIRM_GOAL HUMAN CONFIRMATION FIRST
|
|
|
434
454
|
|
|
435
455
|
**MATCH** `user_choice`:
|
|
436
456
|
|
|
437
|
-
- `stash 后继续` → **EXEC** `git stash` → **ASSERT** `exit_code == 0` → **GOTO** 1.5.2 步骤 3
|
|
438
|
-
- `先提交再继续` → 等待用户提交 → **GOTO** 1.5.2 步骤 3
|
|
457
|
+
- `stash 后继续` → **EXEC** `git stash` → **ASSERT** `exit_code == 0` → **GOTO** 1.5.2 步骤 3(展示分支策略选项)
|
|
458
|
+
- `先提交再继续` → 等待用户提交 → **GOTO** 1.5.2 步骤 3(展示分支策略选项)
|
|
439
459
|
- `取消` → **BLOCKED**
|
|
440
460
|
- *DEFAULT* → 请求用户从以上选项中选择
|
|
441
461
|
|
|
442
462
|
不自动 stash 或丢弃。
|
|
443
463
|
|
|
444
|
-
|
|
464
|
+
**跳过条件**(跳过分支策略选择,不展示选项):
|
|
445
465
|
|
|
446
|
-
- **IF** 当前分支名 ≠ `base_branch` → 使用当前分支,checkpoint 中 `branch` 记录当前分支名
|
|
447
466
|
- **IF** 用户指定 `--no-branch` → 直接在当前分支上工作
|
|
448
467
|
|
|
449
468
|
**恢复场景**:**IF** 断点续传(checkpoint 已有 `branch` 字段)→ **ASSERT** `当前分支 == checkpoint.branch`。不一致 → 提示用户切换分支,不自动切换。
|