openmatrix 0.2.9 → 0.2.11

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.
@@ -251,11 +251,21 @@ ${task.acceptanceCriteria?.map((c, i) => `${i + 1}. ${c}`).join('\n') || '根据
251
251
  ## 验证
252
252
  运行 \`npm test\` 确认测试失败 (这是正确的!)
253
253
 
254
- ## ⚠️ Git 提交规范
255
-
256
- **禁止执行 \`git commit\`**
257
-
258
- 所有代码提交必须通过 \`openmatrix complete\` 命令统一执行。测试文件创建完成后,只需返回结果摘要,**不要执行 git commit**。
254
+ ## ⚠️ Git 操作禁止
255
+
256
+ **禁止执行以下 Git 命令**:
257
+ - ❌ \`git commit\` — 所有提交统一通过 \`openmatrix complete\` 执行
258
+ - \`git checkout\` 不要切换分支
259
+ - ❌ \`git merge\` — 不要合并其他分支
260
+ - ❌ \`git pull\` — 不要拉取远程更新
261
+ - ❌ \`git push\` — 不要推送代码
262
+ - ❌ \`git rebase\` — 不要变基
263
+ - ❌ \`git branch\` — 不要创建/删除分支
264
+
265
+ **允许的 Git 命令**:
266
+ - ✅ \`git status\` — 查看状态
267
+ - ✅ \`git diff\` — 查看差异
268
+ - ✅ \`git log\` — 查看历史
259
269
 
260
270
  ## 输出格式
261
271
  \`\`\`
@@ -386,16 +396,23 @@ ${task.acceptanceCriteria.map((c, i) => `${i + 1}. [ ] ${c}`).join('\n')}`);
386
396
  - [ ] 验收标准全部满足
387
397
  ${isTDDMode ? '- [ ] 所有测试通过 (GREEN)' : ''}
388
398
 
389
- ## ⚠️ Git 提交规范
399
+ ## ⚠️ Git 操作禁止
390
400
 
391
- **禁止执行 \`git commit\`**
401
+ **禁止执行以下 Git 命令**:
402
+ - ❌ \`git commit\` — 所有提交统一通过 \`openmatrix complete\` 执行
403
+ - ❌ \`git checkout\` — 不要切换分支
404
+ - ❌ \`git merge\` — 不要合并其他分支
405
+ - ❌ \`git pull\` — 不要拉取远程更新
406
+ - ❌ \`git push\` — 不要推送代码
407
+ - ❌ \`git rebase\` — 不要变基
408
+ - ❌ \`git branch\` — 不要创建/删除分支
392
409
 
393
- 所有代码提交必须通过 \`openmatrix complete\` 命令统一执行,该命令会:
394
- 1. 使用正确的任务标题 (当前任务: ${task.title})
395
- 2. 自动生成规范的提交信息
396
- 3. 避免产生重复或无意义的提交
410
+ **允许的 Git 命令**:
411
+ - \`git status\` — 查看状态
412
+ - ✅ \`git diff\` — 查看差异
413
+ - ✅ \`git log\` — 查看历史
397
414
 
398
- 如果代码变更已完成,只需返回结果摘要,**不要执行 git commit**。
415
+ 如果代码变更已完成,只需返回结果摘要。
399
416
  `);
400
417
  return parts.join('\n');
401
418
  }
@@ -676,7 +693,21 @@ Fix Required:
676
693
  - **不要伪造通过结果**
677
694
  - 如果项目没有某个脚本,标记为 "⏭️ Skipped" 而非 "❌ Failed"
678
695
  - 所有检查结果必须基于实际命令输出
