@zmice/zc 0.2.4 → 0.2.6

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.
Files changed (112) hide show
  1. package/README.md +89 -9
  2. package/dist/cli/__tests__/platform.test.js +169 -2
  3. package/dist/cli/__tests__/platform.test.js.map +1 -1
  4. package/dist/cli/__tests__/surface.test.js +52 -0
  5. package/dist/cli/__tests__/surface.test.js.map +1 -1
  6. package/dist/cli/__tests__/team.test.d.ts +2 -0
  7. package/dist/cli/__tests__/team.test.d.ts.map +1 -0
  8. package/dist/cli/__tests__/team.test.js +29 -0
  9. package/dist/cli/__tests__/team.test.js.map +1 -0
  10. package/dist/cli/__tests__/upstream.test.js +4 -0
  11. package/dist/cli/__tests__/upstream.test.js.map +1 -1
  12. package/dist/cli/platform.d.ts +11 -3
  13. package/dist/cli/platform.d.ts.map +1 -1
  14. package/dist/cli/platform.js +186 -49
  15. package/dist/cli/platform.js.map +1 -1
  16. package/dist/cli/team.d.ts.map +1 -1
  17. package/dist/cli/team.js +114 -4
  18. package/dist/cli/team.js.map +1 -1
  19. package/dist/cli/upstream.d.ts +1 -0
  20. package/dist/cli/upstream.d.ts.map +1 -1
  21. package/dist/cli/upstream.js +84 -5
  22. package/dist/cli/upstream.js.map +1 -1
  23. package/dist/node_modules/@zmice/platform-core/dist/index.d.ts +37 -3
  24. package/dist/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
  25. package/dist/node_modules/@zmice/platform-core/dist/index.js +68 -0
  26. package/dist/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
  27. package/dist/node_modules/@zmice/platform-core/dist/index.test.js +44 -1
  28. package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  29. package/dist/runtime/__tests__/worktree-manager.test.js +63 -1
  30. package/dist/runtime/__tests__/worktree-manager.test.js.map +1 -1
  31. package/dist/runtime/worktree-manager.d.ts +26 -1
  32. package/dist/runtime/worktree-manager.d.ts.map +1 -1
  33. package/dist/runtime/worktree-manager.js +126 -12
  34. package/dist/runtime/worktree-manager.js.map +1 -1
  35. package/dist/team/__tests__/orchestrator.test.js +40 -0
  36. package/dist/team/__tests__/orchestrator.test.js.map +1 -1
  37. package/dist/team/__tests__/planner.test.d.ts +2 -0
  38. package/dist/team/__tests__/planner.test.d.ts.map +1 -0
  39. package/dist/team/__tests__/planner.test.js +43 -0
  40. package/dist/team/__tests__/planner.test.js.map +1 -0
  41. package/dist/team/__tests__/task-queue.test.js +18 -0
  42. package/dist/team/__tests__/task-queue.test.js.map +1 -1
  43. package/dist/team/orchestrator.d.ts +2 -1
  44. package/dist/team/orchestrator.d.ts.map +1 -1
  45. package/dist/team/orchestrator.js +29 -10
  46. package/dist/team/orchestrator.js.map +1 -1
  47. package/dist/team/planner.d.ts +27 -0
  48. package/dist/team/planner.d.ts.map +1 -0
  49. package/dist/team/planner.js +120 -0
  50. package/dist/team/planner.js.map +1 -0
  51. package/dist/team/task-queue.d.ts +3 -0
  52. package/dist/team/task-queue.d.ts.map +1 -1
  53. package/dist/team/task-queue.js +11 -2
  54. package/dist/team/task-queue.js.map +1 -1
  55. package/dist/utils/qwen-extension-cli.d.ts.map +1 -1
  56. package/dist/utils/qwen-extension-cli.js +23 -0
  57. package/dist/utils/qwen-extension-cli.js.map +1 -1
  58. package/dist/utils/qwen-extension-cli.test.js +40 -0
  59. package/dist/utils/qwen-extension-cli.test.js.map +1 -1
  60. package/package.json +3 -3
  61. package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts +37 -3
  62. package/vendor/node_modules/@zmice/platform-core/dist/index.d.ts.map +1 -1
  63. package/vendor/node_modules/@zmice/platform-core/dist/index.js +68 -0
  64. package/vendor/node_modules/@zmice/platform-core/dist/index.js.map +1 -1
  65. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +44 -1
  66. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  67. package/vendor/packages/platform-claude/dist/index.d.ts.map +1 -1
  68. package/vendor/packages/platform-claude/dist/index.js +12 -70
  69. package/vendor/packages/platform-claude/dist/index.js.map +1 -1
  70. package/vendor/packages/platform-codex/dist/generate.d.ts +1 -1
  71. package/vendor/packages/platform-codex/dist/generate.d.ts.map +1 -1
  72. package/vendor/packages/platform-codex/dist/generate.js +1 -1
  73. package/vendor/packages/platform-codex/dist/generate.js.map +1 -1
  74. package/vendor/packages/platform-codex/dist/index.d.ts +16 -1
  75. package/vendor/packages/platform-codex/dist/index.d.ts.map +1 -1
  76. package/vendor/packages/platform-codex/dist/index.js +268 -67
  77. package/vendor/packages/platform-codex/dist/index.js.map +1 -1
  78. package/vendor/packages/platform-codex/dist/index.test.js +102 -7
  79. package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
  80. package/vendor/packages/platform-opencode/dist/index.d.ts.map +1 -1
  81. package/vendor/packages/platform-opencode/dist/index.js +15 -81
  82. package/vendor/packages/platform-opencode/dist/index.js.map +1 -1
  83. package/vendor/packages/platform-qwen/dist/index.d.ts.map +1 -1
  84. package/vendor/packages/platform-qwen/dist/index.js +28 -84
  85. package/vendor/packages/platform-qwen/dist/index.js.map +1 -1
  86. package/vendor/packages/toolkit/src/content/agents/architect/body.md +8 -0
  87. package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +10 -0
  88. package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +8 -0
  89. package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +3 -1
  90. package/vendor/packages/toolkit/src/content/commands/start/body.md +51 -2
  91. package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +2 -2
  92. package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +17 -0
  93. package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +77 -520
  94. package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +56 -387
  95. package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +10 -0
  96. package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +55 -301
  97. package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +10 -0
  98. package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +66 -331
  99. package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +30 -1
  100. package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +79 -317
  101. package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +60 -330
  102. package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +35 -0
  103. package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +66 -342
  104. package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +66 -303
  105. package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +81 -327
  106. package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +50 -346
  107. package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +26 -2
  108. package/vendor/references/upstreams.yaml +5 -0
  109. package/dist/cli/setup.d.ts +0 -3
  110. package/dist/cli/setup.d.ts.map +0 -1
  111. package/dist/cli/setup.js +0 -41
  112. package/dist/cli/setup.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { attachPlanMetadata, describeAsset, prefixArtifacts, selectMatchedAssets, } from "@zmice/platform-core";
