openmatrix 0.2.14 → 0.2.16

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/skills/auto.md CHANGED
@@ -154,7 +154,7 @@ openmatrix complete TASK-XXX --success # 标记完成 + 更新统计(含
154
154
  # 提交验证(防止 commit 静默失败):
155
155
  git status --porcelain # 检查是否有未提交的文件
156
156
  # 如果有未提交文件 → 必须手动提交:
157
- git add -A && git commit -m "feat(TASK-XXX): 任务标题"
157
+ git add . && git commit -m "feat(TASK-XXX): 任务标题"
158
158
 
159
159
  openmatrix step --json # 获取下一个任务 + 检查是否全部完成
160
160
  ```
@@ -167,7 +167,68 @@ openmatrix step --json # 获取下一个任务 + 检查是
167
167
  4. 如果返回 `status: "blocked"` → 有阻塞任务需要处理
168
168
  </LOOP-ENFORCEMENT>
169
169
 
170
- `subagentTasks` 列表中的每个任务,**必须使用 Agent 工具**(禁止用 gsd-executor 或其他技能替代):
170
+ #### 6.1 歧义检测机制(全自动模式)
171
+
172
+ **Agent 输出中可能包含歧义报告(JSON 格式):**
173
+
174
+ 当 Agent 输出包含以下标记时,表示检测到歧义:
175
+ ```
176
+ <AMBIGUITY_REPORT>
177
+ {
178
+ "ambiguities": [
179
+ {
180
+ "type": "missing_info" | "conflicting_req" | "unclear_scope" | "tech_choice" | "edge_case",
181
+ "severity": "critical" | "high" | "medium" | "low",
182
+ "description": "歧义描述",
183
+ "suggestions": ["建议1", "建议2"]
184
+ }
185
+ ],
186
+ "overallSeverity": "critical" | "high" | "medium" | "low"
187
+ }
188
+ </AMBIGUITY_REPORT>
189
+ ```
190
+
191
+ **5 种歧义类型说明:**
192
+
193
+ | 类型 | 说明 | 示例 |
194
+ |------|------|------|
195
+ | `missing_info` | 缺失关键信息 | "未指定数据库类型" |
196
+ | `conflicting_req` | 需求冲突 | "既要高性能又要低成本" |
197
+ | `unclear_scope` | 范围不清晰 | "是否包含历史数据处理?" |
198
+ | `tech_choice` | 技术选型歧义 | "用 REST 还是 GraphQL?" |
199
+ | `edge_case` | 边界情况未定义 | "超过限制时如何处理?" |
200
+
201
+ #### 6.2 歧义处理策略(全自动模式)
202
+
203
+ **在 `/om:auto` 全自动模式下,所有歧义都写入 Meeting 继续执行,不中断流程:**
204
+
205
+ | 严重程度 | 处理方式 |
206
+ |---------|---------|
207
+ | **Critical** | Meeting + 继续执行其他任务 |
208
+ | **High** | Meeting + 继续执行其他任务 |
209
+ | **Medium** | Meeting + 继续执行其他任务 |
210
+ | **Low** | Meeting + 继续执行其他任务 |
211
+
212
+ **全自动模式特点:**
213
+ - ❌ **不使用 AskUserQuestion** — 全自动执行,零人工干预
214
+ - ✅ **所有歧义写入 Meeting** — 执行完成后统一展示
215
+ - ✅ **继续执行其他任务** — 最大化并行度,无阻塞等待
216
+
217
+ **Meeting 处理流程:**
218
+ ```bash
219
+ # 检测到歧义时,写入 Meeting 记录并继续执行
220
+ openmatrix meeting --create --task TASK-XXX --reason "歧义: ${description}" --severity ${overallSeverity}
221
+
222
+ # 继续执行下一个任务
223
+ openmatrix step --json
224
+ ```
225
+
226
+ **执行完成后提示用户:**
227
+ ```
228
+ ⚠️ 检测到 N 个歧义记录,请使用 `/om:meeting` 统一处理
229
+ ```
230
+
231
+ #### 6.3 执行 Agent 任务
171
232
 
172
233
  ```typescript
