openmatrix 0.1.97 → 0.1.99

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/meeting.md CHANGED
@@ -47,22 +47,17 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
47
47
 
48
48
  4. **使用 AskUserQuestion 选择处理哪个 Meeting**
49
49
 
50
- ```typescript
51
- AskUserQuestion({
52
- questions: [{
53
- question: "请选择要处理的 Meeting:",
54
- header: "选择 Meeting",
55
- options: [
56
- { label: "[1] TASK-001 - 数据库连接失败", description: "阻塞 - 需要信息" },
57
- { label: "[2] TASK-003 - API设计决策", description: "决策 - 技术选型" },
58
- { label: "[3] TASK-005 - API密钥缺失", description: "阻塞 - 需要信息" },
59
- { label: "全部跳过", description: "标记所有 Meeting 为跳过" },
60
- { label: "返回", description: "暂不处理" }
61
- ],
62
- multiSelect: false
63
- }]
64
- })
65
- ```
50
+ **先在界面展示 Meeting 列表详情,再用简短 AskUserQuestion 让用户选择:**
51
+
52
+ AskUserQuestion: `header: "选择 Meeting"`, `multiSelect: false`
53
+ **question:** 请选择要处理的 Meeting(详情已展示在上方)
54
+
55
+ | label | description |
56
+ |-------|-------------|
57
+ | [1] TASK-001 - 数据库连接失败 | 阻塞 - 需要信息 |
58
+ | [2] TASK-003 - API设计决策 | 决策 - 技术选型 |
59
+ | 全部跳过 | 标记所有 Meeting 为跳过 |
60
+ | 返回 | 暂不处理 |
66
61
 
67
62
  5. **处理单个 Meeting**
68
63
 
@@ -92,37 +87,25 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
92
87
  [D] ✏️ 修改方案 - 调整任务执行方案
93
88
  ```
94
89
 
95
- **使用 AskUserQuestion:**
96
- ```typescript
97
- AskUserQuestion({
98
- questions: [{
99
- question: "请选择操作:",
100
- header: "处理阻塞",
101
- options: [
102
- { label: "💡 提供信息", description: "提供解决问题所需的信息" },
103
- { label: "⏭️ 跳过任务", description: "标记为可选,继续执行下游任务" },
104
- { label: "🔄 重试", description: "使用新信息重试此任务" },
105
- { label: "✏️ 修改方案", description: "调整任务执行方案" },
106
- { label: "返回列表", description: "暂不处理" }
107
- ],
108
- multiSelect: false
109
- }]
110
- })
111
- ```
90
+ **使用 AskUserQuestion(阻塞详情已展示在上方):**
91
+
92
+ AskUserQuestion: `header: "处理阻塞"`, `multiSelect: false`
93
+ **question:** 请选择操作
94
+
95
+ | label | description |
96
+ |-------|-------------|
97
+ | 提供信息 | 提供解决问题所需的信息 |
98
+ | 跳过任务 | 标记为可选,继续执行下游任务 |
99
+ | 重试 | 使用新信息重试此任务 |
100
+ | 修改方案 | 调整任务执行方案 |
101
+ | 返回列表 | 暂不处理 |
112
102
 
113
103
  6. **处理具体选择**
114
104
 
115
105
  **如果选择"提供信息":**
116
- ```typescript
117
- AskUserQuestion({
118
- questions: [{
119
- question: "请提供解决此阻塞所需的信息:",
120
- header: "详细信息",
121
- options: [], // 允许自由输入
122
- multiSelect: false
123
- }]
124
- })
125
- ```
106
+
107
+ AskUserQuestion: `header: "详细信息"`, `multiSelect: false`
108
+ **question:** 请提供解决此阻塞所需的信息
126
109
 
127
110
  然后执行:
128
111
  ```bash