1
+ import { attachPlanMetadata, createMarkdownAgentArtifact, createMarkdownCommandArtifact, createNamespacedAssetSlug, createSkillArtifact, prefixArtifacts, renderPlatformAssetList, selectMatchedAssets, } from "@zmice/platform-core";
2
2
  export const platformName = "opencode";
3
3
  export const packageName = "@zmice/platform-opencode";
4
4
  export const templateFiles = {
@@ -80,14 +80,6 @@ function isSupportedAsset(asset) {
80
80
  function selectMatchedAssetsByKind(manifest, kind) {
81
81
  return selectMatchedAssets(manifest, platformName).filter((asset) => isSupportedAsset(asset) && asset.kind === kind);
82
82
  }
83
- function renderAssetList(assets) {
84
- if (assets.length === 0) {
85
- return "- 尚未匹配到任何工具包资产。";
86
- }
87
- return assets
88
- .map((asset) => `- \`${asset.kind}\` \`${asset.id}\`: ${describeAsset(asset)}`)
89
- .join("\n");
90
- }
91
83
  function renderAgentsFile(manifestSource, assets, layout) {
92
84
  const commandCount = assets.filter((asset) => asset.kind === "command").length;
93
85
  const skillCount = assets.filter((asset) => asset.kind === "skill").length;
@@ -166,86 +158,31 @@ function renderAgentsFile(manifestSource, assets, layout) {
166
158
  - skills:${skillCount} 个
167
159
  - agents:${agentCount} 个
168
160
 
169
- ${renderAssetList(assets)}
161
+ ${renderPlatformAssetList(assets)}
170
162
  `;
171
163
  }
172
- function renderYamlFrontmatter(fields) {
173
- const lines = ["---"];
174
- for (const [key, value] of Object.entries(fields)) {
175
- if (value === undefined) {
176
- continue;
177
- }
178
- if (Array.isArray(value)) {
179
- if (value.length === 0) {
180
- continue;
181
- }
182
- lines.push(`${key}:`);
183
- for (const entry of value) {
184
- lines.push(` - ${JSON.stringify(entry)}`);
185
- }
186
- continue;
187
- }
188
- lines.push(`${key}: ${JSON.stringify(value)}`);
189
- }
190
- lines.push("---");
191
- return `${lines.join("\n")}\n`;
192
- }
193
- function renderMarkdownCommandFile(options) {
194
- return `${renderYamlFrontmatter({
195
- description: options.description,
196
- })}\n${options.body.trim()}\n`;
197
- }
198
- function renderSkillFile(options) {
199
- return `${renderYamlFrontmatter({
200
- name: options.name,
201
- description: options.description,
202
- })}\n${options.body.trim()}\n`;
203
- }
204
- function renderMarkdownAgentFile(options) {
205
- return `${renderYamlFrontmatter({
206
- name: options.name,
207
- description: options.description,
208
- tools: options.tools,
209
- })}\n${options.body.trim()}\n`;
210
- }
211
- function stripKindPrefix(value) {
212
- return value.replace(/^(command|skill|agent):/, "");
213
- }
214
164
  function toNamespacedSlug(asset) {
215
- const assetName = "name" in asset && typeof asset.name === "string" ? asset.name : undefined;
216
- const base = (assetName ?? stripKindPrefix(asset.id))
217
- .trim()
218
- .toLowerCase()
219
- .replace(/[^a-z0-9-]+/g, "-")
220
- .replace(/-{2,}/g, "-")
221
- .replace(/^-|-$/g, "");
222
- return `zc-${base || stripKindPrefix(asset.id)}`;
165
+ return createNamespacedAssetSlug(asset);
223
166
  }
224
167
  function renderCommandArtifacts(scope, assets) {
225
168
  const layout = getScopeLayout(scope);
226
169
  return assets.map((asset) => {
227
170
  const slug = toNamespacedSlug(asset);
228
- return {
171
+ return createMarkdownCommandArtifact({
229
172
  path: `${layout.commandsDir}/${slug}.md`,
230
- content: renderMarkdownCommandFile({
231
- description: asset.summary ?? describeAsset(asset),
232
- body: asset.body ?? `# ${describeAsset(asset)}\n`,
233
- }),
234
- };
173
+ asset,
174
+ });
235
175
  });
