create-yss-spec 2.2.7 → 2.2.9
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/README.md +1 -1
- package/package.json +1 -1
- package/template/.agents/skills/maintaining-skills/SKILL.md +1 -1
- package/template/.agents/skills/yss-antd-design/references/evidence.md +4 -0
- package/template/.agents/skills/yss-design-system/SKILL.md +3 -1
- package/template/.agents/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +3 -1
- package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +46 -1
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +6 -0
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +11 -6
- package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +54 -0
- package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +207 -0
- package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +154 -0
- package/template/.agents/skills/yss-router/references/boundaries.md +1 -1
- package/template/.agents/skills/yss-router/references/router-contract.yaml +30 -3
- package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +14 -0
- package/template/.agents/skills/yss-router/references/yss-skill-execution-result.md +5 -0
- package/template/.agents/skills/yss-ui/references/antdv-compatibility.md +1 -1
- package/template/.claude/skills/maintaining-skills/SKILL.md +1 -1
- package/template/.claude/skills/yss-antd-design/references/evidence.md +4 -0
- package/template/.claude/skills/yss-design-system/SKILL.md +3 -1
- package/template/.claude/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.claude/skills/yss-product-lifecycle/SKILL.md +3 -1
- package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +46 -1
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +6 -0
- package/template/.claude/skills/yss-prototype-stage/SKILL.md +11 -6
- package/template/.claude/skills/yss-prototype-stage/references/product-design-adapter.md +54 -0
- package/template/.claude/skills/yss-prototype-stage/scripts/prototype-contract.mjs +207 -0
- package/template/.claude/skills/yss-prototype-stage/tests/run-scenarios.mjs +154 -0
- package/template/.claude/skills/yss-router/references/boundaries.md +1 -1
- package/template/.claude/skills/yss-router/references/router-contract.yaml +30 -3
- package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +14 -0
- package/template/.claude/skills/yss-router/references/yss-skill-execution-result.md +5 -0
- package/template/.claude/skills/yss-ui/references/antdv-compatibility.md +1 -1
- package/template/.codex/skills/maintaining-skills/SKILL.md +1 -1
- package/template/.codex/skills/yss-antd-design/references/evidence.md +4 -0
- package/template/.codex/skills/yss-design-system/SKILL.md +3 -1
- package/template/.codex/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +3 -1
- package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +46 -1
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +6 -0
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +11 -6
- package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +54 -0
- package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +207 -0
- package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +154 -0
- package/template/.codex/skills/yss-router/references/boundaries.md +1 -1
- package/template/.codex/skills/yss-router/references/router-contract.yaml +30 -3
- package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +14 -0
- package/template/.codex/skills/yss-router/references/yss-skill-execution-result.md +5 -0
- package/template/.codex/skills/yss-ui/references/antdv-compatibility.md +1 -1
- package/template/.cursor/skills/maintaining-skills/SKILL.md +1 -1
- package/template/.cursor/skills/yss-antd-design/references/evidence.md +4 -0
- package/template/.cursor/skills/yss-design-system/SKILL.md +3 -1
- package/template/.cursor/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +3 -1
- package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +46 -1
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +6 -0
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +11 -6
- package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +54 -0
- package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +207 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +154 -0
- package/template/.cursor/skills/yss-router/references/boundaries.md +1 -1
- package/template/.cursor/skills/yss-router/references/router-contract.yaml +30 -3
- package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +14 -0
- package/template/.cursor/skills/yss-router/references/yss-skill-execution-result.md +5 -0
- package/template/.cursor/skills/yss-ui/references/antdv-compatibility.md +1 -1
- package/template/.hermes/skills/maintaining-skills/SKILL.md +1 -1
- package/template/.hermes/skills/yss-antd-design/references/evidence.md +4 -0
- package/template/.hermes/skills/yss-design-system/SKILL.md +3 -1
- package/template/.hermes/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +3 -1
- package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +46 -1
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +6 -0
- package/template/.hermes/skills/yss-prototype-stage/SKILL.md +11 -6
- package/template/.hermes/skills/yss-prototype-stage/references/product-design-adapter.md +54 -0
- package/template/.hermes/skills/yss-prototype-stage/scripts/prototype-contract.mjs +207 -0
- package/template/.hermes/skills/yss-prototype-stage/tests/run-scenarios.mjs +154 -0
- package/template/.hermes/skills/yss-router/references/boundaries.md +1 -1
- package/template/.hermes/skills/yss-router/references/router-contract.yaml +30 -3
- package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +14 -0
- package/template/.hermes/skills/yss-router/references/yss-skill-execution-result.md +5 -0
- package/template/.hermes/skills/yss-ui/references/antdv-compatibility.md +1 -1
- package/template/.pi/skills/maintaining-skills/SKILL.md +1 -1
- package/template/.pi/skills/yss-antd-design/references/evidence.md +4 -0
- package/template/.pi/skills/yss-design-system/SKILL.md +3 -1
- package/template/.pi/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +3 -1
- package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +46 -1
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +6 -0
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +11 -6
- package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +54 -0
- package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +207 -0
- package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +154 -0
- package/template/.pi/skills/yss-router/references/boundaries.md +1 -1
- package/template/.pi/skills/yss-router/references/router-contract.yaml +30 -3
- package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +14 -0
- package/template/.pi/skills/yss-router/references/yss-skill-execution-result.md +5 -0
- package/template/.pi/skills/yss-ui/references/antdv-compatibility.md +1 -1
- package/template/.qoder/skills/maintaining-skills/SKILL.md +1 -1
- package/template/.qoder/skills/yss-antd-design/references/evidence.md +4 -0
- package/template/.qoder/skills/yss-design-system/SKILL.md +3 -1
- package/template/.qoder/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +3 -1
- package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +46 -1
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +6 -0
- package/template/.qoder/skills/yss-prototype-stage/SKILL.md +11 -6
- package/template/.qoder/skills/yss-prototype-stage/references/product-design-adapter.md +54 -0
- package/template/.qoder/skills/yss-prototype-stage/scripts/prototype-contract.mjs +207 -0
- package/template/.qoder/skills/yss-prototype-stage/tests/run-scenarios.mjs +154 -0
- package/template/.qoder/skills/yss-router/references/boundaries.md +1 -1
- package/template/.qoder/skills/yss-router/references/router-contract.yaml +30 -3
- package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +14 -0
- package/template/.qoder/skills/yss-router/references/yss-skill-execution-result.md +5 -0
- package/template/.qoder/skills/yss-ui/references/antdv-compatibility.md +1 -1
- package/template/.trae/skills/maintaining-skills/SKILL.md +1 -1
- package/template/.trae/skills/yss-antd-design/references/evidence.md +4 -0
- package/template/.trae/skills/yss-design-system/SKILL.md +3 -1
- package/template/.trae/skills/yss-page-module-development/SKILL.md +1 -1
- package/template/.trae/skills/yss-product-lifecycle/SKILL.md +3 -1
- package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +46 -1
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +6 -0
- package/template/.trae/skills/yss-prototype-stage/SKILL.md +11 -6
- package/template/.trae/skills/yss-prototype-stage/references/product-design-adapter.md +54 -0
- package/template/.trae/skills/yss-prototype-stage/scripts/prototype-contract.mjs +207 -0
- package/template/.trae/skills/yss-prototype-stage/tests/run-scenarios.mjs +154 -0
- package/template/.trae/skills/yss-router/references/boundaries.md +1 -1
- package/template/.trae/skills/yss-router/references/router-contract.yaml +30 -3
- package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +14 -0
- package/template/.trae/skills/yss-router/references/yss-skill-execution-result.md +5 -0
- package/template/.trae/skills/yss-ui/references/antdv-compatibility.md +1 -1
- package/template/AGENTS.md +5 -4
- package/template/CONTEXT.md +2 -2
- package/template/DESIGN.md +203 -0
- package/template/README.md +10 -11
- package/template/__yss_dotfile__.gitignore +1 -0
- package/template/docs/agents/digital-human-roles.md +1 -1
- package/template/docs/agents/digital-human-roles.yaml +17 -21
- package/template/docs/agents/skills-maintenance.md +2 -2
- package/template/docs/agents/yss-plugin-dependency-contract.md +45 -0
- package/template/docs/agents/yss-skill-registry.yaml +30 -1
- package/template/docs/api/templates/openapi-draft-review-checklist.md +2 -2
- package/template/docs/architecture/templates/engineering-baseline-review-template.md +19 -0
- package/template/docs/design/README.md +14 -3
- package/template/docs/design/design-system-sync.yaml +12 -0
- package/template/docs/design/design.md +69 -10
- package/template/docs/design/preview-dark.html +15 -0
- package/template/docs/design/preview.html +20 -0
- package/template/docs/design/templates/interaction-spec-template.md +2 -2
- package/template/docs/design/templates/prototype-confirmation-template.md +1 -1
- package/template/docs/design/templates/prototype-evidence-template.yaml +52 -10
- package/template/docs/design/tokens/.design-md-projection.json +13 -0
- package/template/docs/discovery/reports/agent-governance-options.md +71 -0
- package/template/docs/process/harness-process-tailoring.md +12 -5
- package/template/docs/process/lifecycle-registry-baseline.json +1 -1
- package/template/docs/process/lifecycle-registry.yaml +1 -1
- package/template/docs/process/template-engineering-overview.md +2 -2
- package/template/docs/process/template-verification-profiles.yaml +15 -1
- package/template/docs/process/templates/maintenance-checkpoint-template.yaml +3 -12
- package/template/docs/templates/build-architecture-checklist-template.md +2 -0
- package/template/docs/templates/implementation-routing-template.md +23 -0
- package/template/docs/templates/requirement-freeze-template.md +1 -1
- package/template/docs/user-guide//346/210/230/346/234/257/350/256/276/350/256/241/345/255/220/351/241/271/347/233/256/347/224/250/346/210/267/346/211/213/345/206/214.md +218 -0
- package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +1014 -0
- package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214/347/264/242/345/274/225.md +15 -25
- package/template/scripts/lib/digital-human-roles.mjs +0 -1
- package/template/scripts/lib/maintenance-intensity.mjs +24 -10
- package/template/scripts/lib/skill-governance.mjs +19 -0
- package/template/scripts/lib/skill-registry.mjs +70 -0
- package/template/scripts/node-verify-lifecycle-registry.mjs +1 -1
- package/template/scripts/verify-digital-human-roles-scenarios +1 -1
- package/template/scripts/verify-template-verification-scenarios +5 -0
- package/template/scripts/verify-yss-prototype-contract-scenarios +2 -0
- package/template/skills-lock.json +8 -8
- package/template.manifest.json +1 -0
- package/template.snapshot.json +5 -5
- package/template/docs/user-guide/templates//347/224/250/346/210/267/346/211/213/345/206/214/346/250/241/346/235/277.md +0 -53
- package/template/docs/user-guide//344/272/247/345/223/201/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201.md +0 -223
- package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +0 -1115
- package/template/docs/user-guide//345/244/226/351/203/250/345/221/275/344/273/244/350/241/214/345/267/245/345/205/267/345/256/236/350/267/265/346/214/207/345/215/227.md +0 -117
- package/template/docs/user-guide//347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +0 -584
- package/template/docs/user-guide//350/247/204/346/240/274/344/270/216/344/273/273/345/212/241/350/277/201/347/247/273/346/214/207/345/215/227.md +0 -44
- package/template/docs/user-guide//351/234/200/346/261/202/346/276/204/346/270/205/346/214/207/345/215/227.md +0 -230
- package/template/docs/user-guide//351/234/200/346/261/202/346/276/204/346/270/205/346/234/200/344/275/263/345/256/236/350/267/265.md +0 -275
|
@@ -1,1115 +0,0 @@
|
|
|
1
|
-
# 产品研发全生命周期最佳实践
|
|
2
|
-
|
|
3
|
-
本文面向产品、架构、研发、测试、实施和 AI Agent 协作者,说明如何把一个产品想法从机会探索推进到发布、实施和复盘。示例使用“数据中台数据建模”场景,重点展示每个阶段应该沉淀什么资产、如何判断能否进入下一阶段、以及应该调用哪些项目技能。
|
|
4
|
-
|
|
5
|
-
如果只做小文案、局部样式、明确 bug 修复或已有功能的小需求迭代,不需要套完整流程。先判断现有资产可信到哪一阶段,再从最早受影响的阶段延伸;只有涉及新模块、API、跨端协作、DDD 分层、发布实施或长期可维护性,才按本文跑最小必要生命周期。
|
|
6
|
-
|
|
7
|
-
## 1. 一张图看完整链路
|
|
8
|
-
|
|
9
|
-
> 本文后续“阶段 0 / 阶段 1 ...”用于讲解细化门禁 / 职责点,不等同于 `docs/process/lifecycle-artifact-map.md` 中的 8 个主阶段。执行、审查和追踪仍以 8 个主阶段为准。
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
机会探索
|
|
13
|
-
-> Discovery / 竞品分析
|
|
14
|
-
-> 业务架构
|
|
15
|
-
-> grill-with-docs 需求澄清
|
|
16
|
-
-> Spec 初稿 / 需求基线
|
|
17
|
-
-> 产品总体设计 / 功能架构设计
|
|
18
|
-
-> 页面 / 原型 / 交互设计
|
|
19
|
-
-> Prototype Review
|
|
20
|
-
-> Spec 校准 / 需求冻结
|
|
21
|
-
-> API 影响分析 / 契约草案
|
|
22
|
-
-> OpenAPI Draft Review(如生成 YAML Draft)
|
|
23
|
-
-> 工程基线 / YSS DDD Review
|
|
24
|
-
-> 系统概要设计 / 数据架构
|
|
25
|
-
-> 设计审查
|
|
26
|
-
-> OpenAPI Freeze
|
|
27
|
-
-> 垂直切片 Ticket
|
|
28
|
-
-> 垂直切片
|
|
29
|
-
-> TDD 实现
|
|
30
|
-
-> 独立审查 / fresh verification
|
|
31
|
-
-> 发布 / 实施
|
|
32
|
-
-> 复盘沉淀
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
核心原则:
|
|
36
|
-
|
|
37
|
-
- 用 `yss-product-lifecycle` 判断当前阶段、缺失资产和下一步。
|
|
38
|
-
- 用 `grill-with-docs` 把模糊需求追问清楚,不让 AI 替人类猜业务规则。
|
|
39
|
-
- 把 AI 当作可审查的协作者,而不是一次性生成器;每轮都要说清目标、输入资产、边界、输出格式和验证方式。
|
|
40
|
-
- Spec 初稿后先产出产品总体设计 / 功能架构设计,让团队评审用户主流程、业务对象、模块边界、页面/API/数据影响和开放问题,再进入页面 / 原型 / 交互设计。
|
|
41
|
-
- 有用户界面的产品,Spec 和页面 / 原型 / 交互设计要迭代校准;不要在交互未评审前冻结 Spec 或直接生成 OpenAPI 契约。
|
|
42
|
-
- API 影响分析 / 契约草案后、实现前,需要系统概要设计 / 数据架构承接工程基线、服务边界、状态流、NFR、发布回滚和风险 / 回滚约束。
|
|
43
|
-
- 涉及 API 时先形成影响记录和契约草案;必要时生成 review-only OpenAPI Draft,设计审查通过后 Freeze,再开发或生成客户端。
|
|
44
|
-
- 涉及前后端或多层实现时先让 `yss-router` 选择最小技能集。
|
|
45
|
-
- 业务行为默认 TDD;不能 TDD 的文档、配置或生成类任务要写清验证方式。
|
|
46
|
-
- 完成、可合并、可发布必须有 fresh verification 证据。
|
|
47
|
-
|
|
48
|
-
## 1.5 AI-Human Harness 协作层
|
|
49
|
-
|
|
50
|
-
生命周期流程能不能跑好,关键不只是“让 AI 做事”,而是让人、Codex、skills、agents 和项目 harness 形成闭环。
|
|
51
|
-
|
|
52
|
-
```text
|
|
53
|
-
人类决定目标、优先级、业务取舍和风险 / 回滚约束
|
|
54
|
-
-> Codex / Hermes 等平台读取仓库、执行任务、更新资产
|
|
55
|
-
-> skills 提供阶段化工作方法和 YSS 专项规范
|
|
56
|
-
-> agents 承担分工明确的角色:Discovery / Spec / API / Architecture / Code / Review / Verify
|
|
57
|
-
-> harness 把聊天结论固化为 docs、OpenAPI、Ticket、测试和验证记录
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
这里的 harness 不是单个工具,而是本项目提供的一组可追溯能力:
|
|
61
|
-
|
|
62
|
-
| Harness 能力 | 位置 | 用法 |
|
|
63
|
-
|---|---|---|
|
|
64
|
-
| Agent 入口规则 | `AGENTS.md` | 约束风险 / 回滚约束、阶段门禁和默认协作流程 |
|
|
65
|
-
| 领域记忆 | `CONTEXT.md` | 保存稳定业务术语和英文标识词干,避免每轮重新解释或临场翻译 |
|
|
66
|
-
| 需求和规格资产 | `docs/.scratch/<feature>/discovery/`、`docs/.scratch/<feature>/spec.md`、`docs/.scratch/<feature>/api/` | 把聊天结论变成可审查文件 |
|
|
67
|
-
| 产品设计资产 | `docs/.scratch/<feature>/design/` 或 Figma / 原型工具链接 | 保存页面清单、用户流、原型、交互说明和状态矩阵 |
|
|
68
|
-
| 架构和决策资产 | `docs/.scratch/<feature>/architecture/`、`docs/adr/` | 保存模块边界、状态流和难回滚取舍 |
|
|
69
|
-
| 变更编排 | `docs/.scratch/<feature>/parent-ticket.md`、`docs/.scratch/<feature>/issues/` | 追踪切片目标、设计约束、行为差异、任务、验证和收口状态 |
|
|
70
|
-
| Agent 交接 | `docs/templates/agent-brief-template.md`、GitLab / GitHub Issues | 把任务交给 Agent 前写清目标、非目标、验收和验证 |
|
|
71
|
-
| Fresh verification | 测试命令、`scripts/verify-template`、CI | 用最新证据支撑“完成”结论 |
|
|
72
|
-
|
|
73
|
-
### 1.5.1 与 AI 交互的基本协议
|
|
74
|
-
|
|
75
|
-
好的 prompt 不只是“帮我做 X”,而是给 AI 一个可执行合同。
|
|
76
|
-
|
|
77
|
-
推荐结构:
|
|
78
|
-
|
|
79
|
-
```text
|
|
80
|
-
背景:<业务背景、已有材料路径、当前阶段>
|
|
81
|
-
目标:<这轮只要完成什么>
|
|
82
|
-
输入资产:<CONTEXT / discovery / Spec / design / OpenAPI / architecture / issue>
|
|
83
|
-
边界:<不做什么、约束条件、风险与回滚要求>
|
|
84
|
-
工作方式:<先检查资产 / 先追问 / 先设计 / 先测试 / 不要直接写代码>
|
|
85
|
-
输出:<文件路径、表格、清单、prompt、验证记录>
|
|
86
|
-
验证:<需要运行或建议运行的命令>
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
数据建模示例:
|
|
90
|
-
|
|
91
|
-
```text
|
|
92
|
-
使用 yss-product-lifecycle 处理“数据中台数据建模 MVP”。
|
|
93
|
-
背景:目前只有初始想法,目标用户是假设的建模人员、管理员、实施顾问和下游开发者。
|
|
94
|
-
目标:本轮只判断生命周期阶段,并给出下一步产物,不写业务代码。
|
|
95
|
-
输入资产:请先读取 AGENTS.md、CONTEXT.md、`docs/.scratch/<feature>/`、`docs/adr/` 和相关模板。
|
|
96
|
-
边界:不要生成 Java / Vue 实现;不要替我确认审批、权限和数据库迁移规则。
|
|
97
|
-
输出:当前阶段、已有资产、缺失资产、是否阻塞、下一步、推荐技能和可直接使用的下一轮 prompt。
|
|
98
|
-
验证:说明本轮是否只是文档分诊;如修改文档,运行 git diff --check 和 scripts/verify-template。
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
不推荐:
|
|
102
|
-
|
|
103
|
-
```text
|
|
104
|
-
帮我做一个数据建模平台。
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### 1.5.2 苏格拉底式提问法
|
|
108
|
-
|
|
109
|
-
人和 AI 协作时,不要一开始追求完整答案。先让 AI 用苏格拉底式问题把假设暴露出来。
|
|
110
|
-
|
|
111
|
-
| 提问方向 | 目的 | 数据建模示例 |
|
|
112
|
-
|---|---|---|
|
|
113
|
-
| 谁在使用 | 防止用户泛化 | 主要用户是建模人员、实施顾问还是平台管理员?谁拥有发布权? |
|
|
114
|
-
| 为什么现在做 | 判断机会是否真实 | 现在的线下建模痛点是效率、质量、协作还是审计? |
|
|
115
|
-
| 什么算成功 | 把愿望变成验收 | 30 分钟完成模型发布是否是可接受目标?谁验收? |
|
|
116
|
-
| 第一版不做什么 | 控制范围 | 审批流、血缘、指标管理和数据库迁移是否都排除在 MVP 外? |
|
|
117
|
-
| 如果失败会怎样 | 找异常路径 | 发布校验失败时,用户需要字段级错误还是整体错误? |
|
|
118
|
-
| 反例是什么 | 检查边界 | 已发布版本是否绝对不可变?如果客户要求紧急修字段怎么办? |
|
|
119
|
-
| 证据在哪里 | 区分事实和猜测 | 这个痛点来自客户访谈、实施经验、竞品观察还是团队假设? |
|
|
120
|
-
| 如何验证 | 防止不可测需求 | 哪个测试或人工流程能证明下游不能引用草稿版本? |
|
|
121
|
-
| 用户如何操作 | 避免从 Spec 直接跳 API | 用户从列表进入字段编辑、校验、发布和版本查看的路径是什么? |
|
|
122
|
-
|
|
123
|
-
推荐让 AI 这样问:
|
|
124
|
-
|
|
125
|
-
```text
|
|
126
|
-
使用苏格拉底式提问法,不要直接给方案。
|
|
127
|
-
请围绕用户、痛点、MVP、非目标、异常路径、成功标准、风险、验证证据和可验证性,连续提出 10 个必须回答的问题。
|
|
128
|
-
每个问题后说明:为什么这个问题会影响 Spec、OpenAPI、架构或测试。
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
回答时可以明确区分:
|
|
132
|
-
|
|
133
|
-
```text
|
|
134
|
-
已确认:发布版本不可变。
|
|
135
|
-
待确认:是否允许管理员废弃发布版本。
|
|
136
|
-
非目标:第一版不做审批流和自动血缘分析。
|
|
137
|
-
不要猜:数据库迁移生成规则先记录待确认项、责任人和补齐计划。
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### 1.5.3 如何使用 skills
|
|
141
|
-
|
|
142
|
-
skills 是让 AI 按规程工作的“操作手册”,不是关键词装饰。使用时要显式说明 skill、阶段和产物。
|
|
143
|
-
|
|
144
|
-
| 目标 | 推荐入口 | 注意事项 |
|
|
145
|
-
|---|---|---|
|
|
146
|
-
| 不知道当前该做什么 | `yss-product-lifecycle` | 先阶段判断和资产检查,不写业务代码 |
|
|
147
|
-
| 模糊需求追问 | `grill-with-docs` | 先问清,不让 AI 猜规则;稳定术语和英文标识写 `CONTEXT.md` |
|
|
148
|
-
| 生成 Spec 初稿 / 需求基线 | `to-spec` 或 Spec 模板 | 只基于已确认事实,不把待确认项写成需求 |
|
|
149
|
-
| 产品总体设计 / 功能架构 | `docs/design/templates/product-overview-design-template.md`、`docs/.scratch/<feature>/design/` | Spec 初稿后的必要产物;必须包含低保真原型 / 页面草图;进入页面 / 原型 / 交互设计、Spec 校准或 OpenAPI Draft 前必须完成 |
|
|
150
|
-
| 页面和交互设计 | `product-design:index`、Product Design focused skills、`docs/.scratch/<feature>/design/` | 基于 Spec 初稿和产品总体设计细化页面流、状态和交互,再回填 Spec 并反推 API |
|
|
151
|
-
| 原型评审 | `prototype-review` | 未通过时回到产品设计;通过后进入高保真 HTML 原型,不直接进入 Spec 校准 / API 影响分析 / 契约草案 |
|
|
152
|
-
| 高保真 HTML 原型 | `product-design:index` 路由到 Product Design focused skill;`yss-antd-design`(仅原型) | 低保真评审通过后的强制产物;必须使用 Ant Design v6,输出 `docs/.scratch/<feature>/design/prototypes/index.html`,记录 AntD CLI 校验证据并获得用户确认。前端落地改用 `yss-ui` |
|
|
153
|
-
| API 契约 | API 影响分析 / 契约草案 / OpenAPI Freeze 流程 | Draft 可讨论,Freeze 才可开发 |
|
|
154
|
-
| 正式变更设计 | `to-tickets` / Matt skills | 复用 Spec,聚焦技术方案、风险和测试 seam |
|
|
155
|
-
| 拆切片 | `to-tickets` | 必须是端到端垂直切片 |
|
|
156
|
-
| 选择 YSS 实现规范 | `yss-router` | 不要一次加载所有 YSS skills |
|
|
157
|
-
| 业务开发 | `tdd` + YSS 专项 skills | 先失败测试,再实现 |
|
|
158
|
-
| Bug 修复 | `diagnosing-bugs` | 先复现和根因,再修 |
|
|
159
|
-
| 完成前验证 | fresh verification 记录 / 验证模板 | 必须记录命令、结果、失败项和未验证原因 |
|
|
160
|
-
| 审查 | `code-review` / Review Agent | 实现者不能审查自己 |
|
|
161
|
-
|
|
162
|
-
使用技能的好 prompt:
|
|
163
|
-
|
|
164
|
-
```text
|
|
165
|
-
使用 yss-router,基于 `docs/.scratch/data-modeling/issues/04-validate-model.md`、
|
|
166
|
-
冻结 OpenAPI `docs/.scratch/data-modeling/api/data-modeling.yaml` 和架构设计,
|
|
167
|
-
选择最小 YSS 技能集。
|
|
168
|
-
请说明为什么需要或不需要 yss-domain、yss-repository、yss-mybatis、yss-web-controller、yss-ui、yss-api-integration。
|
|
169
|
-
不要实现代码,只输出技能路由、实现顺序和验证建议。
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
常见错误:
|
|
173
|
-
|
|
174
|
-
- 只说“用一下 skill”,但不说明输入资产和输出路径。
|
|
175
|
-
- 因为是 YSS 项目就一次性加载所有 YSS skills。
|
|
176
|
-
- 把 `需求澄清` 用来重复机会探索,而不是在正式变更中做技术方案。
|
|
177
|
-
- 有 UI 的功能从 Spec 初稿直接跳 OpenAPI,跳过页面、原型、状态矩阵和 `prototype-review`。
|
|
178
|
-
- 在 OpenAPI Freeze 前将 Draft YAML 或手工 JSON 用作生产客户端输入。
|
|
179
|
-
|
|
180
|
-
### 1.5.4 如何使用 agents
|
|
181
|
-
|
|
182
|
-
agents 是角色分工,不是越多越好。只有当任务边界清楚、上下文可交接、彼此不会改同一批文件时,才适合并行。
|
|
183
|
-
|
|
184
|
-
| Agent | 适合做什么 | 交付物 |
|
|
185
|
-
|---|---|---|
|
|
186
|
-
| Intake / Lifecycle Agent | 阶段判断、缺失资产、下一步路由 | 生命周期分诊结果 |
|
|
187
|
-
| Discovery / Ideation Agent | 用户事实、竞品输入、机会假设 | discovery、竞品矩阵、MVP 边界 |
|
|
188
|
-
| Grill / Product Agent | 苏格拉底式追问、范围收敛 | 已确认 / 待确认 / 非目标 |
|
|
189
|
-
| Spec / Ticket Agent | Spec 和垂直切片 | Spec、Ticket、Agent Brief |
|
|
190
|
-
| Product Design / UX Agent | 页面清单、用户流、原型和交互状态 | 页面地图、线框图、状态矩阵、原型链接 |
|
|
191
|
-
| API Contract Agent | API 影响分析 / 契约草案 / OpenAPI Freeze | API 影响记录、OpenAPI YAML、契约测试建议 |
|
|
192
|
-
| Architecture Agent | DDD 分层、状态流、ADR | 架构设计、ADR |
|
|
193
|
-
| Code Agent | TDD 实现 | 代码和测试 |
|
|
194
|
-
| Review Agent | 独立审查 | 阻断项、建议项、风险 |
|
|
195
|
-
| Verify / Release Agent | fresh verification、发布和实施材料 | 验证记录、release、implementation |
|
|
196
|
-
| Retro / Knowledge Agent | 复盘沉淀 | retro、CONTEXT / AGENTS / user guide 更新建议 |
|
|
197
|
-
|
|
198
|
-
Agent 交接必须写成自包含 brief,不能只丢一句“继续上面的”。推荐使用 `docs/templates/agent-brief-template.md`。
|
|
199
|
-
|
|
200
|
-
职称数字人(前端工程师、产品经理等)是叠加在上表职能分工上的配置,权威清单和会签级别见 `docs/agents/digital-human-roles.yaml`。不要用职称实例替换生命周期编排器。阶段协作组是逻辑成员;Grok 等平台的群聊人数上限只约束该运行时如何开会,不改角色表。
|
|
201
|
-
|
|
202
|
-
Agent brief 最少包含:
|
|
203
|
-
|
|
204
|
-
- 背景和相关资产路径。
|
|
205
|
-
- 目标和非目标。
|
|
206
|
-
- 必须遵守的 skills / AGENTS.md 规则。
|
|
207
|
-
- 验收标准。
|
|
208
|
-
- OpenAPI Draft / Freeze 状态。
|
|
209
|
-
- 风险与人工审查点。
|
|
210
|
-
- 验证命令。
|
|
211
|
-
|
|
212
|
-
适合并行:
|
|
213
|
-
|
|
214
|
-
- Discovery Agent 做竞品矩阵,Ideation Agent 基于同一主题做机会假设,最后由主 Agent 收敛。
|
|
215
|
-
- API Contract Agent 和 Architecture Agent 分别审查 Draft 与 DDD 边界,前提是校准后的 Spec、产品总体设计 / 功能架构已稳定;有 UI 时,页面 / 原型 / 交互设计也已评审,或已明确无 UI 影响。
|
|
216
|
-
- 多个独立垂直切片,且不会修改同一批文件。
|
|
217
|
-
|
|
218
|
-
不适合并行:
|
|
219
|
-
|
|
220
|
-
- 需求还没问清时让前端、后端同时实现。
|
|
221
|
-
- OpenAPI 未冻结时让多个 Code Agent 写接口和页面。
|
|
222
|
-
- 多个 Agent 同时改同一个 OpenAPI 文件、同一个聚合或同一个页面。
|
|
223
|
-
- 用实现 Agent 直接做自己的 Review。
|
|
224
|
-
|
|
225
|
-
主 Agent 的职责是整合,而不是把判断外包:
|
|
226
|
-
|
|
227
|
-
- 审阅每个 Agent 的输出。
|
|
228
|
-
- 检查是否冲突。
|
|
229
|
-
- 将结论写回项目资产。
|
|
230
|
-
- 运行 fresh verification。
|
|
231
|
-
- 对无法验证的高风险变更记录阻塞原因和下一步责任人。
|
|
232
|
-
|
|
233
|
-
## 2. 示例背景:数据中台数据建模
|
|
234
|
-
|
|
235
|
-
假设我们要做“数据中台数据建模 MVP”。它不是完整的数据治理平台,第一版只解决建模人员从线下表格维护模型到在线协作、校验、发布的闭环。
|
|
236
|
-
|
|
237
|
-
### 2.1 目标用户
|
|
238
|
-
|
|
239
|
-
| 用户 | 诉求 | 典型任务 |
|
|
240
|
-
|---|---|---|
|
|
241
|
-
| 数据建模人员 | 快速定义业务模型、字段、关系和版本 | 创建模型、维护字段、校验并发布 |
|
|
242
|
-
| 数据平台管理员 | 保证模型命名、发布状态和引用规则可控 | 配置规范、查看发布结果、处理异常 |
|
|
243
|
-
| 实施顾问 | 在客户现场快速初始化模型并排查问题 | 导入模型、核对字段、输出实施记录 |
|
|
244
|
-
| 下游开发者 | 使用稳定模型定义对接数据服务 | 查询发布版本、查看字段和版本变化 |
|
|
245
|
-
|
|
246
|
-
### 2.2 MVP 边界
|
|
247
|
-
|
|
248
|
-
第一版做:
|
|
249
|
-
|
|
250
|
-
- 模型列表、查询和详情。
|
|
251
|
-
- 模型草稿创建。
|
|
252
|
-
- 字段维护和基础字段约束。
|
|
253
|
-
- 发布前校验,返回字段级错误。
|
|
254
|
-
- 发布版本冻结和版本查询。
|
|
255
|
-
- 基础审计信息和发布记录。
|
|
256
|
-
|
|
257
|
-
第一版不做:
|
|
258
|
-
|
|
259
|
-
- 复杂审批流。
|
|
260
|
-
- 自动血缘分析。
|
|
261
|
-
- 数据同步任务编排。
|
|
262
|
-
- 指标口径管理。
|
|
263
|
-
- 跨租户模型市场。
|
|
264
|
-
- 数据库迁移自动生成。
|
|
265
|
-
|
|
266
|
-
成功标准:
|
|
267
|
-
|
|
268
|
-
- 建模人员可以在 30 分钟内完成一个业务对象模型从创建到发布。
|
|
269
|
-
- 发布失败时能定位到具体字段和原因。
|
|
270
|
-
- 下游只能引用发布版本,不能引用草稿版本。
|
|
271
|
-
- 每个发布版本可以追溯创建人、发布时间和字段快照。
|
|
272
|
-
|
|
273
|
-
## 3. 阶段 0:入口分诊
|
|
274
|
-
|
|
275
|
-
先不要急着写 Spec 或代码。用 `yss-product-lifecycle` 判断当前处于哪个阶段。
|
|
276
|
-
|
|
277
|
-
推荐提示词:
|
|
278
|
-
|
|
279
|
-
```text
|
|
280
|
-
使用 yss-product-lifecycle,基于“数据中台数据建模 MVP”判断当前生命周期阶段。
|
|
281
|
-
请列出已有资产、缺失资产、是否阻塞、下一步动作、推荐技能和可直接使用的提示词。
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
分诊结论示例:
|
|
285
|
-
|
|
286
|
-
| 项 | 结论 |
|
|
287
|
-
|---|---|
|
|
288
|
-
| 当前阶段 | opportunity exploration |
|
|
289
|
-
| 阶段依据 | 只有产品想法,缺少 Discovery、Spec 初稿、产品总体设计 / 功能架构、页面 / 原型 / 交互设计、Spec 校准和 OpenAPI |
|
|
290
|
-
| 已有资产 | 初始想法、目标用户假设 |
|
|
291
|
-
| 缺失资产 | 竞品矩阵、Discovery、Spec 初稿 / 需求基线、产品总体设计 / 功能架构、页面 / 原型 / 交互设计、Spec 校准 / 需求冻结、OpenAPI Draft、工程基线、架构设计、设计审查、垂直切片 |
|
|
292
|
-
| 是否阻塞 | 阻塞实现,不阻塞产品探索 |
|
|
293
|
-
| 下一步 | 先形成机会探索和 Discovery 输入 |
|
|
294
|
-
| 推荐技能 | `yss-product-lifecycle`,必要时接 `grill-with-docs` |
|
|
295
|
-
|
|
296
|
-
完成定义:
|
|
297
|
-
|
|
298
|
-
- [ ] 已确认这是新模块、较大变更、bug、tweak 还是探索任务。
|
|
299
|
-
- [ ] 如果是已有功能迭代,已确认最近可信阶段和最早受影响资产。
|
|
300
|
-
- [ ] 已列出当前已有资产和缺失资产。
|
|
301
|
-
- [ ] 已明确下一步只推进一个阶段,不跨阶段直接实现。
|
|
302
|
-
|
|
303
|
-
## 4. 阶段 1:机会探索与竞品输入
|
|
304
|
-
|
|
305
|
-
机会探索回答“为什么值得做、第一版做什么、不做什么”。如果没有行业材料,先从竞品或内部系统调研开始;如果已有客户材料,先整理用户事实。
|
|
306
|
-
|
|
307
|
-
建议资产:
|
|
308
|
-
|
|
309
|
-
```text
|
|
310
|
-
docs/.scratch/data-modeling/discovery/reports/data-modeling-competitive-matrix.md
|
|
311
|
-
docs/.scratch/data-modeling/discovery/data-modeling-opportunity.md
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
数据建模场景可以观察:
|
|
315
|
-
|
|
316
|
-
- 元数据管理产品如何组织模型、字段、关系和版本。
|
|
317
|
-
- 数据治理产品如何处理发布、血缘和权限。
|
|
318
|
-
- 低代码建模平台如何降低实施复杂度。
|
|
319
|
-
- 内部旧系统有哪些高频抱怨和迁移成本。
|
|
320
|
-
|
|
321
|
-
推荐提示词:
|
|
322
|
-
|
|
323
|
-
```text
|
|
324
|
-
使用 yss-product-lifecycle,围绕“数据中台数据建模 MVP”做机会探索。
|
|
325
|
-
请输出目标用户、痛点、为什么现在做、竞品/内部系统观察点、MVP 边界、非目标范围和成功标准。
|
|
326
|
-
保存为 `docs/.scratch/data-modeling/discovery/data-modeling-opportunity.md`。
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
阶段门禁:
|
|
330
|
-
|
|
331
|
-
- [ ] 目标用户不是泛泛的“平台用户”,而是具体角色。
|
|
332
|
-
- [ ] 痛点来自用户、实施或竞品事实,不只是功能愿望。
|
|
333
|
-
- [ ] MVP 边界能砍掉至少一批诱人但暂不做的能力。
|
|
334
|
-
- [ ] 成功标准可观察、可验收。
|
|
335
|
-
|
|
336
|
-
## 5. 阶段 2:需求澄清
|
|
337
|
-
|
|
338
|
-
用 `grill-with-docs` 追问业务规则。这个阶段不要让 AI 直接补全未确认规则。
|
|
339
|
-
|
|
340
|
-
数据建模必须问清的问题:
|
|
341
|
-
|
|
342
|
-
| 维度 | 追问 |
|
|
343
|
-
|---|---|
|
|
344
|
-
| 角色边界 | 建模人员能否直接发布,还是需要管理员确认? |
|
|
345
|
-
| 对象状态 | 模型是否分草稿、已发布、已废弃?发布后能否回滚? |
|
|
346
|
-
| 字段规则 | 字段编码、类型、长度、必填、默认值和枚举如何校验? |
|
|
347
|
-
| 版本策略 | 发布是冻结字段快照,还是覆盖当前模型? |
|
|
348
|
-
| 引用规则 | 下游引用模型草稿时应该禁止、警告还是允许? |
|
|
349
|
-
| 失败路径 | 发布失败要展示整体错误还是字段级错误? |
|
|
350
|
-
| 风险 / 回滚约束 | 是否涉及权限、数据库迁移、原生 SQL 或公共基础 API? |
|
|
351
|
-
|
|
352
|
-
推荐提示词:
|
|
353
|
-
|
|
354
|
-
```text
|
|
355
|
-
使用 grill-with-docs,基于 `docs/.scratch/data-modeling/discovery/data-modeling-opportunity.md`,
|
|
356
|
-
围绕“数据中台数据建模 MVP”连续追问需求边界。
|
|
357
|
-
请只列出已确认、待确认、非目标、OpenAPI 影响初判和需要人工审查的问题,不要直接生成 Spec。
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
阶段门禁:
|
|
361
|
-
|
|
362
|
-
- [ ] 草稿、发布、废弃等状态含义明确。
|
|
363
|
-
- [ ] 字段级校验和错误展示规则明确。
|
|
364
|
-
- [ ] API 影响已初判。
|
|
365
|
-
- [ ] 风险 / 回滚约束已检查;需要人工确认的事项已记录结论。
|
|
366
|
-
- [ ] 稳定术语已准备写入 `CONTEXT.md`,业务对象含 PascalCase `英文标识`。
|
|
367
|
-
|
|
368
|
-
## 6. 阶段 3:Spec 初稿 / 需求基线
|
|
369
|
-
|
|
370
|
-
Spec 把追问结论变成可交付需求,不写实现代码。这里的 Spec 先形成“需求基线”,不等于最终冻结版本;进入 Spec 初稿 / 需求基线流程后,必须先形成产品总体设计 / 功能架构,再按是否有 UI 决定是否进入页面 / 原型 / 交互设计,最后回填 Spec 并进入 API 影响分析 / 契约草案。
|
|
371
|
-
|
|
372
|
-
建议资产:
|
|
373
|
-
|
|
374
|
-
```text
|
|
375
|
-
docs/.scratch/data-modeling/spec.md
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
Spec 最少包含:
|
|
379
|
-
|
|
380
|
-
- 问题陈述。
|
|
381
|
-
- 用户故事。
|
|
382
|
-
- 功能需求和非功能需求。
|
|
383
|
-
- 非目标范围。
|
|
384
|
-
- Gherkin 验收标准。
|
|
385
|
-
- OpenAPI 影响。
|
|
386
|
-
- 测试决策。
|
|
387
|
-
- AI / 人工审查点。
|
|
388
|
-
|
|
389
|
-
Spec 片段示例:
|
|
390
|
-
|
|
391
|
-
```gherkin
|
|
392
|
-
假如 建模人员已创建一个包含字段的模型草稿
|
|
393
|
-
当 建模人员发起发布
|
|
394
|
-
那么 系统先执行字段编码、类型、必填和重复字段校验
|
|
395
|
-
并且 校验通过后生成不可变的发布版本
|
|
396
|
-
并且 下游查询只能获取发布版本
|
|
397
|
-
```
|
|
398
|
-
|
|
399
|
-
推荐提示词:
|
|
400
|
-
|
|
401
|
-
```text
|
|
402
|
-
基于 `docs/.scratch/data-modeling/discovery/data-modeling-opportunity.md` 和 grill-with-docs 的已确认结论,
|
|
403
|
-
使用 docs/templates/spec-template.md 生成“数据中台数据建模 MVP”Spec。
|
|
404
|
-
请重点补充 Gherkin 验收标准、OpenAPI 影响、测试决策、风险 / 回滚约束和非目标范围。
|
|
405
|
-
保存为 `docs/.scratch/data-modeling/spec.md`。
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
阶段门禁:
|
|
409
|
-
|
|
410
|
-
- [ ] 每个 P0 需求都有验收标准。
|
|
411
|
-
- [ ] OpenAPI 影响不是“待定”。
|
|
412
|
-
- [ ] 非目标范围清晰。
|
|
413
|
-
- [ ] 测试 seam 已明确。
|
|
414
|
-
- [ ] 待人工确认问题没有伪装成已确认需求。
|
|
415
|
-
- [ ] 产品总体设计 / 功能架构已作为 Spec 初稿后的必要产物进入下一阶段;不进入 Spec 生命周期的小文案、低风险 Bug 或局部配置变更已记录不适用原因。
|
|
416
|
-
|
|
417
|
-
## 7. 阶段 4:产品总体设计 / 功能架构
|
|
418
|
-
|
|
419
|
-
产品总体设计 / 功能架构是 Spec 初稿到页面 / 原型 / 交互设计之间的过渡层。它回答“产品由哪些功能域和业务对象支撑”“MVP 做什么和不做什么”“哪些页面、状态、权限、API、数据会被影响”,并用低保真原型 / 页面草图先验证页面结构、关键操作和主流程。它不是详细交互说明,也不替代后续交互设计,而是页面 / 原型 / 交互设计的上游输入。
|
|
420
|
-
|
|
421
|
-
正确关系是先结构化、再原型化:
|
|
422
|
-
|
|
423
|
-
```text
|
|
424
|
-
Spec 初稿定义目标、范围、用户故事和验收
|
|
425
|
-
-> 产品总体设计 / 功能架构明确功能域、模块边界、低保真原型、页面/API/数据影响和 Spec 回填项
|
|
426
|
-
-> 页面 / 原型 / 交互设计验证用户如何完成任务
|
|
427
|
-
-> 交互发现遗漏后回填 Spec
|
|
428
|
-
-> Spec、产品总体设计和交互设计一起作为 API 影响分析 / 契约草案输入
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
建议资产:
|
|
432
|
-
|
|
433
|
-
```text
|
|
434
|
-
docs/.scratch/data-modeling/design/data-modeling-product-overview-design.md
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
推荐使用模板:
|
|
438
|
-
|
|
439
|
-
```text
|
|
440
|
-
docs/design/templates/product-overview-design-template.md
|
|
441
|
-
```
|
|
442
|
-
|
|
443
|
-
阶段门禁:
|
|
444
|
-
|
|
445
|
-
- [ ] 用户主流程、异常路径、业务对象和状态已足以支撑原型设计。
|
|
446
|
-
- [ ] 功能域、模块边界、优先级、依赖和非目标范围清楚。
|
|
447
|
-
- [ ] 低保真原型 / 页面草图已覆盖 P0 页面、主流程、关键操作和关键异常路径。
|
|
448
|
-
- [ ] 页面、API、数据、权限、审计影响已显式标注。
|
|
449
|
-
- [ ] Spec 回填项、开放问题和阻断项已记录。
|
|
450
|
-
- [ ] 可进入页面 / 原型 / 交互设计,或明确阻断原因。
|
|
451
|
-
|
|
452
|
-
## 8. 阶段 5:页面 / 原型 / 交互设计
|
|
453
|
-
|
|
454
|
-
Spec 说明“要解决什么”,页面和原型说明“用户怎么完成”。二者不是简单的父子包含关系:小功能可以把页面草图和交互说明直接写在 Spec 中;中大型功能建议把 Spec 和 `docs/.scratch/<feature>/design/` 拆成两个可互相引用的资产。
|
|
455
|
-
|
|
456
|
-
正确关系是双向校准:
|
|
457
|
-
|
|
458
|
-
```text
|
|
459
|
-
Spec 初稿定义目标、范围、用户故事和验收
|
|
460
|
-
-> 产品总体设计 / 功能架构给出页面和交互的结构化输入
|
|
461
|
-
-> 页面 / 原型 / 交互设计验证用户如何完成任务
|
|
462
|
-
-> 交互发现遗漏后回填 Spec
|
|
463
|
-
-> Spec、产品总体设计和交互设计一起作为 API 影响分析 / 契约草案输入
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
有前端体验的产品不能从 Spec 初稿直接跳 OpenAPI,否则接口字段、错误结构、权限状态和前端验收标准都会缺少真实交互依据。
|
|
467
|
-
|
|
468
|
-
建议资产:
|
|
469
|
-
|
|
470
|
-
```text
|
|
471
|
-
docs/.scratch/data-modeling/design/data-modeling-interaction-spec.md
|
|
472
|
-
docs/.scratch/data-modeling/design/data-modeling-state-matrix.md
|
|
473
|
-
docs/.scratch/data-modeling/design/data-modeling-prototype-review.md
|
|
474
|
-
```
|
|
475
|
-
|
|
476
|
-
推荐使用 `product-design:index` 作为产品原型主入口,并按 Product Design plugin 规则路由到 focused skill:
|
|
477
|
-
|
|
478
|
-
| 目标 | 推荐技能 / 工具 | 说明 |
|
|
479
|
-
|---|---|---|
|
|
480
|
-
| 页面清单、用户流、状态矩阵、Spec 回填项、OpenAPI 反推 | `product-design:index` -> `$get-context` / `$prototype` | 基于 Spec 初稿和产品总体设计后的原型入口 |
|
|
481
|
-
| 低保真线框、流程草图 | `product-design:index` -> `$ideate` / `$prototype`;Excalidraw / Markdown wireframe | 适合快速讨论,不绑定工程依赖 |
|
|
482
|
-
| 高保真或设计系统协作 | Figma / Penpot,必要时使用 `figma` / `figma-use` | 适合设计团队和组件规范沉淀 |
|
|
483
|
-
| 高保真可交互 HTML 原型 | `product-design:index` -> `$prototype` / `$image-to-code` / `$url-to-code`;`yss-antd-design`;Ant Design v6 | 低保真原型评审通过后的必需产物,用于 Spec 校准和 API 反推前的体验确认。前端落地改用 `yss-ui` |
|
|
484
|
-
| 图谱、血缘、流程编排画布 | tldraw / xyflow | 适合数据血缘、任务流、关系图等画布型体验 |
|
|
485
|
-
| 进入高保真前门禁 | `prototype-review` | 未通过则回到原型阶段 |
|
|
486
|
-
|
|
487
|
-
`product-design-prototype`、`high-fidelity-html-prototype` 仅作为历史兼容入口或产物门禁名称保留;新的产品原型产出默认使用 `product-design:index`,已退休技能不再提供兼容路由。
|
|
488
|
-
|
|
489
|
-
如果团队使用 Figma、即时设计、Axure 或其它原型工具,可以在 `docs/.scratch/data-modeling/design/data-modeling-interaction-spec.md` 中保存链接、版本、评审记录和关键截图说明。第一版不强制引入 Excalidraw、Figma、Penpot、tldraw 或 xyflow 作为项目依赖。
|
|
490
|
-
|
|
491
|
-
数据建模 MVP 的页面清单示例:
|
|
492
|
-
|
|
493
|
-
| 页面 / 区域 | 核心任务 | 关键控件 |
|
|
494
|
-
|---|---|---|
|
|
495
|
-
| 模型列表 | 查询、筛选、进入详情、创建草稿 | YssFormily 查询区、YTable、创建按钮、状态标签 |
|
|
496
|
-
| 模型详情 | 查看基本信息、字段列表、版本状态 | 基本信息区、字段表格、操作栏 |
|
|
497
|
-
| 字段编辑抽屉 | 新增 / 编辑字段 | 字段编码、名称、类型、长度、必填、默认值、枚举 |
|
|
498
|
-
| 发布前校验面板 | 查看校验结果并定位字段错误 | 校验按钮、错误列表、字段级锚点 |
|
|
499
|
-
| 发布确认弹窗 | 确认发布版本和影响 | 版本说明、确认按钮、风险提示 |
|
|
500
|
-
| 版本历史 | 查看发布快照 | 版本列表、字段快照、发布人、发布时间 |
|
|
501
|
-
|
|
502
|
-
用户流示例:
|
|
503
|
-
|
|
504
|
-
```text
|
|
505
|
-
模型列表
|
|
506
|
-
-> 创建模型草稿
|
|
507
|
-
-> 进入模型详情
|
|
508
|
-
-> 新增 / 编辑字段
|
|
509
|
-
-> 执行发布前校验
|
|
510
|
-
-> 修复字段级错误
|
|
511
|
-
-> 发布确认
|
|
512
|
-
-> 查看发布版本
|
|
513
|
-
```
|
|
514
|
-
|
|
515
|
-
交互状态矩阵示例:
|
|
516
|
-
|
|
517
|
-
| 场景 | 页面状态 | API / 数据要求 | 验收点 |
|
|
518
|
-
|---|---|---|---|
|
|
519
|
-
| 首次进入列表 | loading -> empty / data | 分页查询、筛选默认值 | loading 不遮挡操作,空态可创建 |
|
|
520
|
-
| 查询失败 | error | 错误码、错误文案 | 可重试,不丢失查询条件 |
|
|
521
|
-
| 字段校验失败 | field-error | 字段级错误列表 | 能定位到具体字段 |
|
|
522
|
-
| 无发布权限 | no-permission / disabled | 权限标识或操作禁用原因 | 发布按钮不可用且原因明确 |
|
|
523
|
-
| 草稿已发布 | readonly | 状态、发布版本号 | 字段不可编辑,下游只能看发布版本 |
|
|
524
|
-
| 并发编辑冲突 | conflict | 版本号或更新时间 | 提示刷新或重新提交 |
|
|
525
|
-
|
|
526
|
-
这个阶段要反推 OpenAPI:
|
|
527
|
-
|
|
528
|
-
- 列表页决定分页、筛选、排序和状态字段。
|
|
529
|
-
- 字段编辑决定请求 schema、字段类型枚举和表单校验。
|
|
530
|
-
- 校验面板决定字段级错误结构。
|
|
531
|
-
- 发布确认决定状态前置条件、幂等策略和冲突错误。
|
|
532
|
-
- 权限 / 只读 / 禁用状态决定权限响应和前端状态判断字段。
|
|
533
|
-
- 用户流决定哪些接口必须支持连续操作,哪些可以延后。
|
|
534
|
-
|
|
535
|
-
推荐提示词:
|
|
536
|
-
|
|
537
|
-
```text
|
|
538
|
-
使用 product-design:index。
|
|
539
|
-
基于 `docs/.scratch/data-modeling/spec.md` 和 `docs/.scratch/data-modeling/design/data-modeling-product-overview-design.md`,
|
|
540
|
-
为“数据中台数据建模 MVP”输出页面 / 原型 / 交互设计资产。
|
|
541
|
-
请先按 Product Design plugin 规则路由到合适的 focused skill:$get-context / $ideate / $prototype / $image-to-code / $url-to-code。
|
|
542
|
-
请生成页面清单、用户主路径、异常路径、低保真线框说明、交互状态矩阵、权限状态、空态/加载态/错误态,
|
|
543
|
-
并明确这些设计如何反推 OpenAPI 字段、错误结构、分页筛选和前端验收标准。
|
|
544
|
-
保存到 `docs/.scratch/data-modeling/design/data-modeling-interaction-spec.md`。
|
|
545
|
-
如果发现 Spec 缺少页面状态、异常路径或验收标准,请列出需要回填到 Spec 的条目。
|
|
546
|
-
完成后请给出 prototype-review 的评审输入清单。
|
|
547
|
-
```
|
|
548
|
-
|
|
549
|
-
原型评审提示词:
|
|
550
|
-
|
|
551
|
-
```text
|
|
552
|
-
使用 prototype-review。
|
|
553
|
-
输入:`docs/.scratch/data-modeling/spec.md`、`docs/.scratch/data-modeling/design/data-modeling-product-overview-design.md`、`docs/.scratch/data-modeling/design/data-modeling-interaction-spec.md`、`docs/.scratch/data-modeling/design/data-modeling-state-matrix.md`。
|
|
554
|
-
请审查页面清单、用户流、异常路径、权限状态、状态矩阵、Spec 回填项和 OpenAPI 反推清单是否足以进入 Spec 校准 / 需求冻结。
|
|
555
|
-
输出:通过/阻断、阻断项、Spec 校准就绪度、Contract Draft / OpenAPI Draft 就绪度、前端原型就绪度和下一步。
|
|
556
|
-
```
|
|
557
|
-
|
|
558
|
-
阶段门禁:
|
|
559
|
-
|
|
560
|
-
- [ ] 页面清单覆盖 Spec 的 P0 用户故事。
|
|
561
|
-
- [ ] 用户主路径和异常路径都能走通。
|
|
562
|
-
- [ ] loading、empty、error、readonly、disabled、no-permission、conflict 状态已定义。
|
|
563
|
-
- [ ] 字段级错误、权限状态、分页筛选和发布确认已反推到 API 输入。
|
|
564
|
-
- [ ] 原型或线框图已经过 `prototype-review`,产品 / 设计 / 前端 / 后端无阻断项。
|
|
565
|
-
- [ ] 从交互设计发现的需求缺口已经回填 Spec,或明确标记为待确认。
|
|
566
|
-
- [ ] 没有把页面实现细节提前写成后端契约,但已经明确契约需要支撑的交互。
|
|
567
|
-
|
|
568
|
-
## 9. 阶段 6:Spec 校准 / 需求冻结
|
|
569
|
-
|
|
570
|
-
页面 / 原型 / 交互设计评审后,需要回到 Spec 做一次校准。这个阶段不是重写 Spec,而是把交互设计暴露出来的需求缺口、异常路径、验收标准和非目标范围补回需求资产。
|
|
571
|
-
|
|
572
|
-
校准内容:
|
|
573
|
-
|
|
574
|
-
- 页面清单是否覆盖 P0 用户故事。
|
|
575
|
-
- 用户流是否暴露了 Spec 未写的中间状态或异常路径。
|
|
576
|
-
- 权限、只读、禁用、并发冲突等状态是否进入验收标准。
|
|
577
|
-
- 原型中的字段、筛选、操作按钮是否都能追溯到需求。
|
|
578
|
-
- 被原型证明不进入 MVP 的能力是否写入非目标范围。
|
|
579
|
-
- OpenAPI 影响是否仍然准确。
|
|
580
|
-
|
|
581
|
-
阶段门禁:
|
|
582
|
-
|
|
583
|
-
- [ ] Spec 已吸收页面 / 原型 / 交互设计中的关键结论。
|
|
584
|
-
- [ ] Spec 与设计资产互相链接。
|
|
585
|
-
- [ ] 未确认交互问题没有进入冻结范围。
|
|
586
|
-
- [ ] 产品、设计、前端、后端对需求范围有共同理解。
|
|
587
|
-
|
|
588
|
-
## 10. 门禁 8:API 影响分析 / 契约草案(主阶段 5 内)
|
|
589
|
-
|
|
590
|
-
只要前后端接口会变化,就先写 API 影响记录和契约草案;必要时再生成 review-only OpenAPI Draft。Draft 是讨论稿,不是冻结实现,也不是生成客户端的稳定契约。
|
|
591
|
-
|
|
592
|
-
OpenAPI Draft 的输入不应只有 Spec,还必须结合产品总体设计、页面 / 原型 / 交互设计产物、状态矩阵和 `prototype-review` 结论。页面流和状态矩阵会决定请求字段、响应字段、错误结构、权限标识、分页筛选、只读/禁用策略和状态冲突处理。
|
|
593
|
-
|
|
594
|
-
建议资产:
|
|
595
|
-
|
|
596
|
-
```text
|
|
597
|
-
docs/.scratch/data-modeling/api/data-modeling.yaml
|
|
598
|
-
```
|
|
599
|
-
|
|
600
|
-
数据建模 MVP 端点示例:
|
|
601
|
-
|
|
602
|
-
```text
|
|
603
|
-
GET /api/v1/data-models
|
|
604
|
-
POST /api/v1/data-models
|
|
605
|
-
GET /api/v1/data-models/{id}
|
|
606
|
-
PUT /api/v1/data-models/{id}
|
|
607
|
-
POST /api/v1/data-models/{id}/fields
|
|
608
|
-
PUT /api/v1/data-models/{id}/fields/{fieldId}
|
|
609
|
-
POST /api/v1/data-models/{id}/validate
|
|
610
|
-
POST /api/v1/data-models/{id}/publish
|
|
611
|
-
GET /api/v1/data-models/{id}/versions
|
|
612
|
-
```
|
|
613
|
-
|
|
614
|
-
Draft 必须覆盖:
|
|
615
|
-
|
|
616
|
-
- 统一响应包装:`SingleResult<T>`、`MultiResult<T>`、`PageResult<T>`。
|
|
617
|
-
- 分页、排序、筛选字段。
|
|
618
|
-
- 字段级校验错误结构。
|
|
619
|
-
- 权限不足、数据不存在、状态冲突等错误。
|
|
620
|
-
- 发布接口的状态前置条件。
|
|
621
|
-
- 契约测试思路。
|
|
622
|
-
|
|
623
|
-
推荐提示词:
|
|
624
|
-
|
|
625
|
-
```text
|
|
626
|
-
基于 `docs/.scratch/data-modeling/spec.md`、`docs/.scratch/data-modeling/design/data-modeling-product-overview-design.md`、
|
|
627
|
-
`docs/.scratch/data-modeling/design/data-modeling-interaction-spec.md`、状态矩阵和 prototype-review 结论,
|
|
628
|
-
生成 OpenAPI 3.1 Draft 到 `docs/.scratch/data-modeling/api/data-modeling.yaml`。
|
|
629
|
-
要求逐项追踪页面动作、表单字段、筛选分页、权限状态、loading/empty/error/readonly/disabled/conflict 状态,
|
|
630
|
-
并包含统一响应包装、字段级校验错误、模型发布、版本查询和契约测试建议。
|
|
631
|
-
```
|
|
632
|
-
|
|
633
|
-
阶段门禁:
|
|
634
|
-
|
|
635
|
-
- [ ] Draft 的输入包含校准后的 Spec、产品总体设计、交互说明 / 原型、状态矩阵和 prototype-review 结论;无 UI 影响时已显式说明。
|
|
636
|
-
- [ ] Draft 能支撑前端页面和后端用例,不缺关键字段。
|
|
637
|
-
- [ ] 错误结构足以表达字段级校验失败。
|
|
638
|
-
- [ ] 权限、只读、禁用、并发冲突等交互状态有契约支撑。
|
|
639
|
-
- [ ] 路径使用 `/api/v1/`。
|
|
640
|
-
- [ ] Draft 还没有被当成冻结契约直接开发。
|
|
641
|
-
|
|
642
|
-
## 11. 门禁 9-12:工程基线、系统 / 数据架构与设计审查(主阶段 5 内)
|
|
643
|
-
|
|
644
|
-
这一阶段回答“这个需求如何落在 YSS DDD 和项目架构里”。
|
|
645
|
-
|
|
646
|
-
建议资产:
|
|
647
|
-
|
|
648
|
-
```text
|
|
649
|
-
docs/.scratch/data-modeling/architecture/data-modeling-architecture.md
|
|
650
|
-
docs/adr/0001-data-model-versioning-strategy.md
|
|
651
|
-
```
|
|
652
|
-
|
|
653
|
-
数据建模的关键设计点:
|
|
654
|
-
|
|
655
|
-
| 主题 | 推荐设计关注 |
|
|
656
|
-
|---|---|
|
|
657
|
-
| 聚合边界 | `DataModel` 作为聚合根,字段作为聚合内实体或值对象 |
|
|
658
|
-
| 状态流 | 草稿 -> 已发布 -> 已废弃,发布后版本不可变 |
|
|
659
|
-
| 版本策略 | 发布生成 `ModelVersion` 快照,草稿可继续编辑 |
|
|
660
|
-
| Gateway | Domain 定义模型保存、版本查询、发布快照读取等能力 |
|
|
661
|
-
| Infrastructure | Repository / GatewayImpl 处理持久化和查询,不泄漏到 Domain |
|
|
662
|
-
| Web Adapter | Controller 只做协议适配、校验和统一响应包装 |
|
|
663
|
-
| 前端 | YTable 列表、YssFormily 查询、字段编辑弹窗或抽屉 |
|
|
664
|
-
|
|
665
|
-
技能路由建议:
|
|
666
|
-
|
|
667
|
-
- 跨前端、后端、API 或多层实现时,先用 `yss-router` 选择最小技能集。
|
|
668
|
-
- 从零创建后端服务时,通常路由到 `yss-ddd-scaffold-generator`。
|
|
669
|
-
- 现有服务功能设计时,通常路由到 `yss-backend-scaffold-parent`、`yss-domain`。
|
|
670
|
-
- 持久化设计时,通常路由到 `yss-repository`,需要 MyBatis 细节时补 `yss-mybatis`。
|
|
671
|
-
- Web 适配时,通常路由到 `yss-web-controller`、`yss-dto`。
|
|
672
|
-
- 前端页面时,通常路由到 `yss-ui`、`yss-page-module-development`。
|
|
673
|
-
|
|
674
|
-
推荐提示词:
|
|
675
|
-
|
|
676
|
-
```text
|
|
677
|
-
使用 yss-product-lifecycle,基于校准后的 Spec、产品总体设计 / 功能架构、页面 / 原型 / 交互设计和 OpenAPI Draft 检查“数据中台数据建模 MVP”的工程基线。
|
|
678
|
-
请先判断是否需要通过 yss-router 选择最小技能集,再输出 YSS DDD 分层、聚合边界、状态流、Gateway 边界、前端页面边界和需要 ADR 的决策。
|
|
679
|
-
```
|
|
680
|
-
|
|
681
|
-
阶段门禁:
|
|
682
|
-
|
|
683
|
-
- [ ] Domain 不依赖 Infrastructure、Mapper、Controller 或 Web DTO。
|
|
684
|
-
- [ ] Gateway 接口在 Domain,GatewayImpl / Repository 在 Infrastructure。
|
|
685
|
-
- [ ] Controller 不穿透 Repository。
|
|
686
|
-
- [ ] 版本策略和状态流清楚;难回滚决策已写 ADR。
|
|
687
|
-
- [ ] 设计已经反向校验 OpenAPI Draft。
|
|
688
|
-
|
|
689
|
-
## 12. 主阶段 5/6 交接:系统 / 数据架构设计 准备与设计审查
|
|
690
|
-
|
|
691
|
-
正式进入变更交付时,使用垂直切片 Ticket 承载目标、设计约束、行为差异、任务和验证方式。这里关注技术方案、风险、测试 seam 和契约影响,不重复机会探索。
|
|
692
|
-
|
|
693
|
-
推荐提示词:
|
|
694
|
-
|
|
695
|
-
```text
|
|
696
|
-
使用 to-tickets 为“数据中台数据建模 MVP”创建垂直切片 Ticket。
|
|
697
|
-
请复用校准后的 Spec、产品总体设计 / 功能架构、页面 / 原型 / 交互设计、OpenAPI Draft 和工程基线,重点完成行为规格、状态流、风险、测试 seam 和设计审查清单。
|
|
698
|
-
```
|
|
699
|
-
|
|
700
|
-
设计审查至少覆盖:
|
|
701
|
-
|
|
702
|
-
| 审查点 | 检查内容 |
|
|
703
|
-
|---|---|
|
|
704
|
-
| Spec Review | 用户、痛点、非目标、验收标准、交互回填和风险 / 回滚约束 |
|
|
705
|
-
| Product Design Review | 页面流、原型、交互状态、权限状态、异常路径和前端验收 |
|
|
706
|
-
| API Review | 路径、schema、错误结构、分页、权限和契约测试 |
|
|
707
|
-
| Architecture Review | DDD 分层、模块依赖、Gateway、状态流、ADR 和回滚 |
|
|
708
|
-
| Plan Review | 是否垂直切片,是否有测试命令和验证方式 |
|
|
709
|
-
|
|
710
|
-
阶段门禁:
|
|
711
|
-
|
|
712
|
-
- [ ] 阻断项已回到对应阶段修正。
|
|
713
|
-
- [ ] 产品总体设计 / 功能架构、页面 / 原型 / 交互设计已通过评审,并已反推 OpenAPI Draft。
|
|
714
|
-
- [ ] 契约草案 / OpenAPI Draft 已通过设计审查,可以进入 Freeze。
|
|
715
|
-
- [ ] 垂直切片 Ticket 目标单一,不混入指标管理、血缘分析等额外目标。
|
|
716
|
-
|
|
717
|
-
## 13. 主阶段 6:OpenAPI Freeze
|
|
718
|
-
|
|
719
|
-
Freeze 表示前端、后端、测试和实施都以这份契约为准。Freeze 之后不能边写代码边偷偷改契约。
|
|
720
|
-
|
|
721
|
-
Freeze 记录可以写在关联设计 / 审查文档中;如果确实写入 OpenAPI YAML 文件,只能使用 YAML 注释,避免破坏 OpenAPI 结构:
|
|
722
|
-
|
|
723
|
-
```yaml
|
|
724
|
-
# 状态:Freeze
|
|
725
|
-
# 冻结日期:YYYY-MM-DD
|
|
726
|
-
# 冻结依据:Spec Review、API Review、Architecture Review 无阻断项
|
|
727
|
-
# 适用范围:数据建模 MVP 垂直切片 1-5,基于已评审交互设计
|
|
728
|
-
# 变更规则:任何路径、schema、错误结构变化必须回到 API Review
|
|
729
|
-
```
|
|
730
|
-
|
|
731
|
-
阶段门禁:
|
|
732
|
-
|
|
733
|
-
- [ ] Draft 中的路径、schema、错误和权限已通过审查。
|
|
734
|
-
- [ ] 页面 / 原型 / 交互状态中的关键场景都有契约支撑。
|
|
735
|
-
- [ ] 前端确认可消费。
|
|
736
|
-
- [ ] 后端确认可实现。
|
|
737
|
-
- [ ] 契约测试可以落地。
|
|
738
|
-
|
|
739
|
-
## 14. 阶段 11:垂直切片
|
|
740
|
-
|
|
741
|
-
不要按 Adapter、Application、Domain、Infrastructure、Frontend 横向拆任务。每个切片都要能独立演示和验证。
|
|
742
|
-
|
|
743
|
-
建议资产:
|
|
744
|
-
|
|
745
|
-
```text
|
|
746
|
-
docs/.scratch/data-modeling/issues/01-list-and-query.md
|
|
747
|
-
docs/.scratch/data-modeling/issues/02-create-draft.md
|
|
748
|
-
docs/.scratch/data-modeling/issues/03-edit-fields.md
|
|
749
|
-
docs/.scratch/data-modeling/issues/04-validate-model.md
|
|
750
|
-
docs/.scratch/data-modeling/issues/05-publish-version.md
|
|
751
|
-
```
|
|
752
|
-
|
|
753
|
-
切片示例:
|
|
754
|
-
|
|
755
|
-
| 切片 | 端到端行为 | 必含测试 |
|
|
756
|
-
|---|---|---|
|
|
757
|
-
| 1. 模型列表与查询 | 用户按名称、状态、创建人查询模型并分页查看 | API 契约、前端空态/加载态、分页参数 |
|
|
758
|
-
| 2. 创建模型草稿 | 用户创建模型草稿,系统校验编码唯一性和必填项 | Domain 行为、API 错误、表单校验 |
|
|
759
|
-
| 3. 编辑字段 | 用户维护字段编码、类型、长度、必填和默认值 | 字段规则单测、组件交互测试 |
|
|
760
|
-
| 4. 发布前校验 | 用户触发校验,系统返回字段级错误 | Domain 校验、API 字段错误结构、UI 错误定位 |
|
|
761
|
-
| 5. 发布版本 | 校验通过后生成不可变发布版本,下游只能查询发布版本 | 状态流测试、契约测试、E2E 关键路径 |
|
|
762
|
-
|
|
763
|
-
推荐提示词:
|
|
764
|
-
|
|
765
|
-
```text
|
|
766
|
-
基于 Spec、产品总体设计 / 功能架构、已评审交互设计、冻结 OpenAPI 和架构设计,
|
|
767
|
-
使用 docs/templates/vertical-slice-ticket-template.md
|
|
768
|
-
把“数据中台数据建模 MVP”拆成 5 个垂直切片。
|
|
769
|
-
每个切片都必须包含页面/交互、API、后端、前端、测试 seam、验收标准和回滚点。
|
|
770
|
-
```
|
|
771
|
-
|
|
772
|
-
阶段门禁:
|
|
773
|
-
|
|
774
|
-
- [ ] 每个切片都贯穿页面/交互、API、后端、前端和测试。
|
|
775
|
-
- [ ] 每个切片都能独立验收。
|
|
776
|
-
- [ ] 每个切片都有明确验证命令或人工验收步骤。
|
|
777
|
-
|
|
778
|
-
## 15. 阶段 12:实现与 TDD
|
|
779
|
-
|
|
780
|
-
进入实现前先使用 `yss-router` 选择最小技能集。
|
|
781
|
-
|
|
782
|
-
推荐提示词:
|
|
783
|
-
|
|
784
|
-
```text
|
|
785
|
-
使用 yss-router,基于“数据建模 Slice 4:发布前校验”的 Spec、产品总体设计 / 功能架构、交互设计、冻结 OpenAPI 和架构设计,
|
|
786
|
-
选择最小 YSS 技能集,并输出前端、后端、Repository/MyBatis、Controller、API client 的实现顺序。
|
|
787
|
-
```
|
|
788
|
-
|
|
789
|
-
TDD 顺序示例:
|
|
790
|
-
|
|
791
|
-
```text
|
|
792
|
-
1. 写发布前校验的 Domain 行为测试,并确认失败。
|
|
793
|
-
2. 写 API 契约测试,确认字段级错误结构。
|
|
794
|
-
3. 实现 Domain 校验规则和 Application 用例。
|
|
795
|
-
4. 实现 GatewayImpl / Repository 查询必要数据。
|
|
796
|
-
5. 实现 Controller 和 Web DTO / VO 转换。
|
|
797
|
-
6. 实现前端校验按钮、错误展示和 loading / error / empty 状态。
|
|
798
|
-
7. 跑单元、契约、组件或 E2E 验证。
|
|
799
|
-
```
|
|
800
|
-
|
|
801
|
-
实现阶段技能路由示例:
|
|
802
|
-
|
|
803
|
-
| 场景 | 技能 |
|
|
804
|
-
|---|---|
|
|
805
|
-
| 后端领域行为 | `yss-domain` |
|
|
806
|
-
| 后端用例编排 | `yss-application` |
|
|
807
|
-
| 持久化 | `yss-repository`、需要分页/批量/数据源时加 `yss-mybatis` |
|
|
808
|
-
| Web 接口 | `yss-web-controller`、`yss-dto` |
|
|
809
|
-
| 前端页面 | `yss-ui`、`yss-page-module-development`、`yss-api-integration` |
|
|
810
|
-
| OpenAPI client 刷新 | `yss-openapi-governance` 从冻结 YAML 派生 JSON,随后 `yss-api-integration` 运行 Orval;只在 Freeze 后或按实现契约刷新时使用 |
|
|
811
|
-
|
|
812
|
-
阶段门禁:
|
|
813
|
-
|
|
814
|
-
- [ ] 先有失败测试或明确验证方式。
|
|
815
|
-
- [ ] 实现没有绕过冻结 OpenAPI。
|
|
816
|
-
- [ ] 前端实现符合已评审页面流和交互状态矩阵。
|
|
817
|
-
- [ ] 前端请求、分页和参数治理下沉到 Hook。
|
|
818
|
-
- [ ] 后端分层没有穿透。
|
|
819
|
-
- [ ] 风险 / 回滚约束未被 AI 直接实现;需要时已标记人工审查。
|
|
820
|
-
|
|
821
|
-
## 16. 阶段 13:独立审查与 fresh verification
|
|
822
|
-
|
|
823
|
-
实现者不能审查自己。审查要优先看风险,而不是只总结做了什么。
|
|
824
|
-
|
|
825
|
-
审查重点:
|
|
826
|
-
|
|
827
|
-
- OpenAPI 与实现是否一致。
|
|
828
|
-
- YSS DDD 分层是否被破坏。
|
|
829
|
-
- Domain 是否泄漏持久化或 Web 细节。
|
|
830
|
-
- Controller 是否穿透 Repository。
|
|
831
|
-
- 页面实现是否符合已评审原型、用户流和状态矩阵。
|
|
832
|
-
- 前端是否符合 YTable、YssFormily、Hook、状态治理规范。
|
|
833
|
-
- 字段级错误、状态冲突和权限不足是否覆盖。
|
|
834
|
-
- 测试是否覆盖关键业务 seam。
|
|
835
|
-
- 是否触碰数据库迁移、权限、原生 SQL、加密或公共 API。
|
|
836
|
-
|
|
837
|
-
fresh verification 记录示例:
|
|
838
|
-
|
|
839
|
-
```text
|
|
840
|
-
验证日期:YYYY-MM-DD
|
|
841
|
-
验证人:<name or agent>
|
|
842
|
-
验证命令:
|
|
843
|
-
- backend: ./mvnw test -pl data-modeling-service
|
|
844
|
-
- frontend: pnpm test data-modeling
|
|
845
|
-
- contract: pnpm openapi:lint docs/.scratch/data-modeling/api/data-modeling.yaml
|
|
846
|
-
- e2e: pnpm e2e data-model-publish.spec.ts
|
|
847
|
-
结果:通过 / 失败
|
|
848
|
-
失败处理:<如失败,回到哪个切片或阶段>
|
|
849
|
-
```
|
|
850
|
-
|
|
851
|
-
阶段门禁:
|
|
852
|
-
|
|
853
|
-
- [ ] 独立 review 无阻断项。
|
|
854
|
-
- [ ] fresh verification 是本轮最新结果,不复用旧输出。
|
|
855
|
-
- [ ] 失败项已回到实现或设计阶段处理。
|
|
856
|
-
|
|
857
|
-
## 17. 阶段 14:发布、实施与用户指南
|
|
858
|
-
|
|
859
|
-
发布不是“代码合并了”就结束。数据建模这类平台能力通常需要实施材料。
|
|
860
|
-
|
|
861
|
-
建议资产:
|
|
862
|
-
|
|
863
|
-
```text
|
|
864
|
-
docs/releases/v0.1.0-data-modeling.md
|
|
865
|
-
docs/implementation/customer-a-data-modeling-rollout.md
|
|
866
|
-
docs/user-guide/data-modeling.md
|
|
867
|
-
```
|
|
868
|
-
|
|
869
|
-
发布说明至少包含:
|
|
870
|
-
|
|
871
|
-
- 用户可见变化。
|
|
872
|
-
- 新增配置项。
|
|
873
|
-
- OpenAPI 变化。
|
|
874
|
-
- 已知限制。
|
|
875
|
-
- 升级步骤。
|
|
876
|
-
- 回滚方案。
|
|
877
|
-
- 验收清单。
|
|
878
|
-
|
|
879
|
-
实施记录至少包含:
|
|
880
|
-
|
|
881
|
-
- 初始化模型范围。
|
|
882
|
-
- 客户或环境差异。
|
|
883
|
-
- 数据导入方式。
|
|
884
|
-
- 验收人员和验收结果。
|
|
885
|
-
- 回滚步骤。
|
|
886
|
-
- 现场问题和后续任务。
|
|
887
|
-
|
|
888
|
-
用户指南至少覆盖:
|
|
889
|
-
|
|
890
|
-
- 如何创建模型草稿。
|
|
891
|
-
- 如何维护字段。
|
|
892
|
-
- 如何执行发布前校验。
|
|
893
|
-
- 如何处理字段级错误。
|
|
894
|
-
- 如何发布版本。
|
|
895
|
-
- 如何查看发布历史。
|
|
896
|
-
|
|
897
|
-
阶段门禁:
|
|
898
|
-
|
|
899
|
-
- [ ] 发布说明和实施步骤已写。
|
|
900
|
-
- [ ] 回滚方案可执行。
|
|
901
|
-
- [ ] 用户能按指南完成核心流程。
|
|
902
|
-
- [ ] 人工审查项已经确认或明确延后。
|
|
903
|
-
|
|
904
|
-
## 18. 阶段 15:复盘沉淀
|
|
905
|
-
|
|
906
|
-
复盘要把项目经验回流到可复用资产,而不是只写一句“下次注意”。
|
|
907
|
-
|
|
908
|
-
建议资产:
|
|
909
|
-
|
|
910
|
-
```text
|
|
911
|
-
docs/process/sprint-retros/data-modeling-v0.1.0-retro.md
|
|
912
|
-
CONTEXT.md
|
|
913
|
-
AGENTS.md
|
|
914
|
-
docs/adr/
|
|
915
|
-
docs/user-guide/
|
|
916
|
-
```
|
|
917
|
-
|
|
918
|
-
复盘问题:
|
|
919
|
-
|
|
920
|
-
- 哪些术语在 Spec、API、代码和实施中不一致?
|
|
921
|
-
- 哪些需求反复变化,是否应该提前 grill?
|
|
922
|
-
- 哪些 OpenAPI 字段在 Freeze 后仍被修改,原因是什么?
|
|
923
|
-
- 哪些测试 seam 缺失导致回归风险?
|
|
924
|
-
- 哪些实施问题应该写入用户指南?
|
|
925
|
-
- 哪些规则应该上升到 `CONTEXT.md`(含英文标识)、ADR 或 `AGENTS.md`?
|
|
926
|
-
|
|
927
|
-
阶段门禁:
|
|
928
|
-
|
|
929
|
-
- [ ] 复盘结论不是空泛总结,而是落到文档、规则或 backlog。
|
|
930
|
-
- [ ] 垂直切片 Ticket 已完成验证并收口。
|
|
931
|
-
- [ ] 下一轮同类需求可以复用本次资产。
|
|
932
|
-
|
|
933
|
-
## 18. 人类参考用总清单
|
|
934
|
-
|
|
935
|
-
开始前:
|
|
936
|
-
|
|
937
|
-
- [ ] 使用 `yss-product-lifecycle` 判断阶段。
|
|
938
|
-
- [ ] 明确这是完整功能、bug、tweak 还是探索。
|
|
939
|
-
- [ ] 明确本轮只推进一个阶段。
|
|
940
|
-
- [ ] Prompt 已写清背景、目标、输入资产、边界、输出和验证方式。
|
|
941
|
-
- [ ] 如果需求不清,先要求 AI 用苏格拉底式问题追问,不直接生成 Spec 或代码。
|
|
942
|
-
- [ ] 已明确本轮由哪个 Agent 角色负责,是否需要人工决策。
|
|
943
|
-
|
|
944
|
-
进入开发前:
|
|
945
|
-
|
|
946
|
-
- [ ] Opportunity / Discovery 已沉淀,或明确跳过原因。
|
|
947
|
-
- [ ] `grill-with-docs` 已澄清核心业务规则。
|
|
948
|
-
- [ ] Spec 有验收标准和 OpenAPI 影响。
|
|
949
|
-
- [ ] 产品总体设计 / 功能架构、页面 / 原型 / 交互设计已评审,并能覆盖 P0 用户故事、状态和异常路径。
|
|
950
|
-
- [ ] 交互设计发现的需求缺口已回填 Spec,Spec 和设计资产已互相链接。
|
|
951
|
-
- [ ] API 影响记录和契约草案 / OpenAPI Draft 已完成;涉及 API 时已通过设计审查并 Freeze。
|
|
952
|
-
- [ ] 工程基线和 YSS DDD 分层已确认。
|
|
953
|
-
- [ ] 垂直切片 Ticket 目标单一。
|
|
954
|
-
- [ ] 垂直切片可独立验收。
|
|
955
|
-
- [ ] `yss-router` 已选择最小技能集。
|
|
956
|
-
- [ ] Agent Brief 已包含目标、非目标、验收标准、OpenAPI 状态、风险 / 回滚约束和验证命令。
|
|
957
|
-
- [ ] 不存在多个 Agent 同时修改同一契约、同一聚合或同一页面的冲突。
|
|
958
|
-
|
|
959
|
-
完成前:
|
|
960
|
-
|
|
961
|
-
- [ ] 业务行为有测试或明确验证方式。
|
|
962
|
-
- [ ] 独立审查无阻断项。
|
|
963
|
-
- [ ] fresh verification 已记录。
|
|
964
|
-
- [ ] 发布说明、实施步骤、回滚方案和用户指南齐备。
|
|
965
|
-
- [ ] 复盘结论已回流到项目资产。
|
|
966
|
-
- [ ] 主 Agent 已检查所有子 Agent 输出,而不是直接相信总结。
|
|
967
|
-
- [ ] 需要人工确认的内容已记录范围、责任人和结论。
|
|
968
|
-
|
|
969
|
-
## 19. 常见错误
|
|
970
|
-
|
|
971
|
-
| 错误 | 后果 | 修正 |
|
|
972
|
-
|---|---|---|
|
|
973
|
-
| 想法一出来就写代码 | 业务边界反复变,返工多 | 先用 `yss-product-lifecycle` 分诊 |
|
|
974
|
-
| Prompt 只写“帮我做” | AI 猜上下文、猜边界、猜输出 | 写清背景、目标、输入资产、边界、输出和验证 |
|
|
975
|
-
| 一开始就让 AI 给答案 | 关键假设被隐藏 | 先用苏格拉底式提问暴露用户、痛点、反例和验收 |
|
|
976
|
-
| 让 AI 代替人类做业务取舍 | 需求看似完整但没有责任人 | 已确认、待确认、非目标和人工审查分开记录 |
|
|
977
|
-
| Discovery 只写背景 | 无法支撑 Spec | 写清用户、痛点、MVP、非目标和成功标准 |
|
|
978
|
-
| 把 Spec 当成一次性冻结文档 | 原型发现的问题无法回流,需求和体验分裂 | Spec 初稿先建立基线,交互评审后再校准冻结 |
|
|
979
|
-
| Spec 里 OpenAPI 影响写“待定” | 前后端无法并行 | 先补 Draft 或明确无 API 影响 |
|
|
980
|
-
| Spec 后直接写 OpenAPI | 页面流、状态和异常交互缺失,接口返工 | 先补页面清单、原型和交互状态矩阵 |
|
|
981
|
-
| Draft 后直接开发 | 契约在实现中漂移 | 先工程基线、设计审查,再 Freeze |
|
|
982
|
-
| 按技术层拆任务 | 很久无法演示价值 | 按垂直切片拆 |
|
|
983
|
-
| Skill 名称当装饰 | AI 没有按规程执行 | 明确 skill、阶段、输入资产、输出路径和停止点 |
|
|
984
|
-
| 实现时跳过 `yss-router` | 技能漏用或规范冲突 | 先选最小技能集 |
|
|
985
|
-
| 因为是 YSS 项目加载全部 skills | 上下文膨胀且约束互相干扰 | 先选主技能,按需要补副技能 |
|
|
986
|
-
| Agent Brief 不完整 | 子 Agent 反复问背景或自行猜测 | 用 brief 写清目标、非目标、验收、验证和风险 / 回滚约束 |
|
|
987
|
-
| 多个 Agent 并行改同一文件 | 冲突、重复实现、结论不一致 | 只并行独立任务,主 Agent 负责整合 |
|
|
988
|
-
| AI 自己审查自己 | 同类错误容易漏 | 安排独立 review |
|
|
989
|
-
| 主 Agent 不复核子 Agent 输出 | 子 Agent 错误被带入主线 | 主 Agent 检查 diff、测试、冲突和资产落点 |
|
|
990
|
-
| 验证只说“应该没问题” | 不能发布 | 记录 fresh verification 命令和结果 |
|
|
991
|
-
| 发布后不写实施反馈 | 同类现场问题重复出现 | 回流到实施记录、用户指南和复盘 |
|
|
992
|
-
|
|
993
|
-
## 20. 可直接复用的 AI 交互模板
|
|
994
|
-
|
|
995
|
-
### 20.1 生命周期分诊
|
|
996
|
-
|
|
997
|
-
```text
|
|
998
|
-
使用 yss-product-lifecycle。
|
|
999
|
-
背景:<一句话说明产品/模块/变更>。
|
|
1000
|
-
输入资产:请先检查 AGENTS.md、CONTEXT.md、`docs/.scratch/<feature>/`、`docs/adr/` 和相关模板。
|
|
1001
|
-
目标:判断当前生命周期阶段和缺失资产。
|
|
1002
|
-
边界:不要写业务代码,不要替我确认未决业务规则。
|
|
1003
|
-
输出:当前阶段、阶段依据、已有资产、缺失资产、是否阻塞、下一步、推荐技能、下一轮可直接使用的 prompt。
|
|
1004
|
-
```
|
|
1005
|
-
|
|
1006
|
-
### 20.2 苏格拉底式需求追问
|
|
1007
|
-
|
|
1008
|
-
```text
|
|
1009
|
-
使用 grill-with-docs 和苏格拉底式提问法。
|
|
1010
|
-
主题:<功能名>。
|
|
1011
|
-
请不要生成 Spec 或方案,先连续提出 10 个必须回答的问题。
|
|
1012
|
-
问题必须覆盖用户、痛点、MVP、非目标、页面流、异常路径、成功标准、OpenAPI 影响、测试 seam 和风险 / 回滚约束。
|
|
1013
|
-
每个问题后说明它会影响哪个产物:CONTEXT、Spec、Design、OpenAPI、Architecture、Ticket 或 Test。
|
|
1014
|
-
最后输出:已确认、待确认、非目标、建议写入 CONTEXT 的术语、需要 ADR 的取舍。
|
|
1015
|
-
```
|
|
1016
|
-
|
|
1017
|
-
### 20.3 产品总体设计 / 功能架构
|
|
1018
|
-
|
|
1019
|
-
```text
|
|
1020
|
-
基于 <Spec 路径>,为 <功能名> 生成产品总体设计 / 功能架构。
|
|
1021
|
-
请使用 docs/design/templates/product-overview-design-template.md。
|
|
1022
|
-
重点输出:设计目标、用户主流程、业务对象与状态、功能域与模块边界、Strategic DDD Check、低保真原型 / 页面草图、页面/API/数据/权限/审计影响、Spec 回填项、开放问题和评审结论。
|
|
1023
|
-
边界:不要写交互细节、不要生成 OpenAPI Draft、不要实现代码;只判断是否足以进入页面 / 原型 / 交互设计。
|
|
1024
|
-
保存到 `docs/.scratch/<feature>/design/<feature>-product-overview-design.md`。
|
|
1025
|
-
结论必须明确:Approved 可进入页面 / 原型 / 交互设计或 Spec 校准;Blocked 需先补齐产品边界、业务对象、模块边界、低保真原型、页面/API/数据/权限影响或 Spec 回填项。
|
|
1026
|
-
```
|
|
1027
|
-
|
|
1028
|
-
### 20.4 页面 / 原型 / 交互设计
|
|
1029
|
-
|
|
1030
|
-
```text
|
|
1031
|
-
使用 product-design:index。
|
|
1032
|
-
基于 <Spec 路径> 和 `docs/.scratch/<feature>/design/<feature>-product-overview-design.md`,为 <功能名> 输出页面 / 原型 / 交互设计资产。
|
|
1033
|
-
如果缺少产品总体设计 / 功能架构,先阻断并要求补齐;不要直接继续生成交互设计。
|
|
1034
|
-
请先按 Product Design plugin 规则路由到合适的 focused skill:$get-context / $ideate / $prototype / $image-to-code / $url-to-code。
|
|
1035
|
-
请生成页面清单、用户主路径、异常路径、低保真线框说明、交互状态矩阵、权限状态、空态/加载态/错误态。
|
|
1036
|
-
请明确这些设计如何反推 OpenAPI 字段、错误结构、分页筛选、权限和前端验收标准。
|
|
1037
|
-
请同时列出需要回填 Spec 的需求缺口、验收标准或非目标范围。
|
|
1038
|
-
保存到 `docs/.scratch/<feature>/design/<feature>-interaction-spec.md`。
|
|
1039
|
-
完成后输出 prototype-review 评审输入清单。
|
|
1040
|
-
```
|
|
1041
|
-
|
|
1042
|
-
### 20.5 原型评审
|
|
1043
|
-
|
|
1044
|
-
```text
|
|
1045
|
-
使用 prototype-review。
|
|
1046
|
-
输入资产:<Spec 路径>、`docs/.scratch/<feature>/design/<feature>-product-overview-design.md`、`docs/.scratch/<feature>/design/<feature>-interaction-spec.md`、`docs/.scratch/<feature>/design/<feature>-state-matrix.md`、<原型链接或线框说明>。
|
|
1047
|
-
请审查页面覆盖、主路径、异常路径、loading/empty/error/no-permission/readonly/conflict/dirty-form 状态、权限行为、字段级错误、Spec 回填项和 OpenAPI 反推清单。
|
|
1048
|
-
输出:通过/阻断、阻断项、非阻断建议、高保真 HTML 原型输入就绪度、Contract Draft / OpenAPI Draft 输入风险和下一步。
|
|
1049
|
-
```
|
|
1050
|
-
|
|
1051
|
-
### 20.6 高保真 HTML 原型
|
|
1052
|
-
|
|
1053
|
-
```text
|
|
1054
|
-
使用 product-design:index,并路由到合适的 Product Design focused skill。
|
|
1055
|
-
基于 <Spec 路径>、`docs/.scratch/<feature>/design/<feature>-product-overview-design.md`、`docs/.scratch/<feature>/design/<feature>-interaction-spec.md`、`docs/.scratch/<feature>/design/<feature>-state-matrix.md` 和 `docs/.scratch/<feature>/design/<feature>-prototype-review.md`,
|
|
1056
|
-
为 <功能名> 生成 Ant Design v6 高保真可交互 HTML 原型。
|
|
1057
|
-
输出路径必须是 `docs/.scratch/<feature>/design/prototypes/index.html`。
|
|
1058
|
-
产出前必须使用 `yss-antd-design` 查询设计语言、组件 API、demo、token 和 semantic 信息,不要凭记忆写 Ant Design v6 组件。前端代码落地不要调用该技能,改用 `yss-ui`。
|
|
1059
|
-
请覆盖主流程、关键异常、loading/empty/error/no-permission/readonly/disabled/conflict/success 状态、表单校验、弹窗/抽屉、响应式断点。
|
|
1060
|
-
完成后给出 Ant Design v6 版本依据、`antd` CLI 查询过的组件 / token / demo / semantic、本地浏览器验证证据,并使用 `docs/design/templates/prototype-confirmation-template.md` 记录用户确认。
|
|
1061
|
-
```
|
|
1062
|
-
|
|
1063
|
-
### 20.7 Spec 校准 / 需求冻结
|
|
1064
|
-
|
|
1065
|
-
```text
|
|
1066
|
-
基于 <Spec 路径>、<产品总体设计路径>、<交互设计路径> 和 <高保真 HTML 原型路径>,执行 Spec 校准。
|
|
1067
|
-
请检查页面流、状态矩阵、异常路径、权限状态和验收标准是否已经回填 Spec。
|
|
1068
|
-
输出:需要更新的 Spec 条目、仍待确认的问题、可以冻结的范围、不能进入 API 影响分析 / 契约草案的风险。
|
|
1069
|
-
```
|
|
1070
|
-
|
|
1071
|
-
### 20.8 技能路由
|
|
1072
|
-
|
|
1073
|
-
```text
|
|
1074
|
-
使用 yss-router。
|
|
1075
|
-
输入资产:<Spec 路径>、<交互设计路径>、<OpenAPI Freeze 路径或无 API 影响记录>、<架构设计路径>、<垂直切片路径>。
|
|
1076
|
-
目标:选择最小 YSS 技能集。
|
|
1077
|
-
请说明每个候选技能需要或不需要的理由,尤其是 yss-domain、yss-repository、yss-mybatis、yss-web-controller、yss-ui、yss-openapi-governance、yss-api-integration。
|
|
1078
|
-
边界:不要实现代码,只输出技能路由、实施顺序、测试 seam 和验证建议。
|
|
1079
|
-
```
|
|
1080
|
-
|
|
1081
|
-
### 20.7 Agent Brief
|
|
1082
|
-
|
|
1083
|
-
```text
|
|
1084
|
-
请基于 docs/templates/agent-brief-template.md 为 <垂直切片标题> 生成 Agent Brief。
|
|
1085
|
-
必须包含:
|
|
1086
|
-
- 背景和相关资产路径
|
|
1087
|
-
- 目标和非目标
|
|
1088
|
-
- 页面 / 原型 / 交互设计状态
|
|
1089
|
-
- OpenAPI Draft / Freeze 状态
|
|
1090
|
-
- 推荐 skills
|
|
1091
|
-
- 验收标准
|
|
1092
|
-
- 实现提示
|
|
1093
|
-
- 验证命令
|
|
1094
|
-
- 风险与人工审查点
|
|
1095
|
-
要求:内容自包含,使 Code Agent 无需读取聊天历史即可开始。
|
|
1096
|
-
```
|
|
1097
|
-
|
|
1098
|
-
### 20.8 子 Agent 分派
|
|
1099
|
-
|
|
1100
|
-
```text
|
|
1101
|
-
请判断以下任务是否适合并行 Agent:
|
|
1102
|
-
<任务列表>
|
|
1103
|
-
请按“可并行 / 不可并行 / 需要先串行澄清”分类。
|
|
1104
|
-
对每个可并行任务输出独立 Agent brief,包含目标、输入资产、不得修改的范围、预期输出和验证方式。
|
|
1105
|
-
如果任务会修改同一文件、同一 OpenAPI、同一聚合或同一页面,请标记为不可并行。
|
|
1106
|
-
```
|
|
1107
|
-
|
|
1108
|
-
### 20.9 完成前验证
|
|
1109
|
-
|
|
1110
|
-
```text
|
|
1111
|
-
请基于本次 diff 和任务目标,生成 fresh verification 记录。
|
|
1112
|
-
列出必须运行的验证命令并执行。
|
|
1113
|
-
输出命令、结果、失败项、未验证项和原因。
|
|
1114
|
-
不要只说“看起来可以”。
|
|
1115
|
-
```
|