@@ -131,19 +114,14 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
131
114
  ```
132
115
 
133
116
  **如果选择"跳过任务":**
134
- ```typescript
135
- AskUserQuestion({
136
- questions: [{
137
- question: "确定要跳过此任务吗?",
138
- header: "确认",
139
- options: [
140
- { label: "确认跳过", description: "标记为可选,继续下游" },
141
- { label: "取消", description: "返回" }
142
- ],
143
- multiSelect: false
144
- }]
145
- })
146
- ```
117
+
118
+ AskUserQuestion: `header: "确认"`, `multiSelect: false`
119
+ **question:** 确定要跳过此任务吗?
120
+
121
+ | label | description |
122
+ |-------|-------------|
123
+ | 确认跳过 | 标记为可选,继续下游 |
124
+ | 取消 | 返回 |
147
125
 
148
126
  然后执行:
149
127
  ```bash
@@ -156,16 +134,9 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
156
134
  ```
157
135
 
158
136
  **如果选择"修改方案":**
159
- ```typescript
160
- AskUserQuestion({
161
- questions: [{
162
- question: "请描述修改后的方案:",
163
- header: "新方案",
164
- options: [], // 允许自由输入
165
- multiSelect: false
166
- }]
167
- })
168
- ```
137
+
138
+ AskUserQuestion: `header: "新方案"`, `multiSelect: false`
139
+ **question:** 请描述修改后的方案
169
140
 
170
141
  然后执行:
171
142
  ```bash
@@ -204,23 +175,18 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
204
175
  [C] 自定义方案
205
176
  ```
206
177
 
207
- **使用 AskUserQuestion:**
208
- ```typescript
209
- AskUserQuestion({
210
- questions: [{
211
- question: "请做出决策:",
212
- header: "技术决策",
213
- options: [
214
- { label: "选择方案 1: REST", description: "简单直观,团队熟悉" },
215
- { label: "选择方案 2: GraphQL", description: "灵活查询,强类型" },
216
- { label: "自定义方案", description: "输入其他方案" },
217
- { label: "需要更多信息", description: "暂不决策,等待调研" },
218
- { label: "返回列表", description: "返回 Meeting 列表" }
219
- ],
220
- multiSelect: false
221
- }]
222
- })
223
- ```
178
+ **使用 AskUserQuestion(方案详情已展示在上方):**
179
+
180
+ AskUserQuestion: `header: "技术决策"`, `multiSelect: false`
181
+ **question:** 请做出决策
182
+
183
+ | label | description |
184
+ |-------|-------------|
185
+ | 选择方案 1: REST | 简单直观,团队熟悉 |
186
+ | 选择方案 2: GraphQL | 灵活查询,强类型 |
187
+ | 自定义方案 | 输入其他方案 |
188
+ | 需要更多信息 | 暂不决策,等待调研 |
189
+ | 返回列表 | 返回 Meeting 列表 |
224
190
 
225
191
  执行决策:
226
192
  ```bash