236
176
  }
237
177
  function renderSkillArtifacts(scope, assets) {
238
178
  const layout = getScopeLayout(scope);
239
179
  return assets.map((asset) => {
240
180
  const slug = toNamespacedSlug(asset);
241
- return {
181
+ return createSkillArtifact({
242
182
  path: `${layout.skillsDir}/${slug}/SKILL.md`,
243
- content: renderSkillFile({
244
- name: slug,
245
- description: asset.summary ?? describeAsset(asset),
246
- body: asset.body ?? `# ${describeAsset(asset)}\n`,
247
- }),
248
- };
183
+ asset,
184
+ name: slug,
185
+ });
249
186
  });
250
187
  }
251
188
  function renderAgentArtifacts(scope, assets) {
@@ -253,15 +190,12 @@ function renderAgentArtifacts(scope, assets) {
253
190
  return assets.map((asset) => {
254
191
  const slug = toNamespacedSlug(asset);
255
192
  const assetTools = "tools" in asset && Array.isArray(asset.tools) ? asset.tools : undefined;
256
- return {
193
+ return createMarkdownAgentArtifact({
257
194
  path: `${layout.agentsDir}/${slug}.md`,
258
- content: renderMarkdownAgentFile({
259
- name: slug,
260
- description: asset.summary ?? describeAsset(asset),
261
- body: asset.body ?? `# ${describeAsset(asset)}\n`,
262
- tools: assetTools,
263
- }),
264
- };
195
+ asset,
196
+ name: slug,
197
+ tools: assetTools,
198
+ });
265
199
  });
266
200
  }
267
201
  export function createOpenCodeGenerationPlan(manifest, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createInstallPlan, describeAsset, selectMatchedAssets, } from "@zmice/platform-core";
1
+ import { createMarkdownAgentArtifact, createMarkdownCommandArtifact, createInstallPlan, createSkillArtifact, describeAsset, renderPlatformAssetList, selectMatchedAssets, stripAssetKindPrefix, } from "@zmice/platform-core";
2
2
  export const platformName = "qwen";
3
3
  export const packageName = "@zmice/platform-qwen";
4
4
  export const templateFiles = {
@@ -32,68 +32,15 @@ export const capability = {
32
32
  contextFileName: templateFiles.context,
33
33
  },
34
34
  };
35
- function stripKindPrefix(asset) {
36
- const prefix = `${asset.kind}:`;
37
- return asset.id.startsWith(prefix) ? asset.id.slice(prefix.length) : asset.id;
38
- }
39
35
  function selectMatchedAssetsByKind(manifest, kind) {
40
36
  return selectMatchedAssets(manifest, platformName).filter((asset) => asset.kind === kind);
41
37
  }
42
- function renderYamlFrontmatter(fields) {
43
- const lines = ["---"];
44
- for (const [key, value] of Object.entries(fields)) {
45
- if (value === undefined || value === null) {
46
- continue;
47
- }
48
- if (Array.isArray(value)) {
49
- if (value.length === 0) {
50
- continue;
51
- }
52
- lines.push(`${key}:`);
53
- for (const entry of value) {
54
- lines.push(` - ${JSON.stringify(String(entry))}`);
55
- }
56
- continue;
57
- }
58
- lines.push(`${key}: ${JSON.stringify(String(value))}`);
59
- }
60
- lines.push("---");
61
- return `${lines.join("\n")}\n`;
62
- }
63
- function renderMarkdownCommandFile(options) {
64
- return `${renderYamlFrontmatter({
65
- name: options.name,
66
- description: options.description,
67
- })}\n${options.body.trim()}\n`;
68
- }
69
- function renderSkillFile(options) {
70
- return `${renderYamlFrontmatter({
71
- name: options.name,
72
- description: options.description,
73
- })}\n${options.body.trim()}\n`;
74
- }
75
- function renderMarkdownAgentFile(options) {
76
- return `${renderYamlFrontmatter({
77
- name: options.name,
78
- description: options.description,
79
- tools: options.tools,
80
- skills: options.skills,
81
- })}\n${options.body.trim()}\n`;
82
- }
83
38
  function getExtensionRoot(scope = "project") {
84
39
  if (scope === "project") {
85
40
  return `.qwen/extensions/${templateFiles.extensionName}`;
86
41
  }
87
42
  return `extensions/${templateFiles.extensionName}`;
88
43
  }
89
- function renderAssetList(assets) {
90
- if (assets.length === 0) {
91
- return "- 尚未匹配到任何工具包资产。";
92
- }
93
- return assets
94
- .map((asset) => `- \`${asset.kind}\` \`${asset.id}\`: ${describeAsset(asset)}`)
95
- .join("\n");
96
- }
97
44
  function renderContextFile(manifestSource, assets, commands, skills, agents) {
98
45
  return `# Qwen 工作流入口
99
46
 
@@ -169,7 +116,7 @@ function renderContextFile(manifestSource, assets, commands, skills, agents) {
169
116
  - skills:${skills.length} 个
170
117
  - agents:${agents.length} 个
171
118
 
172
- ${renderAssetList(assets)}
119
+ ${renderPlatformAssetList(assets)}
173
120
  `;
174
121
  }
175
122
  function renderExtensionManifest(packageName, extensionVersion, manifestSource, assets, commands, skills, agents) {
@@ -192,45 +139,42 @@ function renderExtensionManifest(packageName, extensionVersion, manifestSource,
192
139
  }, null, 2)}\n`;
193
140
  }
194
141
  function renderCommandArtifact(extensionRoot, asset) {
195
- const slug = stripKindPrefix(asset);
196
- return {
142
+ const slug = stripAssetKindPrefix(asset.id);
143
+ return createMarkdownCommandArtifact({
197
144
  path: `${extensionRoot}/commands/zc/${slug}.md`,
198
- content: renderMarkdownCommandFile({
199
- name: `zc:${slug}`,
200
- description: describeAsset(asset),
201
- body: asset.body ??
202
- `这是由工具包资产 \`${asset.id}\` 生成的 Qwen 命令入口,用于触发 \`zc:${slug}\`。`,
203
- }),
204
- };
145
+ asset,
146
+ name: `zc:${slug}`,
147
+ description: describeAsset(asset),
148
+ body: asset.body ??
149
+ `这是由工具包资产 \`${asset.id}\` 生成的 Qwen 命令入口,用于触发 \`zc:${slug}\`。`,
150
+ });
205
151
  }
