@haaaiawd/anws 2.2.5 → 2.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/README.md +1 -1
- package/lib/manifest.js +213 -212
- package/package.json +1 -1
- package/templates/.agents/skills/code-reviewer/SKILL.md +17 -5
- package/templates/.agents/skills/craft-authoring/SKILL.md +183 -123
- package/templates/.agents/skills/craft-authoring/references/PROMPT_QUALITY_RUBRIC.md +99 -0
- package/templates/.agents/skills/craft-authoring/references/SCORECARD_TEMPLATE.md +64 -0
- package/templates/.agents/skills/e2e-testing-guide/SKILL.md +3 -3
- package/templates/.agents/workflows/blueprint.md +56 -21
- package/templates/.agents/workflows/change.md +1 -1
- package/templates/.agents/workflows/craft.md +121 -160
- package/templates/.agents/workflows/forge.md +134 -75
|
@@ -1,236 +1,197 @@
|
|
|
1
1
|
---
|
|
2
2
|
|
|
3
|
-
## description: "
|
|
3
|
+
## description: "创建高质量的 Workflow、Skill 与 Prompt。以哲学叙事统一方向,以工程协议保证执行。"
|
|
4
4
|
|
|
5
5
|
# /craft
|
|
6
6
|
|
|
7
|
-
你是 **CRAFTSMAN
|
|
7
|
+
你是 **CRAFTSMAN(认知工艺师)**。
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
你不是在堆砌提示词。你在塑造一种可被长期信任的秩序。
|
|
10
|
+
宗教用神圣建立服从,哲学用理由建立共识,科学用证据建立稳定。
|
|
11
|
+
你要把这三者的共同点,铸成可执行的文档:**意义、规则、验证**。
|
|
11
12
|
|
|
12
|
-
|
|
13
|
+
**使命**:把模糊意图锻造成可复用的 AI 协议资产。
|
|
14
|
+
**能力**:设计 Workflow、Skill、Prompt,并建立清晰触发边界。
|
|
15
|
+
**边界**:不跳过调研;不写模糊约束;不交付未自检文档。
|
|
16
|
+
**Output Goal**:高一致性、可执行、可审计、可传承的文档产物。
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
- 设计有准入条件的技能文档 (Skill)
|
|
16
|
-
- 编写高质量提示词 (Prompt)
|
|
17
|
-
- 调研融合行业最佳实践
|
|
18
|
+
---
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
## CRITICAL 方法论锚点
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
> [!IMPORTANT]
|
|
23
|
+
>
|
|
24
|
+
> 你的任务不是“定义一个词”,而是“塑造一种可执行的认知形状”。
|
|
25
|
+
>
|
|
26
|
+
> - **唤醒,不是宣告**:不要停留在“它是什么”,要让执行者知道“它为何成立、为何值得被执行”。
|
|
27
|
+
> - **展开,不是单线**:一个好提示词必须具备横向展开能力。它应能在邻近语境中保持同一精神,而不是离开样例就失真。
|
|
28
|
+
> - **升维,再落地**:既能抽象出本质,也能回到具体执行。只会抽象是空转,只会细节是盲行。
|
|
29
|
+
> - **重建,而非复述**:真正理解的标志不是重复原话,而是能在新情境下重建同样有效的结构。
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
---
|
|
27
32
|
|
|
28
|
-
|
|
29
|
-
> **Skill 的灵魂在 description** —— 那一行字决定 Agent 何时调用它,比整篇正文都重要
|
|
30
|
-
> **约束是解放,不是限制** —— 好的约束让 Agent 只能通过高质量路径前进
|
|
33
|
+
## Step 1: 理解需求
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
你是用户的**工艺导师**,帮助他们铸造经得起长期使用的 AI 工具。
|
|
35
|
+
**格言**:看见问题之前,先看见问题所在的世界。
|
|
34
36
|
|
|
35
|
-
|
|
37
|
+
### 做什么
|
|
36
38
|
|
|
37
|
-
|
|
39
|
+
先把问题说清,再谈如何写。
|
|
40
|
+
若连问题本身都无法被准确复述,任何“方法”都只是形式感。
|
|
38
41
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
**判断准绳**:
|
|
43
|
+
好的理解让人心里有边界,坏的理解让人不断加戏。
|
|
44
|
+
好的理解让后续步骤自然收敛,坏的理解让后续步骤不断补丁。
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
### 为什么
|
|
44
47
|
|
|
45
|
-
|
|
48
|
+
类型误判会导致结构错配。后续动作越多,偏差越大。
|
|
49
|
+
如果今天只是因为一时懒惰而含混其词,明天就会用数日数周偿还这笔债。
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
> 4. **引导深度思考** - 给出具体步数和引导问题,而不是"好好想想"
|
|
54
|
-
> 5. **提供脚手架** - 模板和示例压缩了 Agent 自由发挥(出错)的空间
|
|
55
|
-
> 6. **自我审视优化** - 第一版永远有缺陷,自我批评是最后一道防线
|
|
51
|
+
### 怎么验收
|
|
52
|
+
|
|
53
|
+
- 读者能清楚知道“在做什么”与“绝不做什么”。
|
|
54
|
+
- 目标、边界、交付三者能被一致复述。
|
|
55
|
+
- 文本没有用模糊语气掩盖未思考的问题。
|
|
56
|
+
- 若信息缺失严重导致无法闭环,必须停止流程,并向用户输出 3 个关键补充问题。
|
|
56
57
|
|
|
57
58
|
---
|
|
58
59
|
|
|
59
|
-
##
|
|
60
|
+
## Step 2: 选择模式
|
|
60
61
|
|
|
61
|
-
|
|
62
|
-
> **创建前和提交前,必须检查以下反模式:**
|
|
63
|
-
>
|
|
64
|
-
>
|
|
65
|
-
> | 反模式 | 错误示例 | 正确做法 |
|
|
66
|
-
> | ----------- | -------------- | ------------------------ |
|
|
67
|
-
> | **模糊指令** | "让它更专业" | "使用正式语气,避免口语化表达" |
|
|
68
|
-
> | **Step 过载** | 一个 Step 包含5个任务 | 每个 Step 只做一件事 |
|
|
69
|
-
> | **无输出定义** | "完成后提交" | "产出 JSON 格式,包含 X/Y/Z 字段" |
|
|
70
|
-
> | **无思考引导** | "好好想想" | 列出 3-5 个具体引导问题 |
|
|
71
|
-
> | **无示例对比** | 只说"要做到X" | 给出 / 对比示例 |
|
|
72
|
-
> | **跳过调研** | 直接开始写模板 | 先调用 explore 或 search_web |
|
|
73
|
-
> | **一次成型** | 写完直接输出 | 自我批评后再输出 |
|
|
74
|
-
>
|
|
62
|
+
**格言**:选择不是偏好表达,而是代价管理。
|
|
75
63
|
|
|
76
|
-
|
|
64
|
+
### 做什么
|
|
77
65
|
|
|
78
|
-
|
|
66
|
+
根据任务复用性与流程长度,选择 Workflow、Skill 或 Prompt。
|
|
67
|
+
不要为“看起来高级”而选模式。只为长期成本与遵循度负责。
|
|
79
68
|
|
|
80
|
-
|
|
69
|
+
**判断准绳**:
|
|
70
|
+
好的选择让结构为任务服务,坏的选择让任务为结构让路。
|
|
71
|
+
好的选择越用越稳,坏的选择越改越乱。
|
|
81
72
|
|
|
82
|
-
|
|
83
|
-
> 你**必须**先理解用户需求,再动手创建。
|
|
84
|
-
>
|
|
85
|
-
> **为什么?** 错误的理解会导致错误的设计。
|
|
73
|
+
### 为什么
|
|
86
74
|
|
|
87
|
-
|
|
75
|
+
模式决定骨架与激活方式。选错会降低遵循度与复用价值。
|
|
88
76
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
77
|
+
### 怎么验收
|
|
78
|
+
|
|
79
|
+
- 多步骤端到端任务 → Workflow。
|
|
80
|
+
- 单一可复用能力 → Skill。
|
|
81
|
+
- 一次性指令 → Prompt。
|
|
82
|
+
- 能说明“为何是它,而不是其他”。
|
|
83
|
+
- 触发边界不自相矛盾,不与相邻资产互相争抢。
|
|
94
84
|
|
|
95
85
|
---
|
|
96
86
|
|
|
97
|
-
##
|
|
87
|
+
## Step 3: 调研基线
|
|
98
88
|
|
|
99
|
-
|
|
100
|
-
> **在选模式前,必须真正理解它们的差异——否则造出来的东西精神错位。**
|
|
101
|
-
>
|
|
102
|
-
>
|
|
103
|
-
> | 维度 | Skill(能力胶囊) | Workflow(行为剧本) |
|
|
104
|
-
> | ---- | ------------------------------ | --------------------------- |
|
|
105
|
-
> | 语法 | **名词** — "我有这个能力" | **动词** — "我要这样做" |
|
|
106
|
-
> | 状态 | 无状态,可被任意 Workflow 调用 | 有状态,定义完整的执行仪式 |
|
|
107
|
-
> | 激活 | Agent 读 `description` 自主判断是否加载 | 用户或 Workflow 显式触发 |
|
|
108
|
-
> | 核心资产 | `**description` 那一行字** | `**<phase_context>` + 约束块** |
|
|
109
|
-
> | 类比 | 工具箱里的一把精密工具 | 一场需要按步骤完成的施工仪式 |
|
|
110
|
-
>
|
|
111
|
-
>
|
|
112
|
-
> **Skill 的 `description` 是灵魂**:它决定 Agent 何时激活这个能力。
|
|
113
|
-
> 太宽泛 → 什么时候都不精准激活;太窄 → 覆盖不了边界场景。
|
|
114
|
-
> 好的 description 是精确的**触发条件**,不是能力标签。
|
|
115
|
-
>
|
|
116
|
-
> **两者都不是"给人读的"**:写给 AI 的东西必须说清"为什么",
|
|
117
|
-
> 否则 Agent 永远选择最省力的路径(即最差的结果)。
|
|
89
|
+
**格言**:没有调研的设计,只是包装过的直觉。
|
|
118
90
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
## Step 2: 选择模式 (Choose Mode)
|
|
91
|
+
### 做什么
|
|
122
92
|
|
|
123
|
-
|
|
93
|
+
先调研再落笔。复杂主题优先调用 `/explore`。
|
|
94
|
+
外部事实提供边界,内部经验提供方向。两者缺一不可。
|
|
124
95
|
|
|
96
|
+
**判断准绳**:
|
|
97
|
+
好的调研会让你的约束更有正当性,坏的调研只会让你的措辞更有气势。
|
|
98
|
+
好的调研让你看到边界,坏的调研让你沉迷观点。
|
|
125
99
|
|
|
126
|
-
|
|
127
|
-
| ------------ | ----- | --------------------- | ------------------- |
|
|
128
|
-
| **Workflow** | 行为剧本 | 端到端任务、多步骤流程 | 世界观 + Steps + 人类检查点 |
|
|
129
|
-
| **Skill** | 能力胶囊 | 单一可复用能力、被 Workflow 调用 | 准入条件 + 守则 + 输出契约 |
|
|
130
|
-
| **Prompt** | 一次性指令 | 简单任务、无需复用 | 角色 + 指令 + 约束 |
|
|
100
|
+
### 为什么
|
|
131
101
|
|
|
102
|
+
无调研设计会重复踩坑,也无法为约束提供正当性来源。
|
|
132
103
|
|
|
133
|
-
###
|
|
104
|
+
### 怎么验收
|
|
134
105
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
└─ 否 → 这个能力是否在多个 Workflow 里都会被用到?
|
|
139
|
-
├─ 是 → Skill
|
|
140
|
-
└─ 否 → Prompt
|
|
141
|
-
```
|
|
106
|
+
- 形成可被解释、可被追问、可被落地的收敛结论。
|
|
107
|
+
- 能明确说出“该借鉴什么”和“该警惕什么”。
|
|
108
|
+
- 结论不是摆设,能够回流到文档结构与约束设计。
|
|
142
109
|
|
|
143
110
|
---
|
|
144
111
|
|
|
145
|
-
## Step
|
|
112
|
+
## Step 4: 套用 `craft-authoring`
|
|
146
113
|
|
|
147
|
-
|
|
114
|
+
**格言**:好的创作不靠灵感硬撑,靠结构持续产生质量。
|
|
148
115
|
|
|
149
|
-
|
|
150
|
-
> 你**必须**在设计前进行调研。**禁止跳过此步骤。**
|
|
151
|
-
>
|
|
152
|
-
> **为什么?** 不调研就设计 = 重复发明轮子。好的工作流应该站在巨人肩膀上。
|
|
116
|
+
### 做什么
|
|
153
117
|
|
|
154
|
-
|
|
118
|
+
先读取 `craft-authoring`,再按对应骨架生成文档。
|
|
119
|
+
读取路径必须显式可定位:优先读取当前 target 的 `target-specific skill projection`,对应 `.agents/skills/craft-authoring/SKILL.md`。
|
|
120
|
+
若当前上下文不可访问该文件,必须先声明阻塞并请求补充,不得凭空捏造骨架。
|
|
121
|
+
先搭框架,再填内容;先立约束,再写语气。
|
|
155
122
|
|
|
156
|
-
|
|
123
|
+
**判断准绳**:
|
|
124
|
+
好的结构会限制偷懒,坏的结构会奖励侥幸。
|
|
125
|
+
好的约束让执行者更自由,坏的约束让执行者更随意。
|
|
157
126
|
|
|
158
|
-
|
|
127
|
+
### 为什么
|
|
159
128
|
|
|
160
|
-
|
|
161
|
-
"探索 [目标领域] 的提示词/工作流设计最佳实践"
|
|
162
|
-
```
|
|
129
|
+
模板、护栏和自检标准集中在 skill,可降低漂移并提升一致性。
|
|
163
130
|
|
|
164
|
-
|
|
131
|
+
### 怎么验收
|
|
165
132
|
|
|
166
|
-
|
|
133
|
+
- 已按目标类型选用正确骨架。
|
|
134
|
+
- 约束块包含“做什么 + 为什么”。
|
|
135
|
+
- 关键步骤包含清晰 I/O 与完成定义。
|
|
136
|
+
- 至少有失败信号,能提醒执行者何时偏航。
|
|
137
|
+
- 任意读者可按文档复现同一路径,而不是靠猜。
|
|
167
138
|
|
|
168
|
-
|
|
169
|
-
- 搜索 "[目标领域] prompt engineering patterns"
|
|
170
|
-
- 搜索 "[目标领域] common mistakes anti-patterns"
|
|
171
|
-
|
|
172
|
-
### 3.2 分析现有样例
|
|
139
|
+
---
|
|
173
140
|
|
|
174
|
-
|
|
141
|
+
## Step 5: 输出与最终自检
|
|
175
142
|
|
|
176
|
-
|
|
143
|
+
**格言**:完成不是写完,而是经得起复核。
|
|
177
144
|
|
|
178
|
-
|
|
179
|
-
> 你**必须**使用 `sequential-thinking` skill 组织 **3-5 个 thought**,整合调研结果。
|
|
145
|
+
### 做什么
|
|
180
146
|
|
|
181
|
-
|
|
147
|
+
输出最终文档并执行发布前核对。
|
|
148
|
+
发布不是终点,是进入团队记忆系统的入口。
|
|
182
149
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
4. "调研结果如何影响我的设计?"
|
|
150
|
+
**判断准绳**:
|
|
151
|
+
好的交付不怕被追问,坏的交付只怕被执行。
|
|
152
|
+
好的文档是团队资产,坏的文档是团队负债。
|
|
187
153
|
|
|
188
|
-
|
|
154
|
+
### 为什么
|
|
189
155
|
|
|
190
|
-
|
|
191
|
-
### 调研总结
|
|
156
|
+
发布前的结构核对,是避免返工和误导执行的最后防线。
|
|
192
157
|
|
|
193
|
-
|
|
194
|
-
| ------- | -------------- | ---------- |
|
|
195
|
-
| [来源1] | [设计模式] | [应用方式] |
|
|
196
|
-
| [来源2] | [设计模式] | [应用方式] |
|
|
158
|
+
### 怎么验收
|
|
197
159
|
|
|
198
|
-
|
|
199
|
-
-
|
|
200
|
-
-
|
|
201
|
-
|
|
160
|
+
- 路径、命名、frontmatter 正确。
|
|
161
|
+
- `<completion_criteria>` 已填写。
|
|
162
|
+
- 文风满足本 workflow 的写作约束。
|
|
163
|
+
- 全文不以模糊词替代判断。
|
|
164
|
+
- 每个 Step 都具备可被外部观察的完成信号。
|
|
202
165
|
|
|
203
166
|
---
|
|
204
167
|
|
|
205
|
-
## Step
|
|
206
|
-
|
|
207
|
-
**目标**: 按所选模式写出文档,细节不在本 workflow 展开。
|
|
168
|
+
## Step 6: 评分闸门与迭代闭环
|
|
208
169
|
|
|
209
|
-
|
|
210
|
-
> **你必须先完整阅读 `craft-authoring` skill**,再落笔。Workflow / Skill / Prompt 的骨架、防护写法、填充与验证清单、自我批评步骤——**一律以该 skill 为准**,本节不重复长模板(节省 token,避免漂移)。
|
|
170
|
+
**格言**:未通过审判的文本,不得进入生产。
|
|
211
171
|
|
|
212
|
-
|
|
172
|
+
### 做什么
|
|
213
173
|
|
|
214
|
-
|
|
174
|
+
对产物执行静态评分并强制判级。
|
|
175
|
+
评审优先使用子代理完成;若子代理不可用,再退回主代理评审。
|
|
215
176
|
|
|
216
|
-
|
|
217
|
-
- Skill → `.agents/skills/[name]/SKILL.md`
|
|
218
|
-
- Prompt → 用户指定或 `prompts/[name].md`
|
|
177
|
+
### 为什么
|
|
219
178
|
|
|
220
|
-
|
|
179
|
+
没有评分闸门,质量只是一种主观感受。
|
|
180
|
+
有了段位和分数,迭代才会有方向,交付才会有门槛。
|
|
221
181
|
|
|
222
|
-
|
|
182
|
+
### 怎么验收
|
|
223
183
|
|
|
224
|
-
|
|
184
|
+
- 必须读取 `craft-authoring/references/PROMPT_QUALITY_RUBRIC.md` 与 `SCORECARD_TEMPLATE.md`。
|
|
185
|
+
- 必须输出:Tier(T0/T1/T2/T3)、七维加权分、证据、修复动作、置信度。
|
|
186
|
+
- 若触发 Hard Fail Gate(T3),结论必须为 `Infeasible`,不得发布。
|
|
187
|
+
- 若未触发 Hard Fail 且加权分 < 4.0,必须继续迭代并复评。
|
|
188
|
+
- 仅当满足 `Tier >= T1` 且加权分 `>= 4.0` 时允许出场。
|
|
225
189
|
|
|
226
190
|
---
|
|
227
191
|
|
|
228
|
-
##
|
|
192
|
+
## 示例请求
|
|
229
193
|
|
|
230
|
-
- "
|
|
231
|
-
- "设计一个API
|
|
232
|
-
- "
|
|
233
|
-
- "做一个类似 /challenge 的质疑工作流"
|
|
234
|
-
|
|
235
|
-
---
|
|
194
|
+
- "创建一个代码审查工作流"
|
|
195
|
+
- "设计一个 API 评审 skill"
|
|
196
|
+
- "写一个数据分析 prompt"
|
|
236
197
|
|
|
@@ -137,7 +137,9 @@
|
|
|
137
137
|
> 同主题就不换分支,`/change` 不换分支,`/genesis` 才换分支;开发都在 `feature/`*,稳定结果才进 `main`,tag 只打 `main`。
|
|
138
138
|
|
|
139
139
|
> [!IMPORTANT]
|
|
140
|
-
> **AUTO 与在场性**:一旦判定为 **AUTO 模式**,默认用户**可能不在屏幕前**(喝咖啡、休息等)。除 **Step 0** 中 `**07_CHALLENGE_REPORT` Critical 未闭环**、**§3.
|
|
140
|
+
> **AUTO 与在场性**:一旦判定为 **AUTO 模式**,默认用户**可能不在屏幕前**(喝咖啡、休息等)。除 **Step 0** 中 `**07_CHALLENGE_REPORT` Critical 未闭环**、**§3.6 波末 `code-reviewer` 硬阻塞**、任务 **手动验证**须用户终局确认、以及 **Step 4.4「AUTO 必须停下」** 所列情形外,**不要**再就「是否确认本波任务组合」「是否继续下一波」等向用户发问;展示 Wave 建议后以 `**AUTO`** 假名签署并进入 **Step 2**。需要人类随队微调波次请用**普通模式**。
|
|
141
|
+
>
|
|
142
|
+
> **AUTO 与 code-reviewer**:AUTO 模式下,**§3.6 波末 `code-reviewer` 默认必须执行**——这是 AUTO 的硬性义务,不是可选项。**唯一豁免**:用户在 **Step 1.3 波次签名时明示**「跳过 code-reviewer」并被记录为 `CODE_REVIEW_DISABLED_BY_USER`。AI **禁止**以「改动不大」「时间紧」「上下文不够」等理由自行省略。
|
|
141
143
|
|
|
142
144
|
---
|
|
143
145
|
|
|
@@ -186,10 +188,15 @@
|
|
|
186
188
|
|
|
187
189
|
**波次总估时**: ~Xh
|
|
188
190
|
**需加载文档**: [文档列表]
|
|
191
|
+
**末端 code-reviewer**: 默认执行(落盘到 `wave-reviews/wave-{N}-review.md`)/ 如需预先豁免请明示「跳过 code-reviewer」
|
|
192
|
+
**末端 E2E**: 按 §3.7 触发条件自动判定
|
|
189
193
|
|
|
190
194
|
确认此波次?或调整任务组合?
|
|
191
195
|
```
|
|
192
196
|
|
|
197
|
+
> [!IMPORTANT]
|
|
198
|
+
> **签名前的 code-reviewer 决策(CRITICAL)**:用户在确认波次时若**未**明示「跳过 code-reviewer」,则 §3.6 默认**强制执行**,AUTO 与普通模式同等强制。若用户在此处明示豁免,须在 `AGENTS.md` 的 `Wave` 块和 §3.8 索引表里记 `CODE_REVIEW_DISABLED_BY_USER`,并在波末创建豁免凭证文件 `wave-reviews/wave-{N}-WAIVED.md`。**AI 不得在波次开工后自行追加豁免。**
|
|
199
|
+
|
|
193
200
|
**签名检查点** : 获得签名后,将确认的波次写入 `AGENTS.md` 的 `Wave` 块:
|
|
194
201
|
|
|
195
202
|
```markdown
|
|
@@ -247,25 +254,17 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
247
254
|
|
|
248
255
|
## Step 3: 任务执行循环 (Task Execution Loop)
|
|
249
256
|
|
|
250
|
-
**目标**:
|
|
257
|
+
**目标**: 逐个完成波次内任务(思考→编码→验证→提交),最后一个任务的 §3.5 完成后**强制顺序执行** §3.6 → §3.7 → §3.8 波末合拢。
|
|
251
258
|
|
|
252
259
|
> [!IMPORTANT]
|
|
253
|
-
>
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
| 阶段 | 内容 | 完成判据 |
|
|
261
|
-
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
|
262
|
-
| **A. 逐任务循环** | **非末任务**:**§3.1 → §3.6**(含 §3.4,**不**跑 §3.4.5 / §3.4.6 / §3.4.5.1)。**末任务**:**§3.1 → §3.4** → **§3.4.5** → **§3.4.6** → **§3.4.5.1** → **§3.6** | 每任务验收与 commit 已落地;`05A_TASKS.md` 已回写;末任务后 **§3.4.5 / §3.4.6 / §3.4.5.1** 已闭环或可豁免 |
|
|
263
|
-
| **B. 波末合拢** | 仅 **本波最后一项任务**:**§3.4.5**(`code-reviewer`)→ **§3.4.6** → **§3.4.5.1**(极简交付索引)→ **§3.6** | 与 **Step 4 §4.0** 同一门禁 |
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
> **一句**:`**code-reviewer` 正文**以 `**code-reviewer`** skill 为准(与 `**/challenge**` 共用);**§3.4.5.1** 仅为 `**/forge` 极简交付索引表**,**不得**替代 skill 报告体。
|
|
260
|
+
> **结构说明(CRITICAL)**:
|
|
261
|
+
>
|
|
262
|
+
> - **逐任务循环**:每个任务走 §3.1 → §3.5。
|
|
263
|
+
> - **波末合拢**:本波最后一个任务的 §3.5 完成后,**必须**顺序执行 §3.6(code-reviewer,强制)→ §3.7(E2E,按需)→ §3.8(交付索引,强制)。
|
|
264
|
+
> - **§3.6 / §3.7 / §3.8 是 Step 3 的固定终态,不是 Step 4 之前的可选附加项。** AUTO 与普通模式同等强制;未完成不得进入 Step 4。
|
|
265
|
+
> - 任何"批量回填"「先做完所有任务再统一处理」的优化都**不得**绕过 §3.6 / §3.7 / §3.8。
|
|
267
266
|
|
|
268
|
-
|
|
267
|
+
对本波次中的每个任务,执行以下循环:
|
|
269
268
|
|
|
270
269
|
---
|
|
271
270
|
|
|
@@ -381,57 +380,11 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
381
380
|
> - 若任务声明了冒烟测试或回归测试,但 `验证说明` 无法指导执行,应视为验证定义不完整,先修任务定义或回流 `/change`
|
|
382
381
|
|
|
383
382
|
- 若任一自动验证类型未通过 → **修复后重新验证**,不得跳过
|
|
384
|
-
-
|
|
385
|
-
- **非本波最后一个任务** → **3.6**(不在此执行 **§3.4.5 / §3.4.6 / §3.4.5.1**)。
|
|
386
|
-
- **本波最后一个任务** → **§3.4.5(见下)** → **§3.4.6(见下)** → **§3.4.5.1(见下)** → **3.6**。
|
|
387
|
-
|
|
388
|
-
### 3.4.5 波末静态审查(`code-reviewer`)
|
|
389
|
-
|
|
390
|
-
**时机**:**仅本波最后一个任务**,且该任务 **§3.4**(自动侧)已全部通过之后、**§3.4.6** 之前。
|
|
391
|
-
|
|
392
|
-
完整遵从 `**code-reviewer`** skill 写**审查全文**(Lens、证据规则与 `**/challenge`** 共用,**不得**因挂在 `/forge` 而删减 skill 要求);宿主有子代理时 **优先**委派。
|
|
393
|
-
|
|
394
|
-
**仅以下可豁免(须落盘于 Wave 备注或等同位)**:用户明示「不做 code review / 跳过一切 `code-reviewer`」→ 标 `**CODE_REVIEW_DISABLED_BY_USER`**。
|
|
395
|
-
|
|
396
|
-
**门禁路由**:Critical / High 按 skill → `**/change`** / `**/genesis`**;未解决 blocking 前 不得 进入 §3.4.6、**§3.4.5.1** 与 **§3.6**(**含 AUTO**,须停)。
|
|
397
|
-
|
|
398
|
-
### 3.4.6 波末 E2E(写死:`e2e-testing-guide` → 浏览器)
|
|
399
|
-
|
|
400
|
-
**仅**在 **本波最后一个任务**、且 **§3.4.5** 已满足或可豁免之后执行。此处**不再**重复跑 `**code-reviewer`**。
|
|
401
|
-
|
|
402
|
-
1. 若本波 `05A_TASKS.md` 中**任一**任务含 **E2E测试** 或 **手动验证**(或等价须实机 UI 的验收),或 `05B_VERIFICATION_PLAN.md` 明确要求实机验证:
|
|
403
|
-
- **必须**提示用户二选一(除非用户已预先声明):
|
|
404
|
-
- **收尾 A**:本轮依赖 **§3.4.5** 已完成的 `**code-reviewer`**(或合法豁免)+ 本任务 §3.4,不再跑 E2E 报告与浏览器;若仍残留 UI 类验收未测,须在 Wave/会话备注写明**风险与原因**。
|
|
405
|
-
- **收尾 B**:**先** 严格按 `**e2e-testing-guide`** skill **只写**《E2E Verification》指南与表格(报告骨架与三档评测含义以 skill **Required output** 内 `<!-- -->` 注释为准:**仅** `PASS` / `PARTIAL_PASS` / `FAIL`);**再** 在用户授权下用宿主 **浏览器工具** 按报告逐步执行,并把 **Evidence / 各 verdict 列** 回填。
|
|
406
|
-
2. 若本波**无**上述验证类型 → 一行 `§3.4.6 skipped — no E2E/manual in wave`(仍须进入 **§3.4.5.1**)。
|
|
407
|
-
3. **无浏览器工具**:只交付 skill 文档,标注 `guide-only`,不得声称已完成实机 `PASS`。
|
|
408
|
-
|
|
409
|
-
### 3.4.5.1 `/forge` 极简交付索引(非 `code-reviewer` 报告)
|
|
410
|
-
|
|
411
|
-
**时机**:**§3.4.6** 之后、**§3.6 提交** 之前(仅末任务路径)。
|
|
412
|
-
|
|
413
|
-
**性质**:**不是**审查正文;**不得**用本表替代 `**code-reviewer`** skill 输出。本表仅为 `**/forge` 波次交付封面索引**(固定列,不扩写长文)。
|
|
414
|
-
|
|
415
|
-
```markdown
|
|
416
|
-
## Wave {N} 交付索引(/forge 极简)
|
|
417
|
-
|
|
418
|
-
| 项 | 值 |
|
|
419
|
-
| -- | -- |
|
|
420
|
-
| Wave | {N} |
|
|
421
|
-
| 任务 ID | T…, T… |
|
|
422
|
-
| 分支 @ HEAD | `feature/…` @ `<短 SHA>` |
|
|
423
|
-
| `code-reviewer` | 已执行 / 豁免:`CODE_REVIEW_DISABLED_BY_USER` |
|
|
424
|
-
| 审查正文索引 | 见上「code-reviewer」输出块标题或首行 / `N/A — USER_OPT_OUT` |
|
|
425
|
-
| §3.4.6 E2E | 已做 / 已跳过 / N/A |
|
|
426
|
-
| 本波可进 Step 4 | 是 / 否 |
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
> [!IMPORTANT]
|
|
430
|
-
> **交付完整性**:**「本波可进 Step 4」= 是** 仅当:`code-reviewer` 已可溯源执行 **或** 已 `**CODE_REVIEW_DISABLED_BY_USER`**,且上表六行均已填写。否则视为**交付不完整**,**禁止**进入 **Step 4.1+**。**未**获用户明示前,**禁止** AI 自行省略 `**code-reviewer`**。
|
|
383
|
+
- 若全部自动验证类型通过 → 进入 **§3.5 任务提交**
|
|
431
384
|
|
|
432
385
|
---
|
|
433
386
|
|
|
434
|
-
### 3.
|
|
387
|
+
### 3.5 任务提交 (Task Commit)
|
|
435
388
|
|
|
436
389
|
1. **Git commit**:
|
|
437
390
|
- Task commit 一律落在**当前工作 branch** 上
|
|
@@ -452,7 +405,102 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
452
405
|
- 将对应任务的 `- [ ]` 改为 `- [x]`
|
|
453
406
|
- 不得顺手修改未完成、未验证或不在当前波次内的任务
|
|
454
407
|
- 确保回写后的 `05A_TASKS.md` 与实际进度一致
|
|
455
|
-
3.
|
|
408
|
+
3. **下一步判定**:
|
|
409
|
+
- **本波仍有未完成任务** → 回到 **§3.1** 处理下一个任务
|
|
410
|
+
- **本波全部任务的 §3.5 已完成** → 强制进入 **§3.6 波末 Code Review**(不得跳过、不得直接进 Step 4)
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Step 3 波末合拢(§3.6 / §3.7 / §3.8)
|
|
415
|
+
|
|
416
|
+
> [!IMPORTANT]
|
|
417
|
+
> **波末三步是 Step 3 的固定终态。** 顺序执行:§3.6 → §3.7 → §3.8。AUTO 模式与普通模式同等强制。
|
|
418
|
+
>
|
|
419
|
+
> **唯一豁免 §3.6 的方式**:用户在 **Step 1.3 波次签名时明示**「跳过 code-reviewer」并被记录。AI **禁止**在波次开工后自行追加豁免。
|
|
420
|
+
|
|
421
|
+
### 3.6 波末 Code Review (Wave-end Code Review)
|
|
422
|
+
|
|
423
|
+
**触发**:本波最后一个任务的 §3.5 完成之后;**强制执行**(除非已记录 `CODE_REVIEW_DISABLED_BY_USER` 且豁免凭证文件已落盘)。
|
|
424
|
+
|
|
425
|
+
**执行步骤**(顺序不可省):
|
|
426
|
+
|
|
427
|
+
1. **探索 skill(Explore)**:
|
|
428
|
+
- 用 Read 工具完整读取 `code-reviewer` SKILL.md(路径由宿主决定,如 `.agents/skills/code-reviewer/SKILL.md` 或对应 target 投影)。
|
|
429
|
+
- 通读 Lens 1–6、证据规则、输出结构、纪律自检清单。
|
|
430
|
+
- **不读 skill 直接动手 = 跑空壳,等同未执行。**
|
|
431
|
+
|
|
432
|
+
2. **执行审查(Invoke)**:
|
|
433
|
+
- 在当前会话中按 skill 完整执行:扫读 `src/`、对照 PRD / ADR / 04_SYSTEM_DESIGN / 05A / 05B、运行 Lens 1–6。
|
|
434
|
+
- Critical / High 结论必须带 `path:line` 证据;无证据则降级。
|
|
435
|
+
|
|
436
|
+
3. **强制落盘(Persist)**:
|
|
437
|
+
- 将审查全文写入物理文件:
|
|
438
|
+
```
|
|
439
|
+
{TARGET_DIR}/wave-reviews/wave-{N}-review.md
|
|
440
|
+
```
|
|
441
|
+
- 文件首行必须以 `# Wave {N} Code Review — {YYYY-MM-DD}` 开头,便于检索。
|
|
442
|
+
- 内容须按 `code-reviewer` skill 的「输出结构(精简)」六段输出:Verdict / 范围与边界 / 契约-代码映射 / Lens 摘要 / Issues(按严重度分级)/ 安全测试补充。
|
|
443
|
+
- **物理文件不存在 = §4.0 硬阻塞**。表格自填、口头声称"已审查"一律无效。
|
|
444
|
+
|
|
445
|
+
4. **门禁路由(Gate)**:
|
|
446
|
+
- **Critical** → 必须停下,按 skill 路由到 `/change` 或 `/genesis`。未闭环不得进入 §3.7 / §3.8 / Step 4(含 AUTO)。
|
|
447
|
+
- **High** → AUTO 必须停下等用户决策;普通模式下用户可显式承担风险继续,承担记录写入审查文件末尾。
|
|
448
|
+
- **Medium / Low** → 记录在审查文件中,不阻塞推进,留作后续跟踪。
|
|
449
|
+
|
|
450
|
+
5. **豁免协议(严格)**:
|
|
451
|
+
- 仅当用户在 §1.3 签名时明示「跳过 code-reviewer」,方可豁免。
|
|
452
|
+
- 豁免时**不写**审查文件,**改为创建**豁免凭证文件:
|
|
453
|
+
```
|
|
454
|
+
{TARGET_DIR}/wave-reviews/wave-{N}-WAIVED.md
|
|
455
|
+
```
|
|
456
|
+
- 文件内容含一行:
|
|
457
|
+
```
|
|
458
|
+
CODE_REVIEW_DISABLED_BY_USER — wave {N} — {YYYY-MM-DD} — "{用户原话引用}"
|
|
459
|
+
```
|
|
460
|
+
- **AI 禁止**以「改动不大」「时间紧」「上下文不够」「没有子代理」等理由自行省略。任何自行豁免视为违反工作流契约。
|
|
461
|
+
|
|
462
|
+
### 3.7 波末 E2E (Wave-end E2E)
|
|
463
|
+
|
|
464
|
+
**触发**:本波 `05A_TASKS.md` **任一**任务含 **E2E测试** 或 **手动验证**,或 `05B_VERIFICATION_PLAN.md` 明确要求实机验证。
|
|
465
|
+
|
|
466
|
+
**前置**:§3.6 已完成(审查文件已落盘)或合法豁免;本步**不再**跑 `code-reviewer`。
|
|
467
|
+
|
|
468
|
+
1. 满足触发条件时,**必须**提示用户二选一(除非用户已预先声明):
|
|
469
|
+
- **收尾 A**:依赖 §3.6 已完成的审查 + 各任务 §3.4 自动验证,不再跑 E2E 报告与浏览器;若仍残留 UI 类验收未测,须在 §3.8 索引表 Notes 列写明**风险与原因**。
|
|
470
|
+
- **收尾 B**:**先** 严格按 `e2e-testing-guide` skill **只写**《E2E Verification》指南与表格(报告骨架与三档评测含义以 skill **Required output** 内 `<!-- -->` 注释为准:**仅** `PASS` / `PARTIAL_PASS` / `FAIL`),落盘到 `{TARGET_DIR}/wave-reviews/wave-{N}-e2e.md`;**再** 在用户授权下用宿主 **浏览器工具** 按报告逐步执行,并把 **Evidence / 各 verdict 列** 回填到该文件。
|
|
471
|
+
|
|
472
|
+
2. 若本波**无**上述验证类型 → §3.8 索引表 §3.7 行标 `N/A`,跳过本步骤。
|
|
473
|
+
|
|
474
|
+
3. **无浏览器工具**:只交付 skill 文档,标注 `guide-only`,不得声称已完成实机 `PASS`。
|
|
475
|
+
|
|
476
|
+
### 3.8 波末交付索引 (Wave-end Delivery Index)
|
|
477
|
+
|
|
478
|
+
**性质**:仅为 `/forge` 波次交付封面索引;**不**替代 §3.6 的 `code-reviewer` 审查报告体。
|
|
479
|
+
|
|
480
|
+
```markdown
|
|
481
|
+
## Wave {N} 交付索引
|
|
482
|
+
|
|
483
|
+
| 项 | 值 |
|
|
484
|
+
| -- | -- |
|
|
485
|
+
| Wave | {N} |
|
|
486
|
+
| 任务 ID | T…, T… |
|
|
487
|
+
| 分支 @ HEAD | `feature/…` @ `<短 SHA>` |
|
|
488
|
+
| code-reviewer 文件 | `wave-reviews/wave-{N}-review.md` / 豁免:`wave-reviews/wave-{N}-WAIVED.md` |
|
|
489
|
+
| 最高严重度 | 无 / Low / Medium / High / Critical(豁免时写 `N/A — USER_OPT_OUT`) |
|
|
490
|
+
| 残留待跟进 | 无 / 列出 Medium 及以上未闭环条目 |
|
|
491
|
+
| §3.7 E2E | 已做(`wave-reviews/wave-{N}-e2e.md`)/ 已跳过 / N/A |
|
|
492
|
+
| 本波可进 Step 4 | 是 / 否 |
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
> [!IMPORTANT]
|
|
496
|
+
> **「本波可进 Step 4 = 是」必须同时满足**:
|
|
497
|
+
>
|
|
498
|
+
> 1. **物理文件存在**:`{TARGET_DIR}/wave-reviews/wave-{N}-review.md` **或** `{TARGET_DIR}/wave-reviews/wave-{N}-WAIVED.md` 存在(任一)。
|
|
499
|
+
> 2. **§3.6 严重度门禁**:审查文件中无未闭环 Critical;High 已显式承担(含承担记录)或路由到 `/change` / `/genesis`。
|
|
500
|
+
> 3. **§3.7** 已按触发条件执行或标 N/A。
|
|
501
|
+
> 4. **索引表 8 行**全部填齐。
|
|
502
|
+
>
|
|
503
|
+
> 任一不满足 → 视为交付不完整,**禁止**进入 **Step 4.1+**。
|
|
456
504
|
|
|
457
505
|
---
|
|
458
506
|
|
|
@@ -460,14 +508,22 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
460
508
|
|
|
461
509
|
**目标**: 结算本波次,更新状态,准备下一步。
|
|
462
510
|
|
|
463
|
-
### 4.0 Wave
|
|
511
|
+
### 4.0 Wave 合拢门禁(硬 / 按物理文件检查)
|
|
512
|
+
|
|
513
|
+
同时满足方可进入 **4.1+**(**任一不满足 = 硬阻塞,含 AUTO**):
|
|
464
514
|
|
|
465
|
-
|
|
515
|
+
1. **§3.6 物理证据**:`{TARGET_DIR}/wave-reviews/wave-{N}-review.md` **或** `{TARGET_DIR}/wave-reviews/wave-{N}-WAIVED.md` 文件**真实存在**。
|
|
516
|
+
- 文件不存在 → **硬阻塞**,无任何例外。
|
|
517
|
+
- 表格自填、口头声称"已审查"、"忘了写文件" → 一律不算数。
|
|
518
|
+
2. **§3.6 严重度门禁**:审查文件中**无未闭环的 Critical**;High 已显式承担(承担记录写入审查文件末尾)或已路由到 `/change` / `/genesis`。
|
|
519
|
+
3. **§3.7**:按触发条件已执行(`wave-{N}-e2e.md` 落盘)或在 §3.8 索引表标 `N/A` / 已跳过。
|
|
520
|
+
4. **§3.8 索引表**:已写入会话回顾或 `AGENTS.md` Wave 块,8 行齐全且「本波可进 Step 4 = 是」。
|
|
521
|
+
5. **Step 3 任务**:本波内**全部**任务已完成,且 **§3.5**(每任务 commit + `05A_TASKS` 回写)已闭环。
|
|
466
522
|
|
|
467
|
-
|
|
468
|
-
2. **Step 3**:本波内**全部**任务已完成,且 **§3.6**(每任务 commit + `05A_TASKS` 回写)已闭环。
|
|
523
|
+
**不满足 → 禁止**进入 **4.1 及之后**;回到对应步骤补齐波末合拢。
|
|
469
524
|
|
|
470
|
-
|
|
525
|
+
> [!IMPORTANT]
|
|
526
|
+
> **检查必须是物理动作**:进入 §4.1 之前,AI 必须真的列出 `{TARGET_DIR}/wave-reviews/` 目录下的文件,确认 review 或 WAIVED 文件存在。**不得**仅凭"我刚才好像写过"的记忆就判定通过。
|
|
471
527
|
|
|
472
528
|
### 4.1 更新状态
|
|
473
529
|
|
|
@@ -484,18 +540,18 @@ T{X.Y.Z}, T{X.Y.Z}, T{X.Y.Z}
|
|
|
484
540
|
|
|
485
541
|
### 4.2 波次回顾
|
|
486
542
|
|
|
487
|
-
向用户按 **Wave 完成模板**汇报(可与 `AGENTS.md` / 会话归档对齐);**须包含** **§3.
|
|
543
|
+
向用户按 **Wave 完成模板**汇报(可与 `AGENTS.md` / 会话归档对齐);**须包含** **§3.8** 交付索引表(整表粘贴,**不**展开 `code-reviewer` 全文):
|
|
488
544
|
|
|
489
545
|
```markdown
|
|
490
546
|
## 🌊 Wave {N} 完成
|
|
491
547
|
|
|
492
548
|
**已完成**: T{X.Y.Z}, T{X.Y.Z}, ...
|
|
493
549
|
**验证状态**: 全部通过 / 部分通过
|
|
494
|
-
**Code review(检测与修复结果)**: 最高严重度:无 / Low / Medium / High / Critical;本波已修复:…;残留待跟进:无 /
|
|
550
|
+
**Code review(检测与修复结果)**: 最高严重度:无 / Low / Medium / High / Critical;本波已修复:…;残留待跟进:无 / …(**审查正文文件**:`wave-reviews/wave-{N}-review.md`;若豁免写 `wave-reviews/wave-{N}-WAIVED.md`)
|
|
495
551
|
**发现的问题** (如有): ...
|
|
496
552
|
**阻塞项** (如有): ...
|
|
497
553
|
|
|
498
|
-
(粘贴 §3.
|
|
554
|
+
(粘贴 §3.8「Wave {N} 交付索引」表)
|
|
499
555
|
```
|
|
500
556
|
|
|
501
557
|
### 4.3 Git commit 状态更新
|
|
@@ -522,9 +578,12 @@ chore(wave): settle wave {N} progress
|
|
|
522
578
|
> - 命中手动验证且需要用户最终确认
|
|
523
579
|
> - `/change` 评估后发现必须升级到 `/genesis`
|
|
524
580
|
> - 其他工作流要求用户作出新的版本级决定
|
|
525
|
-
> - **§3.
|
|
581
|
+
> - **§3.6 波末 `code-reviewer`** 产出未解决的 **Critical**(强制停下);或 **High** 且无法在本会话内按 skill 收窄为可执行修复路径(须走 `/change` / `/genesis` 或用户显式承担风险——**未显式承担则停**)
|
|
582
|
+
> - **§3.6 落盘缺失**:审查文件与豁免凭证文件**都不存在**(这种情况是工作流违规,必须停下补齐,不能蒙混过关)
|
|
526
583
|
>
|
|
527
584
|
> 命中以上任一条件,AUTO 必须立即停止,等待用户批准。
|
|
585
|
+
>
|
|
586
|
+
> **AUTO ≠ 跳 review**:AUTO 模式只是免去「确认下一波」的口头确认,**不**免去 §3.6 / §3.7 / §3.8 的执行义务。
|
|
528
587
|
|
|
529
588
|
---
|
|
530
589
|
|