679
- - **禁止执行 \`git commit\`** — 所有提交统一通过 \`openmatrix complete\` 执行
696
+ ## ⚠️ Git 操作禁止
697
+
698
+ **禁止执行以下 Git 命令**:
699
+ - ❌ \`git commit\` — 所有提交统一通过 \`openmatrix complete\` 执行
700
+ - ❌ \`git checkout\` — 不要切换分支
701
+ - ❌ \`git merge\` — 不要合并其他分支
702
+ - ❌ \`git pull\` — 不要拉取远程更新
703
+ - ❌ \`git push\` — 不要推送代码
704
+ - ❌ \`git rebase\` — 不要变基
705
+ - ❌ \`git branch\` — 不要创建/删除分支
706
+
707
+ **允许的 Git 命令**:
708
+ - ✅ \`git status\` — 查看状态
709
+ - ✅ \`git diff\` — 查看差异
710
+ - ✅ \`git log\` — 查看历史
680
711
 
681
712
  ## 🔧 配置检查 (可选但推荐)
682
713
  检查以下常见配置问题:
@@ -811,8 +842,21 @@ ACCEPT_FAILED
811
842
  1. [原因]
812
843
  \`\`\`
813
844
 
814
- ## ⚠️ Git 提交规范
815
- **禁止执行 \`git commit\`** — 所有提交统一通过 \`openmatrix complete\` 执行,确保使用正确的任务标题。
845
+ ## ⚠️ Git 操作禁止
846
+
847
+ **禁止执行以下 Git 命令**:
848
+ - ❌ \`git commit\` — 所有提交统一通过 \`openmatrix complete\` 执行
849
+ - ❌ \`git checkout\` — 不要切换分支
850
+ - ❌ \`git merge\` — 不要合并其他分支
851
+ - ❌ \`git pull\` — 不要拉取远程更新
852
+ - ❌ \`git push\` — 不要推送代码
853
+ - ❌ \`git rebase\` — 不要变基
854
+ - ❌ \`git branch\` — 不要创建/删除分支
855
+
856
+ **允许的 Git 命令**:
857
+ - ✅ \`git status\` — 查看状态
858
+ - ✅ \`git diff\` — 查看差异
859
+ - ✅ \`git log\` — 查看历史
816
860
  `);
817
861
  return parts.join('\n');
818
862
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openmatrix",
3
- "version": "0.2.9",
3
+ "version": "0.2.11",
4
4
  "description": "AI Agent task orchestration system with Claude Code Skills integration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/skills/auto.md CHANGED
@@ -173,7 +173,7 @@ openmatrix step --json # 获取下一个任务 + 检查是
173
173
  Agent({
174
174
  subagent_type: task.subagent_type,
175
175
  description: task.description,
176
- prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫 **禁止执行 git commit** — 所有提交统一通过 openmatrix complete 执行,确保使用正确的任务标题。",
176
+ prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫 **禁止执行以下 Git 命令**:\n- ❌ git commit — 所有提交统一通过 openmatrix complete 执行\n- ❌ git checkout — 不要切换分支\n- ❌ git merge — 不要合并其他分支\n- ❌ git pull — 不要拉取远程更新\n- ❌ git push — 不要推送代码\n- ❌ git rebase — 不要变基\n- ❌ git branch — 不要创建/删除分支\n\n✅ 允许:git status, git diff, git log",
177
177
  isolation: task.isolation,
178
178
  run_in_background: true
179
179
  })
