dev-playbooks-cn 1.5.5 → 1.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/README.md +14 -0
- package/package.json +1 -1
- package/skills/devbooks-archiver/SKILL.md +78 -4
- package/skills/devbooks-delivery-workflow/SKILL.md +315 -207
- package/templates/claude-agents/devbooks-archiver.md +22 -0
- package/templates/claude-agents/devbooks-challenger.md +21 -0
- package/templates/claude-agents/devbooks-designer.md +22 -0
- package/templates/claude-agents/devbooks-judge.md +22 -0
- package/templates/claude-agents/devbooks-planner.md +22 -0
- package/templates/claude-agents/devbooks-proposal-author.md +22 -0
- package/templates/claude-agents/devbooks-spec-owner.md +22 -0
package/README.md
CHANGED
|
@@ -97,6 +97,20 @@ dev-playbooks-cn init --tools claude --scope project # 项目级
|
|
|
97
97
|
dev-playbooks-cn init --tools claude --scope global # 全局
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
+
### 更新
|
|
101
|
+
|
|
102
|
+
使用 `update` 命令同时更新 CLI 和项目中的 Skills:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
dev-playbooks-cn update
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
更新命令会:
|
|
109
|
+
1. **检查 CLI 新版本**:自动检测 npm 上是否有新版本,交互式询问是否更新
|
|
110
|
+
2. **更新项目文件**:更新 Skills、规则文件、指令文件等
|
|
111
|
+
|
|
112
|
+
> **提示**:不再需要手动运行 `npm install -g dev-playbooks-cn`,`update` 命令会自动处理。
|
|
113
|
+
|
|
100
114
|
### 快速集成
|
|
101
115
|
|
|
102
116
|
DevBooks 使用两个目录根:
|
package/package.json
CHANGED
|
@@ -12,6 +12,36 @@ allowed-tools:
|
|
|
12
12
|
|
|
13
13
|
# DevBooks:归档器(Archiver)
|
|
14
14
|
|
|
15
|
+
## 🚨 绝对禁令(ABSOLUTE RULES)
|
|
16
|
+
|
|
17
|
+
> **这些规则没有例外,违反即失败。**
|
|
18
|
+
|
|
19
|
+
### 禁令 1:禁止跳过脚本验证
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
❌ 禁止:不运行 change-check.sh 就执行归档
|
|
23
|
+
❌ 禁止:change-check.sh 返回非零就继续归档
|
|
24
|
+
❌ 禁止:手动跳过或绕过脚本检查
|
|
25
|
+
|
|
26
|
+
✅ 必须:归档前运行 change-check.sh --mode strict
|
|
27
|
+
✅ 必须:脚本返回 0 才能继续
|
|
28
|
+
✅ 必须:脚本失败时停止并输出完整错误信息
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 禁令 2:禁止假完成归档
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
❌ 禁止:evidence/green-final/ 不存在或为空时归档
|
|
35
|
+
❌ 禁止:verification.md AC 覆盖率 < 100% 时归档
|
|
36
|
+
❌ 禁止:tasks.md 存在未完成任务时归档
|
|
37
|
+
|
|
38
|
+
✅ 必须:所有检查项全部通过
|
|
39
|
+
✅ 必须:Green 证据目录非空
|
|
40
|
+
✅ 必须:AC 覆盖率 100%
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
15
45
|
## 工作流位置感知(Workflow Position Awareness)
|
|
16
46
|
|
|
17
47
|
> **核心原则**:Archiver 是归档阶段的**唯一入口**,负责完成从代码评审到变更包归档的所有收尾工作。
|
|
@@ -62,10 +92,48 @@ proposal → design → test-owner(P1) → coder → test-owner(P2) → code-rev
|
|
|
62
92
|
|
|
63
93
|
## 归档完整流程
|
|
64
94
|
|
|
65
|
-
### 第
|
|
95
|
+
### 第 0 步:运行强制验证脚本(MANDATORY)
|
|
96
|
+
|
|
97
|
+
> **这是归档的第一个动作,不可跳过。**
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# 必须运行此命令
|
|
101
|
+
change-check.sh <change-id> --mode strict
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**执行规则**:
|
|
105
|
+
|
|
106
|
+
| 脚本返回值 | 行为 |
|
|
107
|
+
|-----------|------|
|
|
108
|
+
| `0` (成功) | 继续执行后续步骤 |
|
|
109
|
+
| 非零 (失败) | **立即停止**,输出完整错误信息,不执行任何归档操作 |
|
|
110
|
+
|
|
111
|
+
**脚本检查内容**(--mode strict):
|
|
112
|
+
|
|
113
|
+
- 变更包存在性
|
|
114
|
+
- verification.md 状态和 AC 覆盖率
|
|
115
|
+
- evidence/green-final/ 存在且非空
|
|
116
|
+
- tasks.md 任务完成率
|
|
117
|
+
- 所有闸门检查
|
|
118
|
+
|
|
119
|
+
**失败时的输出格式**:
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
❌ 归档前置检查失败
|
|
123
|
+
|
|
124
|
+
脚本输出:
|
|
125
|
+
<change-check.sh 的完整输出>
|
|
126
|
+
|
|
127
|
+
建议操作:
|
|
128
|
+
- 根据上述错误修复问题
|
|
129
|
+
- 重新运行 change-check.sh --mode strict
|
|
130
|
+
- 确认所有检查通过后再次尝试归档
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 第 1 步:前置检查(脚本通过后的二次确认)
|
|
66
134
|
|
|
67
135
|
```markdown
|
|
68
|
-
|
|
136
|
+
前置检查清单(验证脚本已检查,此为二次确认):
|
|
69
137
|
- [ ] 变更包存在(<change-root>/<change-id>/)
|
|
70
138
|
- [ ] verification.md Status = Ready 或 Done
|
|
71
139
|
- [ ] evidence/green-final/ 存在且非空
|
|
@@ -234,7 +302,7 @@ archived-by: devbooks-archiver
|
|
|
234
302
|
|
|
235
303
|
| 模式 | 触发条件 | 行为 |
|
|
236
304
|
|------|----------|------|
|
|
237
|
-
| **归档模式** | 提供 change-id 且闸门通过 | 执行完整归档流程(6
|
|
305
|
+
| **归档模式** | 提供 change-id 且闸门通过 | 执行完整归档流程(7步:0-6) |
|
|
238
306
|
| **维护模式** | 无 change-id | 执行 truth-root 去重、清理、整理 |
|
|
239
307
|
| **检查模式** | 带 --dry-run 参数 | 只输出计划,不实际修改/移动 |
|
|
240
308
|
|
|
@@ -245,7 +313,13 @@ archived-by: devbooks-archiver
|
|
|
245
313
|
│ 归档模式流程 │
|
|
246
314
|
├─────────────────────────────────────────────────────────────┤
|
|
247
315
|
│ │
|
|
248
|
-
│
|
|
316
|
+
│ 0. 运行强制验证脚本(MANDATORY) │
|
|
317
|
+
│ └─ change-check.sh <change-id> --mode strict │
|
|
318
|
+
│ │ │
|
|
319
|
+
│ ├─ 返回非零 → ❌ 停止,输出错误 │
|
|
320
|
+
│ │ │
|
|
321
|
+
│ ▼ 返回 0 │
|
|
322
|
+
│ 1. 前置检查(二次确认) │
|
|
249
323
|
│ ├─ 变更包存在? │
|
|
250
324
|
│ ├─ verification.md Status = Ready/Done? │
|
|
251
325
|
│ ├─ evidence/green-final/ 存在? │
|
|
@@ -13,253 +13,363 @@ allowed-tools:
|
|
|
13
13
|
|
|
14
14
|
# DevBooks:交付验收工作流(完整闭环编排器)
|
|
15
15
|
|
|
16
|
-
> **定位**:本 Skill
|
|
16
|
+
> **定位**:本 Skill 是**纯编排层**,不是执行层。它只负责**调用子 Agent**,绝不自己执行任何变更工作。
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
---
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
- `<change-root>`:变更包目录根
|
|
20
|
+
## 🚨 绝对禁令(ABSOLUTE RULES)
|
|
22
21
|
|
|
23
|
-
|
|
24
|
-
1. `.devbooks/config.yaml`(如存在)→ 解析并使用其中的映射
|
|
25
|
-
2. `dev-playbooks/project.md`(如存在)→ Dev-Playbooks 协议,使用默认映射
|
|
26
|
-
3. `project.md`(如存在)→ template 协议,使用默认映射
|
|
27
|
-
4. 若仍无法确定 → **停止并询问用户**
|
|
22
|
+
> **这些规则没有例外,违反即失败。**
|
|
28
23
|
|
|
29
|
-
|
|
30
|
-
- 如果配置中指定了 `agents_doc`(规则文档),**必须先阅读该文档**再执行任何操作
|
|
31
|
-
- 禁止猜测目录根
|
|
32
|
-
- 禁止跳过规则文档阅读
|
|
24
|
+
### 禁令 1:禁止主 Agent 直接工作
|
|
33
25
|
|
|
34
|
-
|
|
26
|
+
```
|
|
27
|
+
❌ 禁止:主 Agent 自己写 proposal.md / design.md / tests/ / src/
|
|
28
|
+
❌ 禁止:主 Agent 直接修改任何变更包内容
|
|
29
|
+
❌ 禁止:主 Agent 跳过子 Agent 调用
|
|
35
30
|
|
|
36
|
-
|
|
31
|
+
✅ 必须:所有工作通过 Task 工具调用子 Agent 完成
|
|
32
|
+
✅ 必须:每个阶段都有对应的子 Agent 调用
|
|
33
|
+
✅ 必须:主 Agent 只做编排、等待、验证
|
|
34
|
+
```
|
|
37
35
|
|
|
38
|
-
###
|
|
36
|
+
### 禁令 2:禁止跳过任何强制阶段
|
|
39
37
|
|
|
40
38
|
```
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
│ (归档) │ │ (评审) │ │ (实现) │ │ (测试) │
|
|
50
|
-
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
|
|
39
|
+
❌ 禁止:跳过 Challenger/Judge 阶段
|
|
40
|
+
❌ 禁止:跳过 Test-Reviewer 阶段
|
|
41
|
+
❌ 禁止:跳过 Code-Review 阶段
|
|
42
|
+
❌ 禁止:跳过 Green-Verify 阶段
|
|
43
|
+
❌ 禁止:未通过 strict 检查就归档
|
|
44
|
+
|
|
45
|
+
✅ 必须:完整执行 12 个强制阶段
|
|
46
|
+
✅ 必须:每个阶段的子 Agent 返回成功才能继续
|
|
51
47
|
```
|
|
52
48
|
|
|
53
|
-
###
|
|
49
|
+
### 禁令 3:禁止假完成归档
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
❌ 禁止:evidence/green-final/ 不存在或为空时归档
|
|
53
|
+
❌ 禁止:verification.md AC 覆盖率 < 100% 时归档
|
|
54
|
+
❌ 禁止:tasks.md 存在未完成任务时归档
|
|
55
|
+
❌ 禁止:change-check.sh --mode strict 失败时归档
|
|
56
|
+
|
|
57
|
+
✅ 必须:Archiver 子 Agent 先运行检查脚本
|
|
58
|
+
✅ 必须:所有检查通过后才执行归档
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 前置:配置发现(协议无关)
|
|
64
|
+
|
|
65
|
+
执行前**必须**按以下顺序查找配置:
|
|
66
|
+
1. `.devbooks/config.yaml`(如存在)→ 解析并使用其中的映射
|
|
67
|
+
2. `dev-playbooks/project.md`(如存在)→ Dev-Playbooks 协议
|
|
68
|
+
3. `project.md`(如存在)→ template 协议
|
|
69
|
+
4. 若仍无法确定 → **停止并询问用户**
|
|
54
70
|
|
|
55
|
-
|
|
56
|
-
|------|-------|------|------|
|
|
57
|
-
| 1. Propose | `devbooks-proposal-author` | proposal.md | Author |
|
|
58
|
-
| 1.5 Challenge(可选) | `devbooks-proposal-challenger` | 质疑意见 | Challenger |
|
|
59
|
-
| 1.6 Judge(可选) | `devbooks-proposal-judge` | 裁决结果 | Judge |
|
|
60
|
-
| 2. Design | `devbooks-design-doc` | design.md | Designer |
|
|
61
|
-
| 3. Spec | `devbooks-spec-contract` | specs/*.md | Spec Owner |
|
|
62
|
-
| 4. Plan | `devbooks-implementation-plan` | tasks.md | Planner |
|
|
63
|
-
| 5. Test | `devbooks-test-owner` | verification.md + tests/ | Test Owner |
|
|
64
|
-
| 6. Code | `devbooks-coder` | src/ 实现 | Coder |
|
|
65
|
-
| 7. Review | `devbooks-code-review` | 评审意见 | Reviewer |
|
|
66
|
-
| 7.5 Test Review(可选) | `devbooks-test-reviewer` | 测试评审 | Test Reviewer |
|
|
67
|
-
| 8. Archive | `devbooks-archiver` | 归档到真理源 | Archiver |
|
|
71
|
+
---
|
|
68
72
|
|
|
69
|
-
|
|
73
|
+
## 完整闭环流程(12 个强制阶段)
|
|
70
74
|
|
|
71
75
|
```
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
┌──────────────────────────────────────────────────────────────────────────┐
|
|
77
|
+
│ 强制流程(无可选阶段) │
|
|
78
|
+
├──────────────────────────────────────────────────────────────────────────┤
|
|
79
|
+
│ │
|
|
80
|
+
│ ┌─────────┐ ┌───────────┐ ┌─────────┐ ┌─────────┐ │
|
|
81
|
+
│ │1.Propose│──▶│2.Challenge│──▶│ 3.Judge │──▶│4.Design │ │
|
|
82
|
+
│ └─────────┘ └───────────┘ └─────────┘ └─────────┘ │
|
|
83
|
+
│ │ │ │
|
|
84
|
+
│ │ ┌─────────────────────────────┘ │
|
|
85
|
+
│ │ ▼ │
|
|
86
|
+
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
87
|
+
│ │ │ 5.Spec │──▶│ 6.Plan │──▶│7.Test-R │ │
|
|
88
|
+
│ │ └─────────┘ └─────────┘ └─────────┘ │
|
|
89
|
+
│ │ │ │
|
|
90
|
+
│ │ ┌───────────────────────────┘ │
|
|
91
|
+
│ │ ▼ │
|
|
92
|
+
│ │ ┌─────────┐ ┌──────────┐ ┌──────────┐ │
|
|
93
|
+
│ │ │ 8.Code │──▶│9.TestRev │──▶│10.CodeRev│ │
|
|
94
|
+
│ │ └─────────┘ └──────────┘ └──────────┘ │
|
|
95
|
+
│ │ │ │
|
|
96
|
+
│ │ ┌─────────────────────────────┘ │
|
|
97
|
+
│ │ ▼ │
|
|
98
|
+
│ │ ┌───────────┐ ┌─────────┐ │
|
|
99
|
+
│ └───────▶│11.GreenV │──▶│12.Archive│ │
|
|
100
|
+
│ └───────────┘ └─────────┘ │
|
|
101
|
+
│ │
|
|
102
|
+
└──────────────────────────────────────────────────────────────────────────┘
|
|
84
103
|
```
|
|
85
104
|
|
|
86
|
-
###
|
|
105
|
+
### 阶段详解与子 Agent 调用
|
|
106
|
+
|
|
107
|
+
| # | 阶段 | 子 Agent | Skill | 产物 | 强制 |
|
|
108
|
+
|---|------|----------|-------|------|------|
|
|
109
|
+
| 1 | Propose | `devbooks-proposal-author` | devbooks-proposal-author | proposal.md | ✅ |
|
|
110
|
+
| 2 | Challenge | `devbooks-challenger` | devbooks-proposal-challenger | 质疑意见 | ✅ |
|
|
111
|
+
| 3 | Judge | `devbooks-judge` | devbooks-proposal-judge | Decision Log | ✅ |
|
|
112
|
+
| 4 | Design | `devbooks-designer` | devbooks-design-doc | design.md | ✅ |
|
|
113
|
+
| 5 | Spec | `devbooks-spec-owner` | devbooks-spec-contract | specs/*.md | ✅ |
|
|
114
|
+
| 6 | Plan | `devbooks-planner` | devbooks-implementation-plan | tasks.md | ✅ |
|
|
115
|
+
| 7 | Test-Red | `devbooks-test-owner` | devbooks-test-owner | verification.md + tests/ | ✅ |
|
|
116
|
+
| 8 | Code | `devbooks-coder` | devbooks-coder | src/ 实现 | ✅ |
|
|
117
|
+
| 9 | Test-Review | `devbooks-reviewer` | devbooks-test-reviewer | 测试评审意见 | ✅ |
|
|
118
|
+
| 10 | Code-Review | `devbooks-reviewer` | devbooks-code-review | 代码评审意见 | ✅ |
|
|
119
|
+
| 11 | Green-Verify | `devbooks-test-owner` | devbooks-test-owner | evidence/green-final/ | ✅ |
|
|
120
|
+
| 12 | Archive | `devbooks-archiver` | devbooks-archiver | 归档到 archive/ | ✅ |
|
|
87
121
|
|
|
88
|
-
|
|
122
|
+
---
|
|
89
123
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
124
|
+
## 编排逻辑(伪代码)
|
|
125
|
+
|
|
126
|
+
```python
|
|
127
|
+
def run_delivery_workflow(user_requirement):
|
|
128
|
+
"""
|
|
129
|
+
主 Agent 只执行此编排逻辑,不做任何实际工作
|
|
130
|
+
"""
|
|
131
|
+
|
|
132
|
+
# ==================== 阶段 1: Propose ====================
|
|
133
|
+
change_id = call_subagent("devbooks-proposal-author", {
|
|
134
|
+
"task": "创建变更提案",
|
|
135
|
+
"requirement": user_requirement
|
|
136
|
+
})
|
|
137
|
+
verify_output(f"{change_root}/{change_id}/proposal.md")
|
|
138
|
+
|
|
139
|
+
# ==================== 阶段 2: Challenge ====================
|
|
140
|
+
challenge_result = call_subagent("devbooks-challenger", {
|
|
141
|
+
"task": "质疑提案",
|
|
142
|
+
"change_id": change_id
|
|
143
|
+
})
|
|
144
|
+
# 不跳过,即使没有质疑也要运行
|
|
145
|
+
|
|
146
|
+
# ==================== 阶段 3: Judge ====================
|
|
147
|
+
judge_result = call_subagent("devbooks-judge", {
|
|
148
|
+
"task": "裁决提案",
|
|
149
|
+
"change_id": change_id,
|
|
150
|
+
"challenge_result": challenge_result
|
|
151
|
+
})
|
|
152
|
+
if judge_result == "REJECTED":
|
|
153
|
+
return "提案被拒绝,流程终止"
|
|
154
|
+
if judge_result == "REVISE":
|
|
155
|
+
# 回到阶段 1,重新编写提案
|
|
156
|
+
return run_delivery_workflow(revised_requirement)
|
|
157
|
+
# judge_result == "APPROVED" 继续
|
|
158
|
+
|
|
159
|
+
# ==================== 阶段 4: Design ====================
|
|
160
|
+
call_subagent("devbooks-designer", {
|
|
161
|
+
"task": "创建设计文档",
|
|
162
|
+
"change_id": change_id
|
|
163
|
+
})
|
|
164
|
+
verify_output(f"{change_root}/{change_id}/design.md")
|
|
165
|
+
|
|
166
|
+
# ==================== 阶段 5: Spec ====================
|
|
167
|
+
call_subagent("devbooks-spec-owner", {
|
|
168
|
+
"task": "定义规格契约",
|
|
169
|
+
"change_id": change_id
|
|
170
|
+
})
|
|
171
|
+
# specs/ 目录可能为空(无对外契约时)
|
|
172
|
+
|
|
173
|
+
# ==================== 阶段 6: Plan ====================
|
|
174
|
+
call_subagent("devbooks-planner", {
|
|
175
|
+
"task": "创建实现计划",
|
|
176
|
+
"change_id": change_id
|
|
177
|
+
})
|
|
178
|
+
verify_output(f"{change_root}/{change_id}/tasks.md")
|
|
179
|
+
|
|
180
|
+
# ==================== 阶段 7: Test-Red ====================
|
|
181
|
+
# 必须使用独立 Agent 会话
|
|
182
|
+
call_subagent("devbooks-test-owner", {
|
|
183
|
+
"task": "编写测试并建立 Red 基线",
|
|
184
|
+
"change_id": change_id,
|
|
185
|
+
"isolation": "required" # 强制隔离
|
|
186
|
+
})
|
|
187
|
+
verify_output(f"{change_root}/{change_id}/verification.md")
|
|
188
|
+
verify_output(f"{change_root}/{change_id}/evidence/red-baseline/")
|
|
189
|
+
|
|
190
|
+
# ==================== 阶段 8: Code ====================
|
|
191
|
+
# 必须使用独立 Agent 会话
|
|
192
|
+
call_subagent("devbooks-coder", {
|
|
193
|
+
"task": "按 tasks.md 实现功能",
|
|
194
|
+
"change_id": change_id,
|
|
195
|
+
"isolation": "required" # 强制隔离
|
|
196
|
+
})
|
|
197
|
+
|
|
198
|
+
# ==================== 阶段 9: Test-Review ====================
|
|
199
|
+
test_review_result = call_subagent("devbooks-reviewer", {
|
|
200
|
+
"task": "评审测试质量",
|
|
201
|
+
"change_id": change_id,
|
|
202
|
+
"review_type": "test-review"
|
|
203
|
+
})
|
|
204
|
+
if test_review_result == "REVISE REQUIRED":
|
|
205
|
+
# 回到阶段 7,修复测试问题
|
|
206
|
+
goto_stage(7)
|
|
207
|
+
|
|
208
|
+
# ==================== 阶段 10: Code-Review ====================
|
|
209
|
+
code_review_result = call_subagent("devbooks-reviewer", {
|
|
210
|
+
"task": "评审代码质量",
|
|
211
|
+
"change_id": change_id,
|
|
212
|
+
"review_type": "code-review"
|
|
213
|
+
})
|
|
214
|
+
if code_review_result == "REVISE REQUIRED":
|
|
215
|
+
# 回到阶段 8,修复代码问题
|
|
216
|
+
goto_stage(8)
|
|
217
|
+
|
|
218
|
+
# ==================== 阶段 11: Green-Verify ====================
|
|
219
|
+
# 必须使用独立 Agent 会话(与阶段 7 相同的 Test Owner)
|
|
220
|
+
call_subagent("devbooks-test-owner", {
|
|
221
|
+
"task": "运行所有测试并收集 Green 证据",
|
|
222
|
+
"change_id": change_id,
|
|
223
|
+
"isolation": "required",
|
|
224
|
+
"phase": "green-verify"
|
|
225
|
+
})
|
|
226
|
+
verify_output(f"{change_root}/{change_id}/evidence/green-final/")
|
|
227
|
+
|
|
228
|
+
# ==================== 阶段 12: Archive ====================
|
|
229
|
+
# Archiver 会自动运行 change-check.sh --mode strict
|
|
230
|
+
call_subagent("devbooks-archiver", {
|
|
231
|
+
"task": "执行归档",
|
|
232
|
+
"change_id": change_id
|
|
233
|
+
})
|
|
234
|
+
|
|
235
|
+
return "闭环完成"
|
|
236
|
+
```
|
|
95
237
|
|
|
96
|
-
|
|
238
|
+
---
|
|
97
239
|
|
|
98
|
-
|
|
240
|
+
## 子 Agent 调用模板
|
|
99
241
|
|
|
100
|
-
|
|
101
|
-
# 提案阶段检查
|
|
102
|
-
change-check.sh <change-id> --mode proposal
|
|
242
|
+
### 调用格式
|
|
103
243
|
|
|
104
|
-
|
|
105
|
-
change-check.sh <change-id> --mode apply --role test-owner
|
|
244
|
+
使用 Task 工具调用子 Agent:
|
|
106
245
|
|
|
107
|
-
|
|
108
|
-
|
|
246
|
+
```markdown
|
|
247
|
+
## 调用 devbooks-proposal-author 子 Agent
|
|
109
248
|
|
|
110
|
-
|
|
111
|
-
|
|
249
|
+
请执行以下任务:
|
|
250
|
+
- 使用 devbooks-proposal-author skill
|
|
251
|
+
- 为以下需求创建变更提案:[需求描述]
|
|
252
|
+
- 生成符合规范的 change-id
|
|
253
|
+
- 完成后输出 change-id 和 proposal.md 路径
|
|
112
254
|
```
|
|
113
255
|
|
|
114
|
-
|
|
256
|
+
### 各阶段调用示例
|
|
257
|
+
|
|
258
|
+
| 阶段 | 子 Agent | 调用 Prompt |
|
|
259
|
+
|------|----------|-------------|
|
|
260
|
+
| 1 | devbooks-proposal-author | "使用 devbooks-proposal-author skill 为 [需求] 创建变更提案" |
|
|
261
|
+
| 2 | devbooks-challenger | "使用 devbooks-proposal-challenger skill 质疑变更 [change-id] 的提案" |
|
|
262
|
+
| 3 | devbooks-judge | "使用 devbooks-proposal-judge skill 裁决变更 [change-id]" |
|
|
263
|
+
| 4 | devbooks-designer | "使用 devbooks-design-doc skill 为变更 [change-id] 创建设计文档" |
|
|
264
|
+
| 5 | devbooks-spec-owner | "使用 devbooks-spec-contract skill 为变更 [change-id] 定义规格" |
|
|
265
|
+
| 6 | devbooks-planner | "使用 devbooks-implementation-plan skill 为变更 [change-id] 创建计划" |
|
|
266
|
+
| 7 | devbooks-test-owner | "使用 devbooks-test-owner skill 为变更 [change-id] 编写测试并建立 Red 基线" |
|
|
267
|
+
| 8 | devbooks-coder | "使用 devbooks-coder skill 为变更 [change-id] 实现功能" |
|
|
268
|
+
| 9 | devbooks-reviewer | "使用 devbooks-test-reviewer skill 评审变更 [change-id] 的测试" |
|
|
269
|
+
| 10 | devbooks-reviewer | "使用 devbooks-code-review skill 评审变更 [change-id] 的代码" |
|
|
270
|
+
| 11 | devbooks-test-owner | "使用 devbooks-test-owner skill 运行变更 [change-id] 的所有测试并收集 Green 证据" |
|
|
271
|
+
| 12 | devbooks-archiver | "使用 devbooks-archiver skill 归档变更 [change-id]" |
|
|
115
272
|
|
|
116
|
-
|
|
117
|
-
- 模板:`references/变更验证与追溯模板.md`
|
|
273
|
+
---
|
|
118
274
|
|
|
119
|
-
##
|
|
275
|
+
## 角色隔离约束
|
|
120
276
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
- 大规模机械变更(LSC)codemod 脚本骨架:`change-codemod-scaffold.sh <change-id> --name <codemod-name> --project-root <repo-root> --change-root <change-root>`
|
|
129
|
-
- 卫生检查(临时文件/进程清理):`hygiene-check.sh <change-id> --project-root <repo-root> --change-root <change-root>`
|
|
130
|
-
|
|
131
|
-
## 质量闸门脚本(v2)
|
|
132
|
-
|
|
133
|
-
以下脚本用于强化质量闸门,拦截"假完成":
|
|
134
|
-
|
|
135
|
-
- 角色交接检查:`handoff-check.sh <change-id> --project-root <repo-root> --change-root <change-root>`
|
|
136
|
-
- 环境声明检查:`env-match-check.sh <change-id> --project-root <repo-root> --change-root <change-root>`
|
|
137
|
-
- 审计全量扫描:`audit-scope.sh <directory> --format <markdown|json>`
|
|
138
|
-
- 进度仪表板:`progress-dashboard.sh <change-id> --project-root <repo-root> --change-root <change-root>`
|
|
139
|
-
- v2 闸门迁移:`migrate-to-v2-gates.sh <change-id> --project-root <repo-root> --change-root <change-root>`
|
|
140
|
-
|
|
141
|
-
### change-check.sh v2 新增检查项
|
|
142
|
-
|
|
143
|
-
| 检查项 | 触发模式 | 说明 | AC |
|
|
144
|
-
|--------|----------|------|-----|
|
|
145
|
-
| `check_evidence_closure()` | archive, strict | 验证 `evidence/green-final/` 存在且非空 | AC-001 |
|
|
146
|
-
| `check_task_completion_rate()` | strict | 验证任务完成率 100%(支持 SKIP-APPROVED) | AC-002 |
|
|
147
|
-
| `check_role_boundaries()` | apply --role | 验证角色边界(扩展自 check_no_tests_changed) | AC-003 |
|
|
148
|
-
| `check_skip_approval()` | strict | 验证 P0 任务跳过有审批记录 | AC-005 |
|
|
149
|
-
| `check_env_match()` | archive, strict | 调用 env-match-check.sh 检查环境声明 | AC-006 |
|
|
150
|
-
| `check_test_failure_in_evidence()` | archive, strict | 检测 Green 证据中的失败模式 | AC-007 |
|
|
151
|
-
|
|
152
|
-
### change-check.sh 基础检查项
|
|
153
|
-
|
|
154
|
-
| 检查项 | 触发模式 | 说明 |
|
|
155
|
-
|--------|----------|------|
|
|
156
|
-
| `check_proposal()` | 所有模式 | 检查 proposal.md 格式与决策状态 |
|
|
157
|
-
| `check_design()` | 所有模式 | 检查 design.md 结构(AC 列表、Problem Context 等) |
|
|
158
|
-
| `check_tasks()` | 所有模式 | 检查 tasks.md 结构(主线计划区、断点区) |
|
|
159
|
-
| `check_verification()` | 所有模式 | 检查 verification.md 四大必填节 |
|
|
160
|
-
| `check_spec_deltas()` | 所有模式 | 检查 specs/ 目录下 spec delta 格式 |
|
|
161
|
-
| `check_implicit_changes()` | apply, archive, strict | 检测隐式变更(依赖、配置、构建) |
|
|
162
|
-
|
|
163
|
-
### 角色边界约束
|
|
164
|
-
|
|
165
|
-
| 角色 | 禁止修改 |
|
|
166
|
-
|------|----------|
|
|
167
|
-
| Coder | `tests/**`、`verification.md`、`.devbooks/` |
|
|
168
|
-
| Test Owner | `src/**` |
|
|
169
|
-
| Reviewer | 代码文件(`.ts`、`.js`、`.py`、`.sh` 等) |
|
|
170
|
-
|
|
171
|
-
详细说明参见:`docs/quality-gates-guide.md`
|
|
172
|
-
|
|
173
|
-
## 架构合规检查(依赖卫士)
|
|
174
|
-
|
|
175
|
-
在合并前进行架构合规检查,防止依赖方向违规。
|
|
176
|
-
|
|
177
|
-
### guardrail-check.sh 完整选项
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
guardrail-check.sh <change-id> [options]
|
|
181
|
-
|
|
182
|
-
Options:
|
|
183
|
-
--project-root <dir> 项目根目录
|
|
184
|
-
--change-root <dir> 变更包目录
|
|
185
|
-
--truth-root <dir> 真理目录(包含 architecture/c4.md)
|
|
186
|
-
--role <role> 角色权限检查 (coder|test-owner|reviewer)
|
|
187
|
-
--check-lockfile 检查 lockfile 变更是否声明
|
|
188
|
-
--check-engineering 检查工程系统变更是否声明
|
|
189
|
-
--check-layers 检查分层约束违规(依赖卫士核心)
|
|
190
|
-
--check-cycles 检查循环依赖
|
|
191
|
-
--check-hotspots 警告热点文件变更
|
|
192
|
-
```
|
|
277
|
+
**关键原则**:Test Owner 和 Coder 必须使用**独立的 Agent 实例/会话**。
|
|
278
|
+
|
|
279
|
+
| 角色 | 隔离要求 | 原因 |
|
|
280
|
+
|------|----------|------|
|
|
281
|
+
| Test Owner (阶段 7, 11) | 独立 Agent | 防止 Coder 篡改测试 |
|
|
282
|
+
| Coder (阶段 8) | 独立 Agent | 防止 Coder 看到测试实现细节 |
|
|
283
|
+
| Reviewer (阶段 9, 10) | 独立 Agent(推荐) | 保持评审客观性 |
|
|
193
284
|
|
|
194
|
-
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 闸门检查点
|
|
195
288
|
|
|
196
|
-
|
|
289
|
+
### 阶段闸门
|
|
197
290
|
|
|
198
|
-
|
|
|
199
|
-
|
|
200
|
-
|
|
|
201
|
-
|
|
|
202
|
-
|
|
|
203
|
-
|
|
|
291
|
+
| 检查点 | 时机 | 命令 |
|
|
292
|
+
|--------|------|------|
|
|
293
|
+
| 提案完成 | 阶段 3 后 | `change-check.sh <change-id> --mode proposal` |
|
|
294
|
+
| 设计完成 | 阶段 6 后 | `change-check.sh <change-id> --mode apply --role test-owner` |
|
|
295
|
+
| 实现完成 | 阶段 10 后 | `change-check.sh <change-id> --mode apply --role coder` |
|
|
296
|
+
| 归档前 | 阶段 12 前 | `change-check.sh <change-id> --mode strict` |
|
|
204
297
|
|
|
205
|
-
###
|
|
298
|
+
### 归档前强制检查项
|
|
206
299
|
|
|
207
|
-
|
|
208
|
-
# 完整架构检查(合并前)
|
|
209
|
-
guardrail-check.sh <change-id> \
|
|
210
|
-
--truth-root devbooks \
|
|
211
|
-
--check-layers \
|
|
212
|
-
--check-cycles \
|
|
213
|
-
--check-hotspots \
|
|
214
|
-
--check-lockfile \
|
|
215
|
-
--check-engineering
|
|
300
|
+
Archiver 子 Agent 必须验证:
|
|
216
301
|
|
|
217
|
-
|
|
218
|
-
|
|
302
|
+
| 检查项 | 要求 |
|
|
303
|
+
|--------|------|
|
|
304
|
+
| evidence/green-final/ | 存在且非空 |
|
|
305
|
+
| verification.md AC 覆盖 | 100%(所有 AC 有对应测试) |
|
|
306
|
+
| tasks.md 任务完成率 | 100%(所有 [x] 或 SKIP-APPROVED) |
|
|
307
|
+
| change-check.sh --mode strict | 全部通过 |
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## 错误处理
|
|
312
|
+
|
|
313
|
+
### Judge 返回 REVISE
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
阶段 3 返回 REVISE
|
|
317
|
+
↓
|
|
318
|
+
通知用户裁决意见
|
|
319
|
+
↓
|
|
320
|
+
回到阶段 1,携带修改建议
|
|
321
|
+
↓
|
|
322
|
+
重新执行阶段 1-3
|
|
219
323
|
```
|
|
220
324
|
|
|
221
|
-
###
|
|
325
|
+
### Review 返回 REVISE REQUIRED
|
|
222
326
|
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
327
|
+
```
|
|
328
|
+
阶段 9(Test-Review)返回 REVISE REQUIRED
|
|
329
|
+
↓
|
|
330
|
+
回到阶段 7,修复测试问题
|
|
331
|
+
↓
|
|
332
|
+
重新执行阶段 7-9
|
|
333
|
+
|
|
334
|
+
阶段 10(Code-Review)返回 REVISE REQUIRED
|
|
335
|
+
↓
|
|
336
|
+
回到阶段 8,修复代码问题
|
|
337
|
+
↓
|
|
338
|
+
重新执行阶段 8-10
|
|
231
339
|
```
|
|
232
340
|
|
|
233
|
-
|
|
341
|
+
### Archive 检查失败
|
|
234
342
|
|
|
235
|
-
|
|
343
|
+
```
|
|
344
|
+
阶段 12 检查失败
|
|
345
|
+
↓
|
|
346
|
+
输出失败原因(缺失 evidence / AC 未覆盖 / 任务未完成)
|
|
347
|
+
↓
|
|
348
|
+
回到相应阶段修复
|
|
349
|
+
↓
|
|
350
|
+
重新执行到阶段 12
|
|
351
|
+
```
|
|
236
352
|
|
|
237
|
-
|
|
353
|
+
---
|
|
238
354
|
|
|
239
|
-
|
|
355
|
+
## 上下文感知
|
|
240
356
|
|
|
241
357
|
### 检测流程
|
|
242
358
|
|
|
243
359
|
1. 检测变更包是否存在
|
|
244
|
-
2.
|
|
245
|
-
3.
|
|
360
|
+
2. 检测当前阶段(哪些阶段已完成)
|
|
361
|
+
3. 从断点继续执行
|
|
246
362
|
|
|
247
|
-
###
|
|
363
|
+
### 断点续跑
|
|
248
364
|
|
|
249
|
-
|
|
250
|
-
|------|----------|------|
|
|
251
|
-
| **初始化模式** | 变更包不存在 | 创建变更包骨架 |
|
|
252
|
-
| **检查模式** | 带 --check 参数 | 只运行闸门检查 |
|
|
253
|
-
| **完整闭环** | 无特殊参数 | 执行完整 Design→Archive 流程 |
|
|
254
|
-
|
|
255
|
-
### 检测输出示例
|
|
365
|
+
若变更包已存在部分产物,从最近完成的阶段继续:
|
|
256
366
|
|
|
257
367
|
```
|
|
258
368
|
检测结果:
|
|
259
369
|
- 变更包:存在
|
|
260
|
-
-
|
|
261
|
-
-
|
|
262
|
-
-
|
|
370
|
+
- 已完成阶段:1-6(proposal, challenge, judge, design, spec, plan)
|
|
371
|
+
- 下一阶段:7(Test-Red)
|
|
372
|
+
- 运行模式:断点续跑
|
|
263
373
|
```
|
|
264
374
|
|
|
265
375
|
---
|
|
@@ -268,8 +378,6 @@ guardrail-check.sh <change-id> --check-layers --check-cycles
|
|
|
268
378
|
|
|
269
379
|
本 Skill 支持 MCP 运行时增强,自动检测并启用高级功能。
|
|
270
380
|
|
|
271
|
-
MCP 增强规则参考:`skills/_shared/mcp-enhancement-template.md`
|
|
272
|
-
|
|
273
381
|
### 依赖的 MCP 服务
|
|
274
382
|
|
|
275
383
|
| 服务 | 用途 | 超时 |
|
|
@@ -282,19 +390,19 @@ MCP 增强规则参考:`skills/_shared/mcp-enhancement-template.md`
|
|
|
282
390
|
2. 在工作流状态报告中标注索引可用性
|
|
283
391
|
3. 若不可用 → 建议在 apply 阶段前生成索引
|
|
284
392
|
|
|
285
|
-
|
|
393
|
+
---
|
|
286
394
|
|
|
287
|
-
|
|
288
|
-
|------|----------|----------|
|
|
289
|
-
| 架构检查 | 精确依赖分析 | 基于 import 语句 |
|
|
290
|
-
| 热点预警 | CKB 实时分析 | 不可用 |
|
|
291
|
-
| 影响评估 | 调用图分析 | 文件级估算 |
|
|
395
|
+
## 参考骨架(按需读取)
|
|
292
396
|
|
|
293
|
-
|
|
397
|
+
- 工作流:`references/交付验收工作流.md`
|
|
398
|
+
- 模板:`references/变更验证与追溯模板.md`
|
|
294
399
|
|
|
295
|
-
|
|
400
|
+
## 可选检查脚本
|
|
296
401
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
402
|
+
脚本位于本 Skill 的 `scripts/` 目录:
|
|
403
|
+
|
|
404
|
+
- 初始化变更包骨架:`change-scaffold.sh`
|
|
405
|
+
- 一键校验变更包:`change-check.sh`
|
|
406
|
+
- 结构守门决策校验:`guardrail-check.sh`
|
|
407
|
+
- 证据采集:`change-evidence.sh`
|
|
408
|
+
- 进度仪表板:`progress-dashboard.sh`
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devbooks-archiver
|
|
3
|
+
description: DevBooks Archiver 子代理:执行归档闭环(验证→回写→规格合并→移动归档),必须先通过所有检查。
|
|
4
|
+
skills: devbooks-archiver
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# DevBooks Archiver 子代理
|
|
8
|
+
|
|
9
|
+
此子代理用于在 Task 工具中执行归档任务。
|
|
10
|
+
|
|
11
|
+
## 使用场景
|
|
12
|
+
|
|
13
|
+
当主编排器需要委托归档任务给子代理时使用,例如:
|
|
14
|
+
- delivery-workflow 编排器在 Green Verify 通过后调用
|
|
15
|
+
- 在隔离上下文中执行归档
|
|
16
|
+
|
|
17
|
+
## 约束
|
|
18
|
+
|
|
19
|
+
- **必须先运行** `change-check.sh --mode strict` 并通过
|
|
20
|
+
- 若检查失败 → 停止归档,输出失败原因
|
|
21
|
+
- 若检查通过 → 执行完整归档流程(6 步)
|
|
22
|
+
- 完成后输出归档报告
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devbooks-challenger
|
|
3
|
+
description: DevBooks Challenger 子代理:质疑提案,发现风险、遗漏和不一致,输出质疑意见。
|
|
4
|
+
skills: devbooks-proposal-challenger
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# DevBooks Challenger 子代理
|
|
8
|
+
|
|
9
|
+
此子代理用于在 Task 工具中执行提案质疑任务。
|
|
10
|
+
|
|
11
|
+
## 使用场景
|
|
12
|
+
|
|
13
|
+
当主编排器需要委托质疑任务给子代理时使用,例如:
|
|
14
|
+
- delivery-workflow 编排器调用以质疑提案
|
|
15
|
+
- 在隔离上下文中执行深度质疑分析
|
|
16
|
+
|
|
17
|
+
## 约束
|
|
18
|
+
|
|
19
|
+
- 只输出质疑意见,不修改 proposal.md
|
|
20
|
+
- 必须指出风险、遗漏、不一致
|
|
21
|
+
- 完成后输出 CHALLENGE_REPORT(质疑要点 + 风险等级)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devbooks-designer
|
|
3
|
+
description: DevBooks Designer 子代理:创建设计文档(design.md),定义 What/Constraints/AC-xxx,不写实现步骤。
|
|
4
|
+
skills: devbooks-design-doc
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# DevBooks Designer 子代理
|
|
8
|
+
|
|
9
|
+
此子代理用于在 Task 工具中执行设计文档撰写任务。
|
|
10
|
+
|
|
11
|
+
## 使用场景
|
|
12
|
+
|
|
13
|
+
当主编排器需要委托设计任务给子代理时使用,例如:
|
|
14
|
+
- delivery-workflow 编排器在 Judge 通过后调用
|
|
15
|
+
- 在隔离上下文中执行设计分析
|
|
16
|
+
|
|
17
|
+
## 约束
|
|
18
|
+
|
|
19
|
+
- 必须产出 design.md
|
|
20
|
+
- 只定义 What/Constraints/AC-xxx,不写实现步骤
|
|
21
|
+
- AC 必须是可观察的 Pass/Fail 标准
|
|
22
|
+
- 完成后输出 AC 列表摘要
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devbooks-judge
|
|
3
|
+
description: DevBooks Judge 子代理:裁决提案,输出 Approved/Revise/Rejected 决策并写入 Decision Log。
|
|
4
|
+
skills: devbooks-proposal-judge
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# DevBooks Judge 子代理
|
|
8
|
+
|
|
9
|
+
此子代理用于在 Task 工具中执行提案裁决任务。
|
|
10
|
+
|
|
11
|
+
## 使用场景
|
|
12
|
+
|
|
13
|
+
当主编排器需要委托裁决任务给子代理时使用,例如:
|
|
14
|
+
- delivery-workflow 编排器在 Challenger 完成后调用
|
|
15
|
+
- 在隔离上下文中执行裁决分析
|
|
16
|
+
|
|
17
|
+
## 约束
|
|
18
|
+
|
|
19
|
+
- 必须综合 proposal.md 和 Challenger 意见
|
|
20
|
+
- 必须输出明确决策:APPROVED / REVISE / REJECTED
|
|
21
|
+
- 若 REVISE:指出需修改的具体内容
|
|
22
|
+
- 必须更新 proposal.md 的 Decision Log 章节
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devbooks-planner
|
|
3
|
+
description: DevBooks Planner 子代理:从设计文档推导编码计划(tasks.md),输出可跟踪的主线计划。
|
|
4
|
+
skills: devbooks-implementation-plan
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# DevBooks Planner 子代理
|
|
8
|
+
|
|
9
|
+
此子代理用于在 Task 工具中执行计划编写任务。
|
|
10
|
+
|
|
11
|
+
## 使用场景
|
|
12
|
+
|
|
13
|
+
当主编排器需要委托计划编写任务给子代理时使用,例如:
|
|
14
|
+
- delivery-workflow 编排器在 Spec 完成后调用
|
|
15
|
+
- 在隔离上下文中执行计划拆分
|
|
16
|
+
|
|
17
|
+
## 约束
|
|
18
|
+
|
|
19
|
+
- 必须产出 tasks.md
|
|
20
|
+
- 只从 design.md 推导,禁止从 tests/ 反推
|
|
21
|
+
- 每个任务必须绑定 AC-xxx
|
|
22
|
+
- 完成后输出任务数量和依赖关系
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devbooks-proposal-author
|
|
3
|
+
description: DevBooks Proposal Author 子代理:创建变更提案(proposal.md),定义 Why/What/Impact,生成 change-id。
|
|
4
|
+
skills: devbooks-proposal-author
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# DevBooks Proposal Author 子代理
|
|
8
|
+
|
|
9
|
+
此子代理用于在 Task 工具中执行提案撰写任务。
|
|
10
|
+
|
|
11
|
+
## 使用场景
|
|
12
|
+
|
|
13
|
+
当主编排器需要委托提案撰写任务给子代理时使用,例如:
|
|
14
|
+
- delivery-workflow 编排器调用以创建新变更提案
|
|
15
|
+
- 在隔离上下文中执行提案撰写
|
|
16
|
+
|
|
17
|
+
## 约束
|
|
18
|
+
|
|
19
|
+
- 必须产出 proposal.md
|
|
20
|
+
- 必须生成符合规范的 change-id(YYYYMMDD-HHMM-<动词>-描述)
|
|
21
|
+
- 只定义 Why/What/Impact,不写实现代码
|
|
22
|
+
- 完成后输出 change-id 和 proposal.md 路径
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: devbooks-spec-owner
|
|
3
|
+
description: DevBooks Spec Owner 子代理:定义对外行为规格与契约(specs/*.md),包括 API/Schema/兼容策略。
|
|
4
|
+
skills: devbooks-spec-contract
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# DevBooks Spec Owner 子代理
|
|
8
|
+
|
|
9
|
+
此子代理用于在 Task 工具中执行规格定义任务。
|
|
10
|
+
|
|
11
|
+
## 使用场景
|
|
12
|
+
|
|
13
|
+
当主编排器需要委托规格定义任务给子代理时使用,例如:
|
|
14
|
+
- delivery-workflow 编排器在 Design 完成后调用
|
|
15
|
+
- 在隔离上下文中执行契约设计
|
|
16
|
+
|
|
17
|
+
## 约束
|
|
18
|
+
|
|
19
|
+
- 必须产出 specs/**/*.md
|
|
20
|
+
- 定义对外 API/Schema/Event 契约
|
|
21
|
+
- 包含兼容策略和迁移方案
|
|
22
|
+
- 完成后输出受影响的契约列表
|