@@ -257,19 +223,14 @@ description: 查看和处理所有待确认的 Meeting(阻塞问题和决策
257
223
  9. **批量处理**
258
224
 
259
225
  如果选择"全部跳过":
260
- ```typescript
261
- AskUserQuestion({
262
- questions: [{
263
- question: "确定要跳过所有 Meeting 吗?",
264
- header: "批量操作",
265
- options: [
266
- { label: "确认全部跳过", description: "标记所有为可选" },
267
- { label: "取消", description: "返回列表" }
268
- ],
269
- multiSelect: false
270
- }]
271
- })
272
- ```
226
+
227
+ AskUserQuestion: `header: "批量操作"`, `multiSelect: false`
228
+ **question:** 确定要跳过所有 Meeting 吗?
229
+
230
+ | label | description |
231
+ |-------|-------------|
232
+ | 确认全部跳过 | 标记所有为可选 |
233
+ | 取消 | 返回列表 |
273
234
 
274
235
  ```bash
275
236
  openmatrix meeting --skip-all --message "批量跳过"
package/skills/start.md CHANGED
@@ -124,92 +124,50 @@ git init
124
124
 
125
125
  ---
126
126
 
127
- ## ⚠️⚠️⚠️ 以下 Step 4 不可跳过 ⚠️⚠️⚠️
127
+ ### Step 4: 必选问题(不可跳过,不可使用默认值,必须通过 AskUserQuestion 让用户选择)
128
128
 
129
- **无论任务类型、复杂度、大小 Step 4 必须执行。**
130
- **不允许使用任何默认值。必须通过 AskUserQuestion 让用户选择。**
131
- **如果没有执行 Step 4 就进入 Step 5+,任务执行失败。**
129
+ 根据 `goalTypes` 字段判断需要询问哪些问题:
132
130
 
133
- ### Step 4: 必选问题(不可跳过)
131
+ | goalTypes | 需要询问 |
132
+ |-----------|---------|
133
+ | `development` | 4.1 质量等级 → 4.2 E2E → 4.3 执行模式 |
134
+ | `testing` | 仅 4.3 执行模式 |
135
+ | `documentation` / `other` | 仅 4.3 执行模式 |
134
136
 
135
- **根据任务类型选择需要询问的问题:**
137
+ #### 4.1 质量等级(仅 `goalTypes: development`)
136
138
 
137
- | 任务类型 | 需要询问的问题 |
138
- |---------|---------------|
139
- | **开发任务**(新功能、Bug修复、重构) | 4.1 质量等级 + 4.2 E2E + 4.3 执行模式 |
140
- | **测试任务**(纯测试、写测试用例) | 仅 4.3 执行模式 |
141
- | **非开发任务**(文档、配置、纯阅读) | 仅 4.3 执行模式 |
139
+ AskUserQuestion: `header: "质量等级"`, `multiSelect: false`
142
140
 
143
- **判断依据:** 查看 Step 6 生成的 `tasks-input.json` 中的 `goalTypes` 字段:
144
- - `development` → 开发任务 → 问 4.1 + 4.2 + 4.3
145
- - `testing` → 测试任务 → 仅问 4.3
146
- - `documentation` / `other` → 非开发任务 → 仅问 4.3
141
+ **question:** 选择质量等级(决定测试覆盖、Lint、安全扫描等要求)
147
142
 
148
- **⚠️ 以下问题不可跳过,不可使用默认值:**
143
+ | label | description |
144
+ |-------|-------------|
145
+ | `strict` | TDD + >80%覆盖率 + 严格Lint + 安全扫描 — 生产级代码 |
146
+ | `balanced (推荐)` | >60%覆盖率 + Lint + 安全扫描 — 日常开发 |
147
+ | `fast` | 无质量门禁 — 快速原型/验证 |
149
148
 
150
- #### 4.1 质量等级(仅开发任务,测试/文档任务跳过)
149
+ #### 4.2 E2E 测试(仅 `development` 且选 strict/balanced,选 `fast` 跳过)
151
150
 
152
- 如果是代码开发任务(`goalTypes` 包含 `development`),必须询问:
151
+ AskUserQuestion: `header: "E2E 测试"`, `multiSelect: false`
153
152
 
154
- ```typescript
155
- AskUserQuestion({
156
- questions: [
157
- {
158
- question: "选择质量等级(决定测试覆盖、Lint、安全扫描等要求):",
159
- header: "质量等级",
160
- options: [
161
- { label: "strict", description: "TDD + >80%覆盖率 + 严格Lint + 安全扫描 — 生产级代码" },
162
- { label: "balanced (推荐)", description: ">60%覆盖率 + Lint + 安全扫描 — 日常开发" },
163
- { label: "fast", description: "无质量门禁 — 快速原型/验证" }
164
- ],
165
- multiSelect: false
166
- }
167
- ]
168
- })
169
- ```
170
-
171
- #### 4.2 E2E 测试(仅开发任务且选 strict/balanced 时)
172
-
173
- 如果开发任务且用户选择了 `strict` 或 `balanced`,继续询问:
174
-
175
- ```typescript
176
- AskUserQuestion({
177
- questions: [
178
- {
179
- question: "是否启用端到端 (E2E) 测试?(适用于 Web/Mobile/GUI 项目,耗时较长)",
180
- header: "E2E 测试",
181
- options: [
182
- { label: "启用 E2E 测试", description: "使用 Playwright/Cypress 等框架进行端到端测试" },
183
- { label: "不启用 (推荐)", description: "仅进行单元测试和集成测试,节省时间" }
184
- ],
185
- multiSelect: false
186
- }
187
- ]
188
- })
189
- ```
153
+ **question:** 是否启用端到端 (E2E) 测试?(适用于 Web/Mobile/GUI 项目,耗时较长)
190
154
 
191
- **注意:** 如果用户选择 `fast` 质量等级,跳过 E2E 问题(fast 模式不启用 E2E)。
155
+ | label | description |
156
+ |-------|-------------|
157
+ | `不启用 (推荐)` | 仅进行单元测试和集成测试,节省时间 |
158
+ | `启用 E2E 测试` | 使用 Playwright/Cypress 等框架进行端到端测试 |
192
159
 
193
160
  #### 4.3 执行模式(所有任务必选)
194
161
 
195
- **无论开发还是非开发任务,都必须询问:**
162
+ AskUserQuestion: `header: "执行模式"`, `multiSelect: false`
196
163
 
197
- ```typescript
198
- AskUserQuestion({
199
- questions: [
200
- {
201
- question: "选择执行模式(控制 AI 执行过程中的审批节点):",
202
- header: "执行模式",
203
- options: [
204
- { label: "全自动执行 (推荐)", description: "全自动执行,无需人工审批,遇到阻塞自动 Meeting" },
205
- { label: "关键节点确认", description: "plan/merge/deploy 时暂停确认" },
206
- { label: "每阶段确认", description: "每个阶段(develop/verify/accept)完成后暂停" }
207
- ],
208
- multiSelect: false
209
- }
210
- ]
211
- })
212
- ```
164
+ **question:** 选择执行模式(控制 AI 执行过程中的审批节点)
165
+
166
+ | label | description |
167
+ |-------|-------------|
168
+ | `全自动执行 (推荐)` | 全自动执行,无需人工审批,遇到阻塞自动 Meeting |
169
+ | `关键节点确认` | plan/merge/deploy 时暂停确认 |
170
+ | `每阶段确认` | 每个阶段(develop/verify/accept)完成后暂停 |
213
171
 
214
172
  ### Step 5: 可选问题(仅复杂任务)
215
173
 
@@ -376,31 +334,16 @@ openmatrix step --json
376
334
 
377
335
  **交互式审批流程(非全自动模式):**
378
336
 
379
- 当到达审批点时,使用 `openmatrix approve --json`(不带 ID)查看待审批项,然后通过 AskUserQuestion 请求用户确认:
337
+ 当到达审批点时,使用 `openmatrix approve --json`(不带 ID)查看待审批项,**先在界面展示审批内容摘要**,再用简短 AskUserQuestion 请求确认:
380
338
 
381
- ```typescript
382
- // 检查是否有待审批项
383
- // 通过 CLI: openmatrix approve --json (不带 approvalId 时返回列表)
384
-
385
- AskUserQuestion({
386
- questions: [
387
- {
388
- question: "审批请求: [审批类型]
389
-
390
- [审批内容摘要]
391
-
392
- 是否批准?",
393
- header: "审批",
394
- options: [
395
- { label: "批准", description: "同意继续执行" },
396
- { label: "拒绝", description: "拒绝并停止执行" },
397
- { label: "查看详情", description: "查看完整审批内容后再决定" }
398
- ],
399
- multiSelect: false
400
- }
401
- ]
402
- })
403
- ```
339
+ AskUserQuestion: `header: "审批"`, `multiSelect: false`
340
+ **question:** 是否批准此审批请求?(详情已展示在上方)
341
+
342
+ | label | description |
343
+ |-------|-------------|
344
+ | 批准 | 同意继续执行 |
345
+ | 拒绝 | 拒绝并停止执行 |
346
+ | 查看详情 | 查看完整审批内容后再决定 |
404
347
 
405
348
  用户选择后,执行对应命令:
406
349
  - 批准: `openmatrix approve <approval-id> -d approve --json`