206
152
  function renderSkillArtifact(extensionRoot, asset) {
207
- const slug = stripKindPrefix(asset);
208
- return {
153
+ const slug = stripAssetKindPrefix(asset.id);
154
+ return createSkillArtifact({
209
155
  path: `${extensionRoot}/skills/zc-${slug}/SKILL.md`,
210
- content: renderSkillFile({
211
- name: `zc-${slug}`,
212
- description: describeAsset(asset),
213
- body: asset.body ??
214
- `这是由工具包资产 \`${asset.id}\` 生成的 Qwen skill,供 extension 目录直接加载。`,
215
- }),
216
- };
156
+ asset,
157
+ name: `zc-${slug}`,
158
+ description: describeAsset(asset),
159
+ body: asset.body ??
160
+ `这是由工具包资产 \`${asset.id}\` 生成的 Qwen skill,供 extension 目录直接加载。`,
161
+ });
217
162
  }
218
163
  function renderAgentArtifact(extensionRoot, asset) {
219
- const slug = stripKindPrefix(asset);
164
+ const slug = stripAssetKindPrefix(asset.id);
220
165
  const skillRefs = asset.requires
221
166
  ?.filter((entry) => entry.startsWith("skill:"))
222
167
  .map((entry) => `zc-${entry.slice("skill:".length)}`);
223
- return {
168
+ return createMarkdownAgentArtifact({
224
169
  path: `${extensionRoot}/agents/zc-${slug}.md`,
225
- content: renderMarkdownAgentFile({
226
- name: `zc-${slug}`,
227
- description: describeAsset(asset),
228
- body: asset.body ??
229
- `这是由工具包资产 \`${asset.id}\` 生成的 Qwen agent,用于承接 \`zc-${slug}\` 角色能力。`,
230
- tools: asset.tools,
231
- skills: skillRefs,
232
- }),
233
- };
170
+ asset,
171
+ name: `zc-${slug}`,
172
+ description: describeAsset(asset),
173
+ body: asset.body ??
174
+ `这是由工具包资产 \`${asset.id}\` 生成的 Qwen agent,用于承接 \`zc-${slug}\` 角色能力。`,
175
+ tools: asset.tools,
176
+ skills: skillRefs,
177
+ });
234
178
  }
