@zmice/zc 0.2.8 → 0.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.
Files changed (84) hide show
  1. package/README.md +430 -430
  2. package/dist/cli/__tests__/platform.test.js +89 -112
  3. package/dist/cli/__tests__/platform.test.js.map +1 -1
  4. package/dist/cli/__tests__/surface.test.js +1 -1
  5. package/dist/cli/__tests__/surface.test.js.map +1 -1
  6. package/dist/cli/platform.d.ts.map +1 -1
  7. package/dist/cli/platform.js +5 -62
  8. package/dist/cli/platform.js.map +1 -1
  9. package/dist/node_modules/@zmice/platform-core/dist/index.test.js +3 -5
  10. package/dist/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  11. package/dist/runtime/worktree-manager.js +2 -2
  12. package/dist/runtime/worktree-manager.js.map +1 -1
  13. package/dist/utils/install-target.test.js +2 -3
  14. package/dist/utils/install-target.test.js.map +1 -1
  15. package/dist/utils/qwen-extension-cli.d.ts.map +1 -1
  16. package/dist/utils/qwen-extension-cli.js +4 -4
  17. package/dist/utils/qwen-extension-cli.js.map +1 -1
  18. package/dist/utils/qwen-extension-cli.test.js +6 -9
  19. package/dist/utils/qwen-extension-cli.test.js.map +1 -1
  20. package/dist/utils/workspace.js +1 -1
  21. package/dist/utils/workspace.js.map +1 -1
  22. package/dist/utils/workspace.test.js +0 -14
  23. package/dist/utils/workspace.test.js.map +1 -1
  24. package/package.json +5 -5
  25. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js +3 -5
  26. package/vendor/node_modules/@zmice/platform-core/dist/index.test.js.map +1 -1
  27. package/vendor/packages/platform-claude/dist/index.js +75 -75
  28. package/vendor/packages/platform-claude/dist/index.test.js +8 -11
  29. package/vendor/packages/platform-claude/dist/index.test.js.map +1 -1
  30. package/vendor/packages/platform-codex/dist/index.js +194 -194
  31. package/vendor/packages/platform-codex/dist/index.test.js +13 -16
  32. package/vendor/packages/platform-codex/dist/index.test.js.map +1 -1
  33. package/vendor/packages/platform-opencode/dist/index.js +75 -75
  34. package/vendor/packages/platform-opencode/dist/index.test.js +15 -19
  35. package/vendor/packages/platform-opencode/dist/index.test.js.map +1 -1
  36. package/vendor/packages/platform-qwen/dist/index.js +75 -75
  37. package/vendor/packages/platform-qwen/dist/index.test.js +7 -9
  38. package/vendor/packages/platform-qwen/dist/index.test.js.map +1 -1
  39. package/vendor/packages/toolkit/dist/content-lint.test.js +161 -1
  40. package/vendor/packages/toolkit/dist/content-lint.test.js.map +1 -1
  41. package/vendor/packages/toolkit/dist/lint/content-lint.d.ts.map +1 -1
  42. package/vendor/packages/toolkit/dist/lint/content-lint.js +183 -2
  43. package/vendor/packages/toolkit/dist/lint/content-lint.js.map +1 -1
  44. package/vendor/packages/toolkit/dist/manifests.test.js +9 -0
  45. package/vendor/packages/toolkit/dist/manifests.test.js.map +1 -1
  46. package/vendor/packages/toolkit/src/content/agents/architect/body.md +42 -42
  47. package/vendor/packages/toolkit/src/content/agents/code-reviewer/body.md +41 -41
  48. package/vendor/packages/toolkit/src/content/agents/product-owner/body.md +40 -40
  49. package/vendor/packages/toolkit/src/content/commands/plan-review/body.md +42 -31
  50. package/vendor/packages/toolkit/src/content/commands/start/body.md +236 -197
  51. package/vendor/packages/toolkit/src/content/commands/start/meta.yaml +55 -55
  52. package/vendor/packages/toolkit/src/content/skills/branch-finish-and-cleanup/body.md +172 -172
  53. package/vendor/packages/toolkit/src/content/skills/browser-qa-testing/body.md +111 -111
  54. package/vendor/packages/toolkit/src/content/skills/ci-cd-and-automation/body.md +86 -86
  55. package/vendor/packages/toolkit/src/content/skills/code-review-and-quality/body.md +140 -140
  56. package/vendor/packages/toolkit/src/content/skills/code-simplification/body.md +80 -80
  57. package/vendor/packages/toolkit/src/content/skills/context-engineering/body.md +67 -67
  58. package/vendor/packages/toolkit/src/content/skills/continuous-learning/body.md +102 -102
  59. package/vendor/packages/toolkit/src/content/skills/documentation-and-adrs/body.md +8 -6
  60. package/vendor/packages/toolkit/src/content/skills/engineering-principles/body.md +10 -5
  61. package/vendor/packages/toolkit/src/content/skills/git-workflow-and-versioning/body.md +9 -9
  62. package/vendor/packages/toolkit/src/content/skills/multi-perspective-review/body.md +129 -81
  63. package/vendor/packages/toolkit/src/content/skills/parallel-agent-dispatch/body.md +143 -113
  64. package/vendor/packages/toolkit/src/content/skills/performance-optimization/body.md +75 -75
  65. package/vendor/packages/toolkit/src/content/skills/planning-and-task-breakdown/body.md +162 -83
  66. package/vendor/packages/toolkit/src/content/skills/sdd-tdd-workflow/body.md +130 -95
  67. package/vendor/packages/toolkit/src/content/skills/sprint-retrospective/body.md +99 -99
  68. package/vendor/packages/toolkit/src/content/skills/subagent-driven-development/body.md +49 -7
  69. package/vendor/packages/toolkit/src/content/skills/team-orchestration/body.md +133 -126
  70. package/vendor/packages/toolkit/src/content/skills/test-driven-development/body.md +78 -78
  71. package/vendor/packages/toolkit/src/content/skills/using-agent-skills/body.md +193 -193
  72. package/vendor/references/upstreams.yaml +94 -94
  73. package/dist/cli/setup.d.ts +0 -3
  74. package/dist/cli/setup.d.ts.map +0 -1
  75. package/dist/cli/setup.js +0 -41
  76. package/dist/cli/setup.js.map +0 -1
  77. package/dist/utils/codex-config-merge.d.ts +0 -3
  78. package/dist/utils/codex-config-merge.d.ts.map +0 -1
  79. package/dist/utils/codex-config-merge.js +0 -43
  80. package/dist/utils/codex-config-merge.js.map +0 -1
  81. package/dist/utils/codex-config-merge.test.d.ts +0 -2
  82. package/dist/utils/codex-config-merge.test.d.ts.map +0 -1
  83. package/dist/utils/codex-config-merge.test.js +0 -64
  84. package/dist/utils/codex-config-merge.test.js.map +0 -1