173
234
  Agent({
@@ -246,7 +307,7 @@ openmatrix step --json
246
307
  Agent-1 完成 → 写入 context.md → Agent-2 读取 Agent-1 的上下文 → 写入 context.md → ...
247
308
  ```
248
309
  ```bash
249
- git add -A && git commit -m "$(cat <<'EOF'
310
+ git add . && git commit -m "$(cat <<'EOF'
250
311
  feat: 任务标题
251
312
 
252
313
  改动点1
package/skills/debug.md CHANGED
@@ -440,7 +440,7 @@ ${lessons}
440
440
  ```bash
441
441
  git status --porcelain
442
442
  # 如果有未提交文件:
443
- git add -A && git commit -m "$(cat <<'EOF'
443
+ git add . && git commit -m "$(cat <<'EOF'
444
444
  fix: 修复 bug - 问题描述
445
445
 
446
446
  根因: ...
package/skills/feature.md CHANGED
@@ -20,16 +20,18 @@ priority: high
20
20
  ## 执行顺序 - 必须严格按此顺序,不得跳过
21
21
 
22
22
  ```
23
+ Step 0: Git 前置检查与持久化初始化(必须执行)
23
24
  Step 1: 接收任务输入(参数、文件、或询问用户)
24
25
  Step 2: AI 自动判断任务边界(不符合条件才询问切换)
25
- Step 3: AI 拆分为 2-5 个小任务块
26
- Step 4: TodoWrite 管理任务状态
27
- Step 5: 问答确认(质量等级、E2E测试、执行计划)
28
- Step 6: 逐个执行小任务
29
- Step 7: 验证(按质量等级)
30
- Step 8: 分步 Git 提交
31
- Step 9: 全部任务完成后整体验证
32
- Step 10: 输出执行摘要并清理
26
+ Step 3: 收集项目上下文(技术栈、目录结构、CLAUDE.md)
27
+ Step 4: AI 拆分为 2-5 个小任务块
28
+ Step 5: 用 TodoWrite 管理任务状态
29
+ Step 6: 问答确认(质量等级、E2E测试、执行计划)
30
+ Step 7: 逐个执行小任务(含跨 Agent 上下文传递)
31
+ Step 8: 验证(按质量等级)
32
+ Step 9: 分步 Git 提交
33
+ Step 10: 全部任务完成后整体验证
34
+ Step 11: 输出执行摘要并清理
33
35
  ```
34
36
 
35
37
  **铁律:不验证不得提交,验证失败必须停止**
@@ -44,6 +46,39 @@ Step 10: 输出执行摘要并清理
44
46
 
45
47
  <process>
46
48
 
49
+ ## Step 0: Git 前置检查与持久化初始化(必须执行)
50
+
51
+ **检查 Git 仓库:**
52
+
53
+ ```bash
54
+ ls -la .git 2>/dev/null || echo "NOT_INITIALIZED"
55
+ git status --porcelain
56
+ ```
57
+
58
+ | 检查结果 | 处理 |
59
+ |---------|------|
60
+ | `NOT_INITIALIZED` | AskUserQuestion 是否初始化 git |
61
+ | 有未提交文件 | AskUserQuestion 处理方式(暂存/忽略/取消) |
62
+ | 干净 | 继续执行 |
63
+
64
+ **初始化持久化状态:**
65
+
66
+ ```bash
67
+ mkdir -p .openmatrix
68
+ cat > .openmatrix/feature-session.json << 'EOF'
69
+ {
70
+ "sessionId": "FEATURE-$(date +%Y%m%d%H%M%S)",
71
+ "status": "running",
72
+ "tasks": [],
73
+ "currentTaskIndex": 0,
74
+ "quality": null,
75
+ "failureCount": {}
76
+ }
77
+ EOF
78
+ echo '' > .openmatrix/feature-context.md
79
+ echo '' > .openmatrix/feature-progress.md
80
+ ```
81
+
47
82
  ## Step 1: 接收任务输入
48
83
 
49
84
  **检查 `$ARGUMENTS`:**
@@ -82,7 +117,7 @@ AskUserQuestion: `header: "任务描述"`, `multiSelect: false`
82
117
 
83
118
  | 结果 | 处理 |
84
119
  |------|------|
85
- | ✅ 全部满足 | 继续执行 Step 3 |
120
+ | ✅ 全部满足 | 继续执行 Step 3 收集上下文 |
86
121
  | ❌ 不满足 | 输出建议并询问是否切换到 `/om:start` |
87
122
 
88
123
  **如果需要切换,询问:**
@@ -95,7 +130,35 @@ AskUserQuestion: `header: "任务复杂度"`, `multiSelect: false`
95
130
  | 切换到 /om:start | 使用完整流程 |
96
131
  | 继续用 /om:feature | 强制使用轻量流程(可能无法完整追踪) |
97
132
 
98
- ## Step 3: AI 拆分为 2-5 个小任务块
133
+ ## Step 3: 收集项目上下文并写入文件
134
+
135
+ **收集并写入上下文文件:**
136
+
137
+ ```bash
138
+ mkdir -p .openmatrix
139
+
140
+ # 写入上下文文件头
141
+ echo "# 项目上下文" > .openmatrix/feature-context.md
142
+ echo "" >> .openmatrix/feature-context.md
143
+
144
+ # 收集技术栈并写入文件
145
+ echo "## 技术栈" >> .openmatrix/feature-context.md
146
+ cat package.json 2>/dev/null | grep -E '"(react|vue|angular|next|express|fastify|koa|typeorm|prisma|sequelize|mongoose|jest|vitest|playwright|cypress)"' >> .openmatrix/feature-context.md || echo "未检测到常见框架" >> .openmatrix/feature-context.md
147
+ echo "" >> .openmatrix/feature-context.md
148
+
149
+ # 收集目录结构并写入文件
150
+ echo "## 目录结构" >> .openmatrix/feature-context.md
151
+ find . -maxdepth 2 -type d -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/dist/*' -not -path '*/.openmatrix/*' 2>/dev/null | head -30 >> .openmatrix/feature-context.md
152
+ echo "" >> .openmatrix/feature-context.md
153
+
154
+ # 读取 CLAUDE.md 并写入文件
155
+ echo "## 项目规范(来自 CLAUDE.md)" >> .openmatrix/feature-context.md
156
+ cat CLAUDE.md 2>/dev/null | head -50 >> .openmatrix/feature-context.md || echo "无 CLAUDE.md" >> .openmatrix/feature-context.md
157
+ ```
158
+
159
+ 上下文已写入 `.openmatrix/feature-context.md`,后续 Agent 会读取此文件。
160
+
161
+ ## Step 4: AI 拆分为 2-5 个小任务块
99
162
 
100
163
  **调用 Agent 进行任务拆分:**
101
164
 
@@ -108,11 +171,14 @@ Agent({
108
171
  ## 用户需求
109
172
  ${taskDescription}
110
173
 
174
+ ${projectContext}
175
+
111
176
  ## 拆分原则
112
177
  1. 拆分粒度:每个小块 ≤ 30 分钟工作量
113
178
  2. 拆分方向:数据层 → API层 → UI层 / 核心逻辑 → 边界处理
114
179
  3. 依赖关系:确保后续任务可依赖前面的成果
115
- 4. 文件预估:每个任务预估涉及的文件
180
+ 4. 文件预估:基于项目目录结构,预估每个任务涉及的文件路径
181
+ 5. 技术栈对齐:使用项目已有的框架和库,不引入新依赖
116
182
 
117
183
  ## 输出格式
118
184
  请按以下格式输出:
@@ -125,7 +191,7 @@ ${taskDescription}
125
191
  拆分为 N 个小任务:
126
192
  1. [任务名称]
127
193
  描述:[简要描述]
128
- 预估文件:[文件列表]
194
+ 预估文件:[基于项目结构的文件路径列表]
129
195
  预估时间:[分钟]
130
196
 
131
197
  2. [任务名称]
@@ -137,12 +203,13 @@ ${taskDescription}
137
203
 
138
204
  ## 注意事项
139
205
  - 如果任务过于复杂无法拆分,明确说明并建议使用完整流程
140
- - 保持任务块独立性,便于验证和提交`,
206
+ - 保持任务块独立性,便于验证和提交
207
+ - 文件路径必须基于实际项目结构`,
141
208
  run_in_background: false
142
209
  })
143
210
  ```
144
211
 
145
- ## Step 4: 用 TodoWrite 管理任务状态
212
+ ## Step 5: 用 TodoWrite 管理任务状态
146
213
 
147
214
  **将拆分的任务写入 TodoWrite:**
148
215
 
@@ -156,13 +223,13 @@ TodoWrite({
156
223
  })
157
224
  ```
158
225
 
159
- 状态仅在当前会话有效,不产生持久化文件。
226
+ 状态同时在会话和 `.openmatrix/feature-session.json` 中管理。
160
227
 
161
- ## Step 5: 问答确认
228
+ ## Step 6: 问答确认
162
229
 
163
230
  **⛔ 执行前必须确认所有配置**
164
231
 
165
- **5.1 质量等级(必选)**
232
+ **6.1 质量等级(必选)**
166
233
 
167
234
  AskUserQuestion: `header: "质量等级"`, `multiSelect: false`
168
235
 
@@ -174,7 +241,7 @@ AskUserQuestion: `header: "质量等级"`, `multiSelect: false`
174
241
  | `balanced (推荐)` | >60%覆盖率 + Lint + 安全扫描 — 日常开发 |
175
242
  | `fast` | 无质量门禁 — 快速原型/验证 |
176
243
 
177
- **5.2 E2E 测试(仅 strict/balanced)**
244
+ **6.2 E2E 测试(仅 strict/balanced)**
178
245
 
179
246
  AskUserQuestion: `header: "E2E 测试"`, `multiSelect: false`
180
247
 
@@ -186,7 +253,7 @@ AskUserQuestion: `header: "E2E 测试"`, `multiSelect: false`
186
253
  | `视觉验证` | 需要浏览器可视化验证 UI 样式 |
187
254
  | `不需要 (推荐)` | 仅单元测试和集成测试 |
188
255
 
189
- **5.3 确认拆分计划**
256
+ **6.3 确认拆分计划**
190
257
 
191
258
  AskUserQuestion: `header: "确认计划"`, `multiSelect: false`
192
259
 
@@ -197,16 +264,65 @@ AskUserQuestion: `header: "确认计划"`, `multiSelect: false`
197
264
  | `开始执行 (推荐)` | 按计划逐个执行 |
198
265
  | `调整计划` | 重新拆分任务 |
199
266
 
200
- ## Step 6: 逐个执行小任务
267
+ ## Step 7: 逐个执行小任务
201
268
 
202
269
  **对 TodoWrite 中的每个任务(按顺序):**
203
270
 
204
- **6.1 更新状态为 in_progress**
271
+ **7.1 更新状态为 in_progress**
205
272
  ```typescript
206
273
  TodoWrite({ todos: [...] }) // 当前任务标记 in_progress
207
274
  ```
208
275
 
209
- **6.2 调用 Agent 执行**
276
+ **7.2 歧义检测与处理**
277
+
278
+ Agent 输出中可能包含歧义报告:
279
+
280
+ 当 Agent 输出包含以下标记时,表示检测到歧义:
281
+ ```
282
+ <AMBIGUITY_REPORT>
283
+ {
284
+ "ambiguities": [
285
+ {
286
+ "type": "missing_info" | "conflicting_req" | "unclear_scope" | "tech_choice" | "edge_case",
287
+ "severity": "critical" | "high" | "medium" | "low",
288
+ "description": "歧义描述",
289
+ "suggestions": ["建议1", "建议2"]
290
+ }
291
+ ],
292
+ "overallSeverity": "critical" | "high" | "medium" | "low"
293
+ }
294
+ </AMBIGUITY_REPORT>
295
+ ```
296
+
297
+ **5 种歧义类型说明:**
298
+
299
+ | 类型 | 说明 | 示例 |
300
+ |------|------|------|
301
+ | `missing_info` | 缺失关键信息 | "未指定数据库类型" |
302
+ | `conflicting_req` | 需求冲突 | "既要高性能又要低成本" |
303
+ | `unclear_scope` | 范围不清晰 | "是否包含历史数据处理?" |
304
+ | `tech_choice` | 技术选型歧义 | "用 REST 还是 GraphQL?" |
305
+ | `edge_case` | 边界情况未定义 | "超过限制时如何处理?" |
306
+
307
+ **歧义处理策略(轻量模式):**
308
+
309
+ | 严重程度 | 处理方式 |
310
+ |---------|---------|
311
+ | **Critical/High** | AskUserQuestion 立即确认 |
312
+ | **Medium/Low** | 写入进度文件,继续执行 |
313
+
314
+ **AskUserQuestion 处理(仅 Critical/High):**
315
+
316
+ AskUserQuestion: `header: "歧义确认"`, `multiSelect: false`
317
+ **question:** 检测到 ${severity} 级歧义:${description}。请确认处理方式
318
+
319
+ | label | description |
320
+ |-------|-------------|
321
+ | 提供信息 | 回答歧义相关问题,继续执行 |
322
+ | 跳过任务块 | 标记当前任务块为可选,继续执行下一个 |
323
+ | 修改方案 | 根据歧义调整方案后继续 |
324
+
325
+ **7.3 调用 Agent 执行**
210
326
 
211
327
  ```typescript
212
328
  Agent({
@@ -214,7 +330,16 @@ Agent({
214
330
  description: task.content,
215
331
  prompt: `你是实现专家。执行以下任务块。
216
332
 
217
- ## 任务信息
333
+ ## 项目上下文(请读取文件)
334
+ 请先读取 .openmatrix/feature-context.md 了解项目上下文。
335
+
336
+ ## 前序任务结果(请读取文件)
337
+ 请读取 .openmatrix/feature-progress.md 了解前序 Agent 的决策和发现。
338
+
339
+ ## 整体任务
340
+ ${taskDescription}
341
+
342
+ ## 当前任务
218
343
  - 任务名称:${task.content}
219
344
  - 预估文件:${task.files}
220
345
  - 质量等级:${quality}
@@ -236,16 +361,17 @@ ${quality === 'strict' ? `
236
361
  `}
237
362
 
238
363
  ## 实施原则
239
- 1. 只修改当前任务相关的文件
240
- 2. 不做"顺便"的重构或优化
241
- 3. 确保代码风格与项目一致
242
- 4. 完成后运行相关测试验证
364
+ 1. 先阅读预估文件中的现有代码,理解上下文后再动手
365
+ 2. 只修改当前任务相关的文件
366
+ 3. 不做"顺便"的重构或优化
367
+ 4. 确保代码风格与项目现有代码一致
368
+ 5. 完成后运行相关测试验证
243
369
 
244
370
  ## 完成后输出
245
371
  请按以下格式输出(不超过3行):
246
- 1. 关键决策
372
+ 1. 关键决策:[做了什么决策及原因]
247
373
  2. 创建/修改的文件列表
248
- 3. 对后续任务的建议
374
+ 3. 对后续任务的建议或注意事项
249
375
 
250
376
  ## 禁止行为
251
377
  ❌ 执行 git commit(由主流程处理)
@@ -263,47 +389,79 @@ ${quality === 'strict' ? `
263
389
  })
264
390
  ```
265
391
 
266
- **6.3 等待 Agent 完成,接收通知**
392
+ **7.3 等待 Agent 完成,写入进度文件**
393
+
394
+ Agent 完成后,将输出中的关键决策和建议写入 `.openmatrix/feature-progress.md` 文件:
395
+
396
+ ```bash
397
+ # Agent 完成后,追加写入进度文件
398
+ echo "" >> .openmatrix/feature-progress.md
399
+ echo "## 任务 N: ${task.content}" >> .openmatrix/feature-progress.md
400
+ echo "${agentOutput}" >> .openmatrix/feature-progress.md
401
+ echo "" >> .openmatrix/feature-progress.md
402
+ ```
267
403
 
268
- ## Step 7: 验证(按质量等级)
404
+ 这样后续 Agent 能通过读取文件获取前序 Agent 的决策和发现。
405
+
406
+ ## Step 8: 验证(按质量等级)
269
407
 
270
408
  **⛔ 验证不通过不得提交,必须停止等待修复**
271
409
 
272
410
  每个任务完成后,根据质量等级执行验证:
273
411
 
274
- **7.1 执行验证命令**
412
+ **8.1 执行验证命令**
275
413
 
276
414
  | 质量等级 | 验证命令 |
277
415
  |---------|---------|
278
- | `strict` | `npm test -- --run && npm run lint && npm run test:coverage` |
279
- | `balanced` | `npm test -- --run && npm run lint` |
416
+ | `strict` | `npm test -- --run && npm run lint && npm run test:coverage && npm audit --audit-level=moderate` |
417
+ | `balanced` | `npm test -- --run && npm run lint && npm audit --audit-level=moderate` |
280
418
  | `fast` | 跳过验证 |
281
419
 
282
- **7.2 E2E 验证(如果用户选择)**
420
+ **覆盖率阈值检查说明:**
421
+ - strict 模式要求 >80% 覆盖率,`npm run test:coverage` 命令应输出覆盖率报告
422
+ - balanced 模式要求 >60% 覆盖率,建议定期检查覆盖率报告
423
+
424
+ **8.2 E2E 验证(如果用户选择)**
283
425
  - 功能测试:`npm run test:e2e`
284
426
  - 视觉验证:启动 Playwright 截图对比
285
427
 
286
- **7.3 验证结果判断**
428
+ **8.3 验证结果自动判断**
287
429
 
288
- AskUserQuestion: `header: "验证结果"`, `multiSelect: false`
289
- **question:** 任务验证通过了吗?
430
+ 验证命令执行后,根据退出码自动判断结果:
290
431
 
291
- | label | description |
292
- |-------|-------------|
293
- | 通过 | 验证成功,继续提交 |
294
- | 未通过 | 验证失败,停止执行 |
432
+ ```bash
433
+ # 执行验证命令并捕获结果
434
+ if npm test -- --run && npm run lint; then
435
+ # 验证成功
436
+ echo "✅ 验证通过"
437
+ else
438
+ # 验证失败
439
+ echo "❌ 验证失败"
440
+ npm test -- --run 2>&1 | tail -30 # 展示失败详情
441
+ exit 1
442
+ fi
443
+ ```
295
444
 
296
- **如果验证未通过:**
297
- - 展示验证失败详情
445
+ **验证失败处理:**
446
+ - 自动展示验证失败详情(最后 30 行输出)
298
447
  - 停止执行流程
299
- - 提示用户修复后使用 `/om:resume` 继续
448
+ - 提示用户修复后使用 `/om:resume-feature` 继续
449
+
450
+ **验证成功处理:**
451
+ - 继续执行 Step 9 Git 提交
300
452
 
301
- ## Step 8: 分步 Git 提交
453
+ ## Step 9: 分步 Git 提交
302
454
 
303
455
  **⛔ 验证通过后必须立即提交,不得积累多个任务块**
304
456
 
457
+ **只提交本次任务修改的文件(而非 `git add -A`):**
458
+
305
459
  ```bash
306
- git add -A
460
+ # 获取本次任务修改的文件列表(从 Agent 输出中提取)
461
+ git status --porcelain
462
+
463
+ # 只提交任务涉及的文件
464
+ git add ${modifiedFiles}
307
465
  git commit -m "$(cat <<'EOF'
308
466
  feat(feature): ${originalTask} - ${currentChunk}
309
467
 
@@ -319,18 +477,18 @@ EOF
319
477
  1. **更新 TodoWrite 状态为 completed**
320
478
  2. **继续下一个任务**
321
479
 
322
- ## Step 9: 全部任务完成后
480
+ ## Step 10: 全部任务完成后
323
481
 
324
482
  **检查 TodoWrite 所有任务状态为 `completed`:**
325
483
 
326
- **9.1 运行最终整体验证**
484
+ **10.1 运行最终整体验证**
327
485
  ```bash
328
486
  npm test -- --run
329
487
  ```
330
488
 
331
- **9.2 收集所有任务的执行摘要**
489
+ **10.2 收集所有任务的执行摘要**
332
490
 
333
- ## Step 10: 输出执行摘要并清理
491
+ ## Step 11: 输出执行摘要并清理
334
492
 
335
493
  **展示执行摘要:**
336
494
 
@@ -356,8 +514,8 @@ ${decisions}
356
514
 
357
515
  **清理操作:**
358
516
  - TodoWrite 所有任务保持 completed 状态
359
- - 不产生任何 `.openmatrix/` 持久化文件
360
- - 会话结束后状态自动消失
517
+ - 持久化文件可选择保留或手动清理
518
+ - 任务完成后状态标记为 `completed`
361
519
 
362
520
  </process>
363
521
 
@@ -410,12 +568,12 @@ $ARGUMENTS
410
568
 
411
569
  ## 与其他指令的区别
412
570
 
413
- | 指令 | 适用场景 | 任务文件 | 问答 | 验证 |
414
- |-----|---------|:-------:|:----:|:----:|
415
- | `/om:feature` | 小需求(≤100字,单一功能) | ❌ | 质量+E2E | 按等级 |
416
- | `/om:start` | 标准任务 | ✅ | 质量+E2E+模式 | 按等级 |
417
- | `/om:brainstorm` | 复杂任务 | ✅ | 设计问答 | 按等级 |
418
- | `/om:auto` | 全自动执行 | ✅ | 无 | 按等级 |
571
+ | 指令 | 适用场景 | 任务文件 | 问答 | 验证 | 持久化 |
572
+ |-----|---------|:-------:|:----:|:----:|:-----:|
573
+ | `/om:feature` | 小需求(≤100字,单一功能) | ❌ | 质量+E2E | 按等级 | 必须 |
574
+ | `/om:start` | 标准任务 | ✅ | 质量+E2E+模式 | 按等级 | 必须 |
575
+ | `/om:brainstorm` | 复杂任务 | ✅ | 设计问答 | 按等级 | 必须 |
576
+ | `/om:auto` | 全自动执行 | ✅ | 无 | 按等级 | 必须 |
419
577
 
420
578
  ## 路由触发条件
421
579
 
@@ -428,13 +586,14 @@ $ARGUMENTS
428
586
  ## 错误处理流程
429
587
 
430
588
  ```
431
- 验证失败 → 停止执行 → 展示错误详情 → 提示用户修复 → 建议使用 /om:resume 继续
589
+ 验证失败 → 停止执行 → 展示错误详情 → 提示用户修复 → 使用 /om:resume-feature 恢复
432
590
  ```
433
591
 
434
592
  | 错误 | 处理 |
435
593
  |-----|-----|
436
594
  | 测试失败 | 停止,提示用户修复 |
437
595
  | Lint 错误 | 停止,提示用户修复 |
596
+ | 安全扫描失败 | 停止,提示用户修复 |
438
597
  | Agent 超时 | 询问重试或跳过 |
439
598
  | Git 失败 | 提示手动处理 |
440
599
 
@@ -470,8 +629,14 @@ type: feat/fix/test/refactor/docs
470
629
 
471
630
  ## 恢复执行
472
631
 
473
- 如果验证失败需要修复,使用 `/om:resume` 继续执行:
474
- ```bash
475
- /om:resume
476
- ```
632
+ 如果验证失败需要修复:
633
+
634
+ 使用 `/om:resume-feature` 继续执行(读取 `.openmatrix/feature-session.json`)
635
+
636
+ ## 挡久化文件说明
637
+
638
+ 执行过程中产生以下文件:
639
+ - `.openmatrix/feature-session.json` - 会话状态(任务列表、当前索引、质量等级)
640
+ - `.openmatrix/feature-context.md` - 项目上下文
641
+ - `.openmatrix/feature-progress.md` - Agent 执行进度
477
642
  </notes>