@@ -183,7 +183,7 @@ Agent({
183
183
  >
184
184
  > **上下文节省**: 使用 `run_in_background: true` 后台执行,Agent 完成后仅返回简短摘要,大幅节省主会话上下文。
185
185
  >
186
- > 🚫 **Agent 内部禁止 git commit** 所有提交必须通过 `openmatrix complete` 执行,否则会产生无意义提交。
186
+ > 🚫 **Agent 内部禁止 Git 操作** — 禁止执行:git commit, git checkout, git merge, git pull, git push, git rebase, git branch。所有提交必须通过 `openmatrix complete` 执行。
187
187
 
188
188
  每个 Agent 完成后:
189
189
  1. **保存 Agent 上下文** — 将执行结果摘要写入 `.openmatrix/tasks/TASK-XXX/context.md`,格式如下:
package/skills/debug.md CHANGED
@@ -114,12 +114,67 @@ Agent({
114
114
  - 问题描述: ${description}
115
115
  ${relatedTaskId ? `- 关联任务: ${relatedTaskId}` : ''}
116
116
 
117
- ## 任务
118
- 1. 仔细阅读所有错误信息(不要跳过任何警告或错误)
119
- 2. 收集相关文件和日志
120
- 3. 检查近期代码变更(git diff、最近提交)
121
- 4. 如果有多个组件,追踪数据流,找到断裂点
122
- 5. 定位问题根源
117
+ ## 调查步骤(必须按顺序执行)
118
+
119
+ ### 1. 仔细阅读错误信息
120
+ - 不要跳过任何警告或错误
121
+ - 错误信息往往包含解决方案
122
+ - 完整阅读堆栈跟踪
123
+ - 记录行号、文件路径、错误代码
124
+
125
+ ### 2. 稳定复现
126
+ - 能否可靠触发?
127
+ - 精确步骤是什么?
128
+ - 每次都会发生吗?
129
+ - 不能复现 → 收集更多数据,不要猜测
130
+
131
+ ### 3. 检查近期变更
132
+ - git diff、最近提交
133
+ - 新依赖、配置变更
134
+ - 环境差异
135
+
136
+ ### 4. 多组件系统诊断(如有多个组件)
137
+ **当系统有多个组件(CI → build → signing, API → service → database):**
138
+
139
+ **在提出修复之前,添加诊断日志:**
140
+ \`\`\`
141
+ 对每个组件边界:
142
+ - 记录什么数据进入组件
143
+ - 记录什么数据退出组件
144
+ - 验证环境/配置传递
145
+ - 检查每层状态
146
+
147
+ 运行一次收集证据,显示哪里断裂
148
+ 然后分析证据识别失败组件
149
+ 然后深入调查该组件
150
+ \`\`\`
151
+
152
+ **示例(多层系统):**
153
+ \`\`\`bash
154
+ # Layer 1: Workflow
155
+ echo "=== Secrets in workflow: ==="
156
+ echo "IDENTITY: ${IDENTITY:+SET}${IDENTITY:-UNSET}"
157
+
158
+ # Layer 2: Build script
159
+ echo "=== Env vars in build: ==="
160
+ env | grep IDENTITY || echo "IDENTITY not in env"
161
+
162
+ # Layer 3: Signing script
163
+ echo "=== Keychain state: ==="
164
+ security list-keychains
165
+
166
+ # Layer 4: Actual signing
167
+ codesign --sign "$IDENTITY" --verbose=4 "$APP"
168
+ \`\`\`
169
+
170
+ 这揭示:哪层失败(secrets → workflow ✓, workflow → build ✗)
171
+
172
+ ### 5. 追踪数据流
173
+ **当错误在调用栈深处:**
174
+ - 错误值从哪里产生?
175
+ - 谁传入的这个错误值?
176
+ - 继续向上追踪直到源头
177
+ - 在源头修复,不是症状处
123
178
 
124
179
  ## 输出格式
125
180
  请按以下格式输出:
@@ -136,6 +191,10 @@ ${relatedTaskId ? `- 关联任务: ${relatedTaskId}` : ''}
136
191
  - 提交1: 描述
137
192
  - 提交2: 描述
138
193
 
194
+ ### 多组件诊断结果(如适用)
195
+ - Layer N 状态: ...
196
+ - 断裂点: ...
197
+
139
198
  ### 根因分析
140
199
  [详细描述问题根源]
141
200
 
@@ -448,4 +507,69 @@ Step 10: 写入 Debug Report
448
507
  - 不修改未关联的文件
449
508
  - 单一修复原则
450
509
  - 修复前必须有验证方法
510
+
511
+ ## 红旗警告 - 停止并回归流程
512
+
513
+ **如果发现自己在想:**
514
+ - "先快速修复,之后再调查"
515
+ - "试试改 X 看看能不能工作"
516
+ - "一次改多处,跑测试"
517
+ - "跳过测试,手动验证就行"
518
+ - "大概是 X 问题,直接修吧"
519
+ - "不太懂但这可能有用"
520
+ - "模式说 X 但我要改动一下"
521
+ - "这里列出主要问题:[未经调查直接列修复]"
522
+ - 提出解决方案前没有追踪数据流
523
+ - **"再试一次修复"(已经试过 2+ 次)**
524
+ - 每次修复揭示新地方的问题
525
+
526
+ **所有这些意味着:停止。回到 Step 3。**
527
+
528
+ ## 常见借口 vs 真实情况
529
+
530
+ | 借口 | 真实情况 |
531
+ |------|---------|
532
+ | "问题简单,不需要流程" | 简单问题也有根因。流程处理简单 bug 很快。 |
533
+ | "紧急情况,没时间走流程" | 系统化调试比瞎猜乱试更快。 |
534
+ | "先试试这个,再调查" | 第一次修复定基调。从一开始就做对。 |
535
+ | "确认修复有效后再写测试" | 没测试的修复不牢靠。先写测试证明它。 |
536
+ | "一次改多处节省时间" | 无法隔离哪个有效。还会引入新 bug。 |
537
+ | "参考文档太长,我按模式改改" | 一知半解必然有 bug。完整阅读。 |
538
+ | "我看到问题了,直接修吧" | 看到症状 ≠ 理解根因。 |
539
+ | "再试一次修复"(失败 2+ 次后) | 3+ 次失败 = 架构问题。质疑模式,不要继续修。 |
540
+
541
+ ## 3+ 次修复失败:质疑架构
542
+
543
+ **指示架构问题的模式:**
544
+ - 每次修复揭示新共享状态/耦合/其他地方的问题
545
+ - 修复需要"大规模重构"才能实现
546
+ - 每次修复在其他地方产生新症状
547
+
548
+ **停止并质疑根本问题:**
549
+ - 这个模式根本上是否合理?
550
+ - 我们是否"靠惯性硬撑"?
551
+ - 应该重构架构还是继续修补症状?
552
+
553
+ **在尝试更多修复之前与用户讨论。**
554
+
555
+ 这不是假设失败 — 这是架构错误。
556
+
557
+ ## 无根因的情况
558
+
559
+ 如果系统化调查揭示问题确实是环境、时序依赖或外部因素:
560
+
561
+ 1. 你已完成流程
562
+ 2. 记录调查了什么
563
+ 3. 实现适当处理(重试、超时、错误消息)
564
+ 4. 添加监控/日志以便未来调查
565
+
566
+ **但:** 95% 的"无根因"情况是调查不完整。
567
+
568
+ ## 实际影响
569
+
570
+ 来自调试实践:
571
+ - 系统化方法:15-30 分钟修复
572
+ - 随机修复方法:2-3 小时折腾
573
+ - 首次修复率:95% vs 40%
574
+ - 引入新 bug:接近零 vs 常见
451
575
  </notes>
package/skills/feature.md CHANGED
@@ -249,8 +249,16 @@ ${quality === 'strict' ? `
249
249
 
250
250
  ## 禁止行为
251
251
  ❌ 执行 git commit(由主流程处理)
252
+ ❌ 执行 git checkout — 不要切换分支
253
+ ❌ 执行 git merge — 不要合并其他分支
254
+ ❌ 执行 git pull — 不要拉取远程更新
255
+ ❌ 执行 git push — 不要推送代码
256
+ ❌ 执行 git rebase — 不要变基
257
+ ❌ 执行 git branch — 不要创建/删除分支
252
258
  ❌ 修改与当前任务无关的文件
253
- 进行额外的重构`,
259
+ 进行额外的重构
260
+
261
+ ✅ 允许:git status, git diff, git log`,
254
262
  run_in_background: true
255
263
  })
256
264
  ```
@@ -375,7 +383,30 @@ $ARGUMENTS
375
383
  - 验证失败不得继续执行,必须停止等待修复
376
384
  - 不得跳过质量等级确认
377
385
  - 不得跳过任务边界确认
378
- - 不得在 Agent 内部执行 git commit
386
+ - 不得在 Agent 内部执行任何 Git 操作(commit/checkout/merge/pull/push/rebase/branch)
387
+
388
+ ## 红旗警告 - 停止并回归流程
389
+
390
+ **如果发现自己在想:**
391
+ - "验证麻烦,先提交再说"
392
+ - "任务块小,一次改两个吧"
393
+ - "顺便重构下这个代码"
394
+ - "跳过质量确认,直接开始"
395
+ - "测试失败没关系,手动验证就行"
396
+ - "这个小改动不会影响其他"
397
+
398
+ **所有这些意味着:停止。回到流程执行。**
399
+
400
+ ## 常见借口 vs 真实情况
401
+
402
+ | 借口 | 真实情况 |
403
+ |------|---------|
404
+ | "验证太慢,先提交" | 未验证的提交会污染仓库,回头排查更慢。 |
405
+ | "一次改两个任务块效率高" | 无法隔离哪个改动有问题。引入新 bug。 |
406
+ | "顺便重构没问题" | "顺便"是 bug 的温床。任务聚焦。 |
407
+ | "质量确认麻烦" | 3 秒的选择防止后续数小时排查。 |
408
+ | "手动验证就行" | 手动验证不可重复。自动化测试才可靠。 |
409
+ | "小改动不会出错" | 小改动也有根因。系统性验证。 |
379
410
 
380
411
  ## 与其他指令的区别
381
412
 
@@ -407,6 +438,24 @@ $ARGUMENTS
407
438
  | Agent 超时 | 询问重试或跳过 |
408
439
  | Git 失败 | 提示手动处理 |
409
440
 
441
+ ## 3+ 次验证失败:质疑任务拆分
442
+
443
+ **如果同一任务块验证失败 3 次以上:**
444
+
445
+ **指示拆分问题的模式:**
446
+ - 每次修复产生新的测试失败
447
+ - 任务块范围模糊,边界不清
448
+ - 修改影响多个不相关文件
449
+
450
+ **停止并质疑拆分方案:**
451
+ - 任务块是否过于复杂?
452
+ - 是否需要重新拆分?
453
+ - 是否应该切换到 `/om:start` 使用完整流程?
454
+
455
+ **在继续执行之前与用户讨论拆分方案。**
456
+
457
+ 这不是执行失败 — 这是拆分策略问题。
458
+
410
459
  ## Git 提交格式
411
460
 
412
461
  ```
package/skills/start.md CHANGED
@@ -395,7 +395,7 @@ openmatrix step --json # 获取下一个任务 + 检查是
395
395
  Agent({
396
396
  subagent_type: task.subagent_type,
397
397
  description: task.description,
398
- prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫 **禁止执行 git commit** — 所有提交统一通过 openmatrix complete 执行,确保使用正确的任务标题。",
398
+ prompt: task.prompt + "\n\n⚠️ 完成后请输出简短摘要(不超过3行):\n1. 关键决策\n2. 创建/修改的文件\n3. 对后续任务的建议\n\n🚫 **禁止执行以下 Git 命令**:\n- ❌ git commit — 所有提交统一通过 openmatrix complete 执行\n- ❌ git checkout — 不要切换分支\n- ❌ git merge — 不要合并其他分支\n- ❌ git pull — 不要拉取远程更新\n- ❌ git push — 不要推送代码\n- ❌ git rebase — 不要变基\n- ❌ git branch — 不要创建/删除分支\n\n✅ 允许:git status, git diff, git log",
399
399
  isolation: task.isolation,
400
400
  run_in_background: true
401
401
  })
@@ -405,7 +405,7 @@ Agent({
405
405
  >
406
406
  > **上下文节省**: 使用 `run_in_background: true` 后台执行,Agent 完成后仅返回简短摘要,不返回完整输出,大幅节省主会话上下文。
407
407
  >
408
- > 🚫 **Agent 内部禁止 git commit** 所有提交必须通过 `openmatrix complete` 执行,否则会产生 "Test Task" 等无意义提交。
408
+ > 🚫 **Agent 内部禁止 Git 操作** — 禁止执行:git commit, git checkout, git merge, git pull, git push, git rebase, git branch。所有提交必须通过 `openmatrix complete` 执行。
409
409
 
410
410
  每个 Agent 完成后(收到后台完成通知时):
411
411
  1. **标记完成并更新统计(必须执行):**