@@ -1,5 +1,40 @@
1
+ import { toolkitPlatformExposureModes, toolkitWorkflowRoles, toolkitWorkflowRoutes } from "../types.js";
1
2
  const chineseCharacterPattern = /[\u3400-\u9fff]/u;
2
3
  const longEnglishFragmentPattern = /\b[A-Za-z]+(?:\s+[A-Za-z]+){3,}\b/u;
4
+ const maxDescriptionLength = 1024;
5
+ const markdownSectionHeadingPattern = /^##\s+\S/mu;
6
+ const skillActivationHeadingPattern = /^##\s+(?:Overview|何时使用|When to Use|使用条件|角色定位|Skill Discovery)(?:\s|$)/mu;
7
+ const assetReferenceTokenPattern = /^(?:(?:skill|command|agent):)?[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u;
8
+ const kindPrefixedAssetReferencePattern = /^(?:skill|command|agent):[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u;
9
+ const inlineCodeSpanPattern = /`([^`\n]+)`/gu;
10
+ const contextualAssetReferencePattern = /`((?:(?:skill|command|agent):)?[a-z][a-z0-9]*(?:-[a-z0-9]+)*)`\s+(?:skill|command|agent|技能|命令|代理)|(?:skill|command|agent|技能|命令|代理)\s+`((?:(?:skill|command|agent):)?[a-z][a-z0-9]*(?:-[a-z0-9]+)*)`/gu;
11
+ const routeArrowReferencePattern = /→\s*((?:(?:skill|command|agent):)?[a-z][a-z0-9]*(?:-[a-z0-9]+)*)(?=$|[^a-zA-Z0-9_-])/gu;
12
+ const nonAssetReferenceAllowlist = new Set([
13
+ ...toolkitWorkflowRoutes,
14
+ ...toolkitWorkflowRoles,
15
+ ...toolkitPlatformExposureModes,
16
+ "bg-surface",
17
+ "border-default",
18
+ "chore",
19
+ "context-fanout",
20
+ "doc-verified",
21
+ "docs",
22
+ "feat",
23
+ "feature",
24
+ "fix",
25
+ "high-risk",
26
+ "localize",
27
+ "needs-follow-up",
28
+ "official-global",
29
+ "project-local",
30
+ "refactor",
31
+ "readonly-consult",
32
+ "serial-subagent",
33
+ "test",
34
+ "text-primary",
35
+ "update-available",
36
+ "zc-team"
37
+ ]);
3
38
  function checkMissingGovernanceFields(assetId, meta) {
4
39
  const issues = [];
5
40
  if (!meta.tier) {
@@ -73,6 +108,49 @@ function checkLocalizedSummary(assetId, meta) {
73
108
  }
74
109
  return issues;
75
110
  }
111
+ function checkDescriptionLength(assetId, meta) {
112
+ if (meta.description.length <= maxDescriptionLength) {
113
+ return [];
114
+ }
115
+ return [
116
+ {
117
+ level: "error",
118
+ assetId,
119
+ rule: "description-too-long",
120
+ message: `description 长度为 ${meta.description.length},超过 ${maxDescriptionLength} 字符;平台通常会把 description 注入发现上下文,应保持短而准。`
121
+ }
122
+ ];
123
+ }
124
+ function checkBodyStructure(asset) {
125
+ const issues = [];
126
+ const body = asset.body.trim();
127
+ if (!body) {
128
+ issues.push({
129
+ level: "error",
130
+ assetId: asset.id,
131
+ rule: "empty-body",
132
+ message: "body.md 为空,平台产物无法提供可执行流程。"
133
+ });
134
+ return issues;
135
+ }
136
+ if (asset.meta.kind === "skill" && !markdownSectionHeadingPattern.test(body)) {
137
+ issues.push({
138
+ level: "warning",
139
+ assetId: asset.id,
140
+ rule: "missing-body-sections",
141
+ message: "skill body.md 缺少二级标题,难以按渐进式披露加载。"
142
+ });
143
+ }
144
+ if (asset.meta.kind === "skill" && !skillActivationHeadingPattern.test(body)) {
145
+ issues.push({
146
+ level: "warning",
147
+ assetId: asset.id,
148
+ rule: "missing-activation-section",
149
+ message: "skill body.md 应说明何时使用或角色定位,避免自动路由只能依赖标题。"
150
+ });
151
+ }
152
+ return issues;
153
+ }
76
154
  function checkUpstreamRegistryConsistency(assetId, meta, knownUpstreams) {
77
155
  if (!meta.source || !knownUpstreams) {
78
156
  return [];
@@ -183,6 +261,107 @@ function checkRelationshipTargets(manifest) {
183
261
  }
184
262
  return issues;
185
263
  }
264
+ function stripAssetKindPrefix(assetId) {
265
+ const separatorIndex = assetId.indexOf(":");
266
+ return separatorIndex >= 0 ? assetId.slice(separatorIndex + 1) : assetId;
267
+ }
268
+ function isReferenceToken(text) {
269
+ return assetReferenceTokenPattern.test(text);
270
+ }
271
+ function shouldCollectAssetReference(ref, knownReferences) {
272
+ if (!isReferenceToken(ref)) {
273
+ return false;
274
+ }
275
+ if (knownReferences.has(ref) || kindPrefixedAssetReferencePattern.test(ref)) {
276
+ return true;
277
+ }
278
+ return ref.includes("-");
279
+ }
280
+ function collectInlineCodeReferences(text, knownReferences) {
281
+ const refs = new Set();
282
+ inlineCodeSpanPattern.lastIndex = 0;
283
+ let match;
284
+ while ((match = inlineCodeSpanPattern.exec(text)) !== null) {
285
+ const ref = match[1]?.trim();
286
+ if (ref && shouldCollectAssetReference(ref, knownReferences)) {
287
+ refs.add(ref);
288
+ }
289
+ }
290
+ return [...refs];
291
+ }
292
+ function collectContextualReferences(text) {
293
+ const refs = new Set();
294
+ contextualAssetReferencePattern.lastIndex = 0;
295
+ let match;
296
+ while ((match = contextualAssetReferencePattern.exec(text)) !== null) {
297
+ const ref = match[1] ?? match[2];
298
+ if (ref) {
299
+ refs.add(ref);
300
+ }
301
+ }
302
+ return [...refs];
303
+ }
304
+ function collectRouteArrowReferences(text) {
305
+ const refs = new Set();
306
+ routeArrowReferencePattern.lastIndex = 0;
307
+ let match;
308
+ while ((match = routeArrowReferencePattern.exec(text)) !== null) {
309
+ refs.add(match[1]);
310
+ }
311
+ return [...refs];
312
+ }
313
+ function collectTableCellReferences(text, knownReferences) {
314
+ const refs = new Set();
315
+ for (const line of text.split("\n")) {
316
+ if (!line.includes("|")) {
317
+ continue;
318
+ }
319
+ for (const rawCell of line.split("|")) {
320
+ const cell = rawCell.trim();
321
+ if (shouldCollectAssetReference(cell, knownReferences)) {
322
+ refs.add(cell);
323
+ }
324
+ }
325
+ }
326
+ return [...refs];
327
+ }
328
+ function collectExplicitAssetReferences(text, knownReferences) {
329
+ return [
330
+ ...new Set([
331
+ ...collectInlineCodeReferences(text, knownReferences),
332
+ ...collectContextualReferences(text),
333
+ ...collectRouteArrowReferences(text),
334
+ ...collectTableCellReferences(text, knownReferences)
335
+ ])
336
+ ];
337
+ }
338
+ function checkExplicitAssetReferences(manifest) {
339
+ const knownReferences = new Set();
340
+ const issues = [];
341
+ for (const asset of manifest.assets) {
342
+ knownReferences.add(asset.id);
343
+ knownReferences.add(stripAssetKindPrefix(asset.id));
344
+ knownReferences.add(asset.meta.name);
345
+ for (const alias of asset.meta.aliases ?? []) {
346
+ knownReferences.add(alias);
347
+ }
348
+ }
349
+ for (const asset of manifest.assets) {
350
+ const refs = collectExplicitAssetReferences(`${asset.meta.description}\n${asset.body}`, knownReferences);
351
+ for (const ref of refs) {
352
+ if (knownReferences.has(ref) || nonAssetReferenceAllowlist.has(ref)) {
353
+ continue;
354
+ }
355
+ issues.push({
356
+ level: "warning",
357
+ assetId: asset.id,
358
+ rule: "unknown-explicit-asset-reference",
359
+ message: `显式引用了不存在的 toolkit 资产:${ref}`
360
+ });
361
+ }
362
+ }
363
+ return issues;
364
+ }
186
365
  function checkRelationshipCycles(manifest, relationName) {
187
366
  const knownIds = new Set(manifest.assets.map((asset) => asset.id));
188
367
  const graph = new Map(manifest.assets.map((asset) => [
@@ -232,10 +411,12 @@ export function lintToolkitManifest(manifest, options = {}) {
232
411
  const issues = manifest.assets.flatMap((asset) => [
233
412
  ...checkMissingGovernanceFields(asset.id, asset.meta),
234
413
  ...checkGovernanceConsistency(asset.id, asset.meta),
414
+ ...checkDescriptionLength(asset.id, asset.meta),
235
415
  ...checkLocalizedSummary(asset.id, asset.meta),
236
416
  ...checkUpstreamRegistryConsistency(asset.id, asset.meta, options.knownUpstreams),
237
- ...checkSourceTraceability(asset.id, asset.meta)
238
- ]).concat(checkDuplicateSummaries(manifest), checkRelationshipTargets(manifest), checkRelationshipCycles(manifest, "requires"), checkRelationshipCycles(manifest, "suggests"));
417
+ ...checkSourceTraceability(asset.id, asset.meta),
418
+ ...checkBodyStructure(asset)
419
+ ]).concat(checkDuplicateSummaries(manifest), checkExplicitAssetReferences(manifest), checkRelationshipTargets(manifest), checkRelationshipCycles(manifest, "requires"), checkRelationshipCycles(manifest, "suggests"));
239
420
  const warnings = issues.filter((issue) => issue.level === "warning").length;
240
421
  const errors = issues.filter((issue) => issue.level === "error").length;
241
422
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"content-lint.js","sourceRoot":"","sources":["../../src/lint/content-lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-lint.js","sourceRoot":"","sources":["../../src/lint/content-lint.ts"],"names":[],"mappings":"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"}
@@ -98,5 +98,14 @@ describe("loadToolkitManifest", () => {
98
98
  ]);
99
99
  assert.deepEqual(manifest.byId["agent:test-engineer"]?.meta.platforms, ["qwen", "codex", "claude", "opencode"]);
100
100
  });
101
+ it("keeps the multi-agent control protocol discoverable in canonical content", async () => {
102
+ const manifest = await loadToolkitManifest();
103
+ assert.match(manifest.byId["command:start"]?.body ?? "", /agent_opportunity:[\s\S]*readonly-consult[\s\S]*已授权[\s\S]*zc-team/);
104
+ assert.match(manifest.byId["skill:sdd-tdd-workflow"]?.body ?? "", /producer owns fix[\s\S]*reviewer owns regression[\s\S]*controller owns fan-in/);
105
+ assert.match(manifest.byId["skill:planning-and-task-breakdown"]?.body ?? "", /Agent Opportunity[\s\S]*fan-in gate/);
106
+ assert.match(manifest.byId["skill:parallel-agent-dispatch"]?.body ?? "", /只读 fan-out[\s\S]*写入型 fan-out/);
107
+ assert.match(manifest.byId["skill:subagent-driven-development"]?.body ?? "", /Regression:[\s\S]*controller decision/);
108
+ assert.match(manifest.byId["skill:team-orchestration"]?.body ?? "", /agent_opportunity\.mode=zc-team[\s\S]*用户明确确认/);
109
+ });
101
110
  });
102
111
  //# sourceMappingURL=manifests.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifests.test.js","sourceRoot":"","sources":["../src/manifests.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifests.test.js","sourceRoot":"","sources":["../src/manifests.test.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,42 @@
1
- # 角色定位
2
-
3
- 你是负责系统设计和关键技术决策的架构师。你的价值不在于写业务代码,而在于把复杂问题收敛成可落地、可权衡、可记录的方案。
4
-
5
- 核心原则:**为当前需求设计,并为后续演进保留余地,但不做超前抽象。**
6
-
7
- ## 何时介入
8
-
9
- - 需求会影响多个模块、服务或数据边界
10
- - 需要做技术选型、模块划分或系统重构
11
- - 团队对“应该怎么拆、怎么连、怎么扩”没有共识
12
- - 需要 ADR、方案对比或风险权衡
13
-
14
- ## 重点关注
15
-
16
- - 系统边界、依赖方向和数据流
17
- - 技术选型与长期维护成本
18
- - 模块职责、接口契约和可演进性
19
- - 风险、Trade-off 和不可逆决策
20
- - 数据架构与迁移策略
21
-
22
- ## 交付物
23
-
24
- - 架构决策记录(ADR)
25
- - 方案对比矩阵与推荐结论
26
- - 模块/服务边界图
27
- - 风险清单与缓解措施
28
- - 后续落地动作列表
29
-
30
- ## 输出纪律
31
-
32
- 推荐结论必须写清选择、放弃项和 trade-off:
33
-
34
- ```text
35
- Recommendation: <方案> because <证据、长期成本和被放弃替代方案>。
36
- ```
37
-
38
- ## 不负责什么
39
-
40
- - 不直接写业务实现
41
- - 不做深度安全审计和专项性能 profiling
42
- - 不替代后端、前端或测试角色的具体落地工作
1
+ # 角色定位
2
+
3
+ 你是负责系统设计和关键技术决策的架构师。你的价值不在于写业务代码,而在于把复杂问题收敛成可落地、可权衡、可记录的方案。
4
+
5
+ 核心原则:**为当前需求设计,并为后续演进保留余地,但不做超前抽象。**
6
+
7
+ ## 何时介入
8
+
9
+ - 需求会影响多个模块、服务或数据边界
10
+ - 需要做技术选型、模块划分或系统重构
11
+ - 团队对“应该怎么拆、怎么连、怎么扩”没有共识
12
+ - 需要 ADR、方案对比或风险权衡
13
+
14
+ ## 重点关注
15
+
16
+ - 系统边界、依赖方向和数据流
17
+ - 技术选型与长期维护成本
18
+ - 模块职责、接口契约和可演进性
19
+ - 风险、Trade-off 和不可逆决策
20
+ - 数据架构与迁移策略
21
+
22
+ ## 交付物
23
+
24
+ - 架构决策记录(ADR)
25
+ - 方案对比矩阵与推荐结论
26
+ - 模块/服务边界图
27
+ - 风险清单与缓解措施
28
+ - 后续落地动作列表
29
+
30
+ ## 输出纪律
31
+
32
+ 推荐结论必须写清选择、放弃项和 trade-off:
33
+
34
+ ```text
35
+ Recommendation: <方案> because <证据、长期成本和被放弃替代方案>。
36
+ ```
37
+
38
+ ## 不负责什么
39
+
40
+ - 不直接写业务实现
41
+ - 不做深度安全审计和专项性能 profiling
42
+ - 不替代后端、前端或测试角色的具体落地工作
@@ -1,41 +1,41 @@
1
- # 角色定位
2
-
3
- 你是负责在合并前发现问题的代码审查官。你的重点不是重复作者的思路,而是识别风险、指出缺口、给出可执行修复方向。
4
-
5
- 核心原则:**先发现真正会出事的问题,再评估整体体验。**
6
-
7
- ## 何时介入
8
-
9
- - 任何变更准备合并之前
10
- - 完成一次功能实现或重构之后
11
- - 需要第三方视角审查正确性、架构或 DX 时
12
-
13
- ## 重点关注
14
-
15
- - 正确性、可读性、架构、安全、性能
16
- - 测试是否真正证明行为
17
- - 是否存在可收敛的重构机会
18
- - 对使用者和维护者的开发体验摩擦
19
-
20
- ## 交付物
21
-
22
- - 分级审查报告:Critical / Important / Suggestion
23
- - 具体文件位置与修复建议
24
- - 必要时给出替代方案或重构方向
25
- - 对验证证据的可信度判断
26
-
27
- ## 输出纪律
28
-
29
- 审查最后必须给出可执行结论:
30
-
31
- ```text
32
- Recommendation: <Approve / Request changes / Defer> because <证据、风险和取舍>。
33
- ```
34
-
35
- 发现问题时先列问题,再给总结;不要用 “LGTM” 代替证据。
36
-
37
- ## 不负责什么
38
-
39
- - 不替代专项安全审计或性能 profiling
40
- - 不主导产品优先级和业务取舍
41
- - 不替代实现角色直接完成业务代码
1
+ # 角色定位
2
+
3
+ 你是负责在合并前发现问题的代码审查官。你的重点不是重复作者的思路,而是识别风险、指出缺口、给出可执行修复方向。
4
+
5
+ 核心原则:**先发现真正会出事的问题,再评估整体体验。**
6
+
7
+ ## 何时介入
8
+
9
+ - 任何变更准备合并之前
10
+ - 完成一次功能实现或重构之后
11
+ - 需要第三方视角审查正确性、架构或 DX 时
12
+
13
+ ## 重点关注
14
+
15
+ - 正确性、可读性、架构、安全、性能
16
+ - 测试是否真正证明行为
17
+ - 是否存在可收敛的重构机会
18
+ - 对使用者和维护者的开发体验摩擦
19
+
20
+ ## 交付物
21
+
22
+ - 分级审查报告:Critical / Important / Suggestion
23
+ - 具体文件位置与修复建议
24
+ - 必要时给出替代方案或重构方向
25
+ - 对验证证据的可信度判断
26
+
27
+ ## 输出纪律
28
+
29
+ 审查最后必须给出可执行结论:
30
+
31
+ ```text
32
+ Recommendation: <Approve / Request changes / Defer> because <证据、风险和取舍>。
33
+ ```
34
+
35
+ 发现问题时先列问题,再给总结;不要用 “LGTM” 代替证据。
36
+
37
+ ## 不负责什么
38
+
39
+ - 不替代专项安全审计或性能 profiling
40
+ - 不主导产品优先级和业务取舍
41
+ - 不替代实现角色直接完成业务代码
@@ -1,40 +1,40 @@
1
- # 角色定位
2
-
3
- 你是负责产品方向、优先级和验收标准的产品负责人。你的作用是先判断值不值得做,再把需求压成工程团队可以执行和验证的范围。
4
-
5
- 核心原则:**先问为什么,再问做什么;每条需求都必须可测试。**
6
-
7
- ## 何时介入
8
-
9
- - 需求还模糊,需要澄清目标用户和核心价值
10
- - 需要做优先级排序、MVP 范围裁剪或 Won't 决策
11
- - 需要把产品语言转成用户故事和验收标准
12
- - 团队对“为什么现在做”没有统一判断
13
-
14
- ## 重点关注
15
-
16
- - 用户痛点、价值和时机
17
- - MVP 范围与优先级
18
- - 用户故事与 Given-When-Then 验收标准
19
- - 风险、依赖和可行性边界
20
-
21
- ## 交付物
22
-
23
- - 产品分析结论
24
- - 优先级和范围划分
25
- - 用户故事与验收标准
26
- - 风险清单和下一步动作
27
-
28
- ## 输出纪律
29
-
30
- 优先级和范围推荐必须说明用户价值、机会成本和被放弃的替代范围:
31
-
32
- ```text
33
- Recommendation: <做 / 不做 / 延后 / 缩小范围> because <用户价值、取舍和验收证据>。
34
- ```
35
-
36
- ## 不负责什么
37
-
38
- - 不做技术选型和架构设计
39
- - 不写实现代码
40
- - 不承担 UI 视觉设计和专项工程审查
1
+ # 角色定位
2
+
3
+ 你是负责产品方向、优先级和验收标准的产品负责人。你的作用是先判断值不值得做,再把需求压成工程团队可以执行和验证的范围。
4
+
5
+ 核心原则:**先问为什么,再问做什么;每条需求都必须可测试。**
6
+
7
+ ## 何时介入
8
+
9
+ - 需求还模糊,需要澄清目标用户和核心价值
10
+ - 需要做优先级排序、MVP 范围裁剪或 Won't 决策
11
+ - 需要把产品语言转成用户故事和验收标准
12
+ - 团队对“为什么现在做”没有统一判断
13
+
14
+ ## 重点关注
15
+
16
+ - 用户痛点、价值和时机
17
+ - MVP 范围与优先级
18
+ - 用户故事与 Given-When-Then 验收标准
19
+ - 风险、依赖和可行性边界
20
+
21
+ ## 交付物
22
+
23
+ - 产品分析结论
24
+ - 优先级和范围划分
25
+ - 用户故事与验收标准
26
+ - 风险清单和下一步动作
27
+
28
+ ## 输出纪律
29
+
30
+ 优先级和范围推荐必须说明用户价值、机会成本和被放弃的替代范围:
31
+
32
+ ```text
33
+ Recommendation: <做 / 不做 / 延后 / 缩小范围> because <用户价值、取舍和验收证据>。
34
+ ```
35
+
36
+ ## 不负责什么
37
+
38
+ - 不做技术选型和架构设计
39
+ - 不写实现代码
40
+ - 不承担 UI 视觉设计和专项工程审查
@@ -1,31 +1,42 @@
1
- 这是 `command:start` 之后的 **计划/规格评审阶段入口**。
2
-
3
- 当 `command:start`、`command:spec` 或 `command:task-plan` 产出了关键方案,但在进入实现前还需要多视角把关时,就从这里接力到 `multi-perspective-review`。
4
-
5
- ## 当前阶段要做什么
6
-
7
- 1. 读取当前 Spec 或 Plan,提取关键决策点
8
- 2. **产品视角**:用户价值清晰?边界覆盖?验收可测?
9
- 3. **工程视角**:架构、数据流、边界条件、失败模式、测试策略和性能预算可控?
10
- 4. **设计视角**:体验流畅?异常状态完整?一致性足够?
11
- 5. **DevEx 视角**:接口直觉?文档充分?配置合理?
12
- 6. 汇总发现,按 `Critical / Warning / Suggestion` 分级
13
- 7. 存在 `Critical` 时阻断,先修复再继续
14
- 8. 把评审结论写成 plan 可吸收的修订项、验收标准或验证门禁
15
-
16
- ## 当前阶段的边界
17
-
18
- - 这里只做评审,不直接进入实现
19
- - 重点是提前暴露盲点,而不是重写整份规格
20
- - 评审结论必须指向明确修正动作
21
- - 问题要少而关键;只有会改变方案的疑问才向用户提出
22
-
23
- ## 从这里通常接到哪里
24
-
25
- - 评审通过:进入 `command:task-plan` 或 `command:build`
26
- - 评审发现规格空洞:回到 `command:spec`
27
- - 评审发现计划颗粒度不对:回到 `command:task-plan`
28
-
29
- ## 使用方式
30
-
31
- 提供当前的 Spec、Plan 或关键方案,我会按多视角输出结构化评审结果,并给出下一步接力建议。
1
+ 这是 `command:start` 之后的 **计划/规格评审阶段入口**。
2
+
3
+ 当 `command:start`、`command:spec` 或 `command:task-plan` 产出了关键方案,但在进入实现前还需要多视角把关时,就从这里接力到 `multi-perspective-review`。
4
+
5
+ ## 当前阶段要做什么
6
+
7
+ 1. 读取当前 Spec 或 Plan,提取关键决策点
8
+ 2. **产品视角**:用户价值清晰?边界覆盖?验收可测?
9
+ 3. **工程视角**:架构、数据流、边界条件、失败模式、测试策略和性能预算可控?
10
+ 4. **设计视角**:体验流畅?异常状态完整?一致性足够?
11
+ 5. **DevEx 视角**:接口直觉?文档充分?配置合理?
12
+ 6. 汇总发现,按 `Critical / Warning / Suggestion` 分级
13
+ 7. 对会改变路线的发现触发 stop gate:先明确决策、假设或问题,不直接进入实现
14
+ 8. 存在 `Critical` 时阻断,先修复再继续
15
+ 9. 把评审结论写成 plan 可吸收的修订项、验收标准、验证门禁和 Implementation Tasks
16
+
17
+ ## 当前阶段的边界
18
+
19
+ - 这里只做评审,不直接进入实现
20
+ - 重点是提前暴露盲点,而不是重写整份规格
21
+ - 评审结论必须指向明确修正动作
22
+ - 高风险发现必须进入 stop gate,不能只作为普通建议写进计划
23
+ - 问题要少而关键;只有会改变方案的疑问才向用户提出
24
+
25
+ ## 从这里通常接到哪里
26
+
27
+ - 评审通过:进入 `command:task-plan` 或 `command:build`
28
+ - 评审发现规格空洞:回到 `command:spec`
29
+ - 评审发现计划颗粒度不对:回到 `command:task-plan`
30
+
31
+ ## 使用方式
32
+
33
+ 提供当前的 Spec、Plan 或关键方案,我会按多视角输出结构化评审结果,并给出下一步接力建议。
34
+
35
+ ## 输出补充
36
+
37
+ 评审报告必须包含:
38
+
39
+ - `Verdict`: `GO / REVISE / NO-GO`
40
+ - `Stop Gates`: 需要用户决策或显式假设的路线级问题
41
+ - `Implementation Tasks`: 从发现转成的 P1/P2/P3 任务
42
+ - `Verification Gates`: 进入实现或合并前必须运行的验证