235
179
  export function createQwenGenerationPlan(manifest, options = {}) {
236
180
  const matchedAssets = selectMatchedAssets(manifest, platformName);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,14 @@
27
27
  - 风险清单与缓解措施
28
28
  - 后续落地动作列表
29
29
 
30
+ ## 输出纪律
31
+
32
+ 推荐结论必须写清选择、放弃项和 trade-off:
33
+
34
+ ```text
35
+ Recommendation: <方案> because <证据、长期成本和被放弃替代方案>。
36
+ ```
37
+
30
38
  ## 不负责什么
31
39
 
32
40
  - 不直接写业务实现
@@ -24,6 +24,16 @@
24
24
  - 必要时给出替代方案或重构方向
25
25
  - 对验证证据的可信度判断
26
26
 
27
+ ## 输出纪律
28
+
29
+ 审查最后必须给出可执行结论:
30
+
31
+ ```text
32
+ Recommendation: <Approve / Request changes / Defer> because <证据、风险和取舍>。
33
+ ```
34
+
35
+ 发现问题时先列问题,再给总结;不要用 “LGTM” 代替证据。
36
+
27
37
  ## 不负责什么
28
38
 
29
39
  - 不替代专项安全审计或性能 profiling
@@ -25,6 +25,14 @@
25
25
  - 用户故事与验收标准
26
26
  - 风险清单和下一步动作
27
27
 
28
+ ## 输出纪律
29
+
30
+ 优先级和范围推荐必须说明用户价值、机会成本和被放弃的替代范围:
31
+
32
+ ```text
33
+ Recommendation: <做 / 不做 / 延后 / 缩小范围> because <用户价值、取舍和验收证据>。
34
+ ```
35
+
28
36
  ## 不负责什么
29
37
 
30
38
  - 不做技术选型和架构设计
@@ -6,17 +6,19 @@
6
6
 
7
7
  1. 读取当前 Spec 或 Plan,提取关键决策点
8
8
  2. **产品视角**:用户价值清晰?边界覆盖?验收可测?
9
- 3. **工程视角**:方案可行?扩展性和技术债务可控?
9
+ 3. **工程视角**:架构、数据流、边界条件、失败模式、测试策略和性能预算可控?
10
10
  4. **设计视角**:体验流畅?异常状态完整?一致性足够?
11
11
  5. **DevEx 视角**:接口直觉?文档充分?配置合理?
12
12
  6. 汇总发现,按 `Critical / Warning / Suggestion` 分级
13
13
  7. 存在 `Critical` 时阻断,先修复再继续
14
+ 8. 把评审结论写成 plan 可吸收的修订项、验收标准或验证门禁
14
15
 
15
16
  ## 当前阶段的边界
16
17
 
17
18
  - 这里只做评审,不直接进入实现
18
19
  - 重点是提前暴露盲点,而不是重写整份规格
19
20
  - 评审结论必须指向明确修正动作
21
+ - 问题要少而关键;只有会改变方案的疑问才向用户提出
20
22
 
21
23
  ## 从这里通常接到哪里
22
24
 
@@ -8,6 +8,20 @@
8
8
  4. 判断风险等级:`trivial` / `standard` / `high-risk`
9
9
  5. 输出推荐 workflow、该 workflow 的默认入口和必要的防护建议
10
10
 
11
+ ## 输出契约
12
+
13
+ `start` 每次都要给出一个可执行分诊结果,而不是泛泛建议:
14
+
15
+ - `workflow`:六条固定 workflow 之一
16
+ - `entry`:下一步应该调用的 command / skill,必须是实际可执行入口
17
+ - `agent`:可选协作角色;只有平台支持且用户授权时才建议,不作为默认入口
18
+ - `reason`:用 1-3 条证据说明为什么这样判型
19
+ - `assumption`:如果有未确认前提,明确写出
20
+ - `question`:只有无法安全推进时才问,最多 1-3 个关键问题
21
+ - `verification`:说明完成前需要什么证据
22
+
23
+ 如果信息足够,直接选择保守 workflow 并继续推进;不要为了形式完整而反复提问。
24
+
11
25
  ## 固定 workflow
12
26
 
13
27
  ### 1. `product-analysis`
@@ -95,12 +109,30 @@
95
109
  - 重点是文档、ADR、发布与同步:进入 `docs-release`
96
110
  - 当前先要理解项目、修复上下文、摸清约束:进入 `investigation`
97
111
 
112
+ ### 判型优先级
113
+
114
+ 当一个请求同时命中多个 workflow,按下面顺序消歧:
115
+
116
+ 1. **显式 review findings**:进入 `review-closure`。如果用户要求修复,入口是 `review-response-and-resolution`;如果要求审查所有变更,入口是 `quality-review`。
117
+ 2. **CI 失败 / 报错日志 / 可复现异常**:进入 `bugfix`。
118
+ 3. **上游更新、依赖升级、陌生能力吸收**:先 `investigation` 拿证据,再按范围进入 `docs-release` 或 `full-delivery`。不能先凭记忆同步。
119
+ 4. **文档误导、安装说明 drift、发布后同步**:如果只改文档,进入 `docs-release`;如果文档暴露实现不一致,先 `bugfix`。
120
+ 5. **新功能或跨模块优化**:目标和验收明确时进入 `full-delivery`;目标不稳定时先 `product-analysis`。
121
+ 6. **生产、数据、破坏性命令、凭据、跨会话记忆或项目路由写入**:主 workflow 不变,但必须加 `guard` / `careful` / `freeze` 这类防护建议。
122
+
123
+ ### 提问纪律
124
+
125
+ - 能从仓库、日志、diff、配置或用户原话判断的,不问。
126
+ - 只有架构方向、数据安全、破坏性操作、缺失关键上下文、或用户目标互相冲突时才问。
127
+ - 问题要以结果和风险表述:这个选择会避免什么风险、解锁什么能力、改变什么体验。
128
+ - 如果用户已经给出偏好,按偏好执行;偏好不能变成自动写入长期配置或跨会话记忆的授权。
129
+
98
130
  ## 在 workflow 内部的切入点
99
131
 
100
132
  - `product-analysis`
101
133
  - 主入口:`product-analysis`
102
134
  - 需要先发散想法:`idea`
103
- - 需要产品判断:`product-owner`
135
+ - 需要产品判断:继续 `product-analysis`;必要时建议 `product-owner` 作为可选 agent
104
136
  - 需要方案探索:`brainstorming-and-design`
105
137
  - 需要沉淀规格:`spec`
106
138
  - 需要做方案评审:`plan-review`
@@ -114,6 +146,7 @@
114
146
  - 主入口:`debug`
115
147
  - `review-closure`
116
148
  - 主入口:`quality-review`
149
+ - 已有 review findings 且需要修复:`review-response-and-resolution`
117
150
  - `docs-release`
118
151
  - 文档优先:`doc`
119
152
  - 发布优先:`ship`
@@ -122,11 +155,27 @@
122
155
  - 上下文漂移:`ctx-health`
123
156
  - 需要重新收敛问题:`idea`
124
157
 
158
+ ## 并行与 agent 判断
159
+
160
+ `start` 可以评估是否适合并行,但不能把并行当默认:
161
+
162
+ - 任务能按文件、模块或证据问题拆开,且没有强依赖:可以建议 `parallel-agent-dispatch` 或 `zc team plan`
163
+ - 无法证明独立、存在同文件冲突、存在依赖链:默认串行或先计划
164
+ - 用户没有明确授权时,不自动启动子代理或 `zc team start`
165
+ - 如果进入 `zc team`,先 dry-run:`zc team plan ... --json`
166
+
167
+ ## 上下文与持久化边界
168
+
169
+ - skill 和 workflow 应按需加载;不要把所有 skill 都常驻上下文
170
+ - `AGENTS.md`、`GEMINI.md`、平台规则文件只放长期项目约定和稳定路由
171
+ - 写入用户级配置、跨项目路由、跨会话记忆或跨机器同步前,必须明确说明影响并取得用户授权
172
+ - 平台不支持的能力不能通过文案暗示支持;例如某个平台没有 native plugin,就走 install / filesystem 适配路线
173
+
125
174
  ## 平台说明
126
175
 
127
176
  - `start` 是 canonical command,不等于所有平台都有原生同名命令
128
177
  - 在 Codex 上,它更适合作为“统一任务开始方式”的自然语言入口
129
- - 在 Qwen / Qoder 上,可以呈现为更接近命令式的入口文案
178
+ - 在 Qwen / Claude / OpenCode 上,可以呈现为更接近命令式的入口文案
130
179
  - 当前阶段没有 `zc start` CLI
131
180
 
132
181
  ## 使用方式
@@ -1,7 +1,7 @@
1
1
  kind: command
2
2
  name: start
3
3
  title: 开始
4
- description: 统一任务开始入口,先评估任务,再在 6 条固定 workflow 中选择合适的路线和默认入口。
4
+ description: 统一任务开始入口。用于先评估任务类型、清晰度、阶段与风险,再在 6 条固定 workflow 中选择默认入口;适用于不确定该先分析、实现、调试、审查、补文档还是调查摸底的请求。
5
5
  tier: core
6
6
  audience: default
7
7
  stability: stable
@@ -52,4 +52,4 @@ platform_exposure:
52
52
  source:
53
53
  upstream: toolkit-original
54
54
  strategy: curated
55
- notes: 本仓库新增的统一任务入口,用于 intake、任务判型,并在 product-analysis、full-delivery、bugfix、review-closure、docs-release、investigation 六条固定 workflow 中选路;其中 product-analysis 由独立 workflow-entry 承接。
55
+ notes: 本仓库新增的统一任务入口,用于 intake、任务判型,并在 product-analysis、full-delivery、bugfix、review-closure、docs-release、investigation 六条固定 workflow 中选路;其中 product-analysis 由独立 workflow-entry 承接。2026-04-29 根据 agent-skills 的 trigger/description 经验和 gstack 的 outcome-framed question / stop-gate 经验补强路由纪律。
@@ -130,11 +130,28 @@ worktree 是隔离手段,不是长期存档机制。
130
130
 
131
131
  如果一个并行批次完成后还残留大量无主分支,说明收尾协议没有真正执行。
132
132
 
133
+ 使用 `zc team` 时,先运行 dry-run:
134
+
135
+ ```bash
136
+ zc team shutdown <team-name> --plan
137
+ ```
138
+
139
+ 它只读取 fan-in 状态,不关闭 tmux、不删除 worktree。重点看每个 worker worktree:
140
+
141
+ - `clean`:没有未提交变更,可以继续判断是否合入或删除
142
+ - `dirty`:仍有未提交变更,必须先转移、提交或明确丢弃
143
+ - `ahead`:分支领先目标引用,需要判断是否合入或开 PR
144
+ - `merged`:已合入的分支可以进入删除流程
145
+ - `unknown`:状态无法判断,必须人工检查后再清理
146
+
147
+ 只有每个 worktree 的去向明确后,才运行不带 `--plan` 的 `zc team shutdown <team-name>`。
148
+
133
149
  ## 最小收尾清单
134
150
 
135
151
  - [ ] branch 的最终去向已明确
136
152
  - [ ] 必要验证已完成,证据可追溯
137
153
  - [ ] 需要保留的信息已转移到 PR、任务系统或文档
154
+ - [ ] `zc team shutdown <team-name> --plan` 没有暴露未解释的 `dirty` / `unknown`
138
155
  - [ ] 不再需要的 branch 已删除
139
156
  - [ ] 不再需要的 worktree 已移除
140
157
  - [ ] 没有遗留未解释的脏文件或临时产物