Skip to content

23 - 产品设计契约

1. 定位

产品设计契约是体系生命周期中需求确认之后、技术方案之前的阶段,用两份文件消除产品侧和 UI 侧的不确定性:

文件解决什么问题核心内容
product-spec.md功能怎么运转信息架构、用户旅程、权限矩阵、埋点规格
design-spec.md界面长什么样Design Token、组件规范、交互模式、组合模式

为什么需要这个阶段:没有这两份文件,AI 在生成 UI 代码时只能临时协商——每次会话重新猜测页面结构、路由关系、权限控制、颜色体系。多页面项目的视觉一致性和产品完整性无法保证。

2. 在生命周期中的位置

/spec → spec.md(做什么)

/prd → prd.md(数据怎么建模)← 可选,中大型功能

/product-design → product-spec.md + design-spec.md(怎么组织 + 怎么看)← 本阶段

/plan → 技术方案(怎么建)

/ui-page → 页面骨架(有规范输入,不再盲飞)

美化阶段 → 有 Token 约束,多页面视觉统一

与上游的关系

上游产出本阶段如何使用
spec.md §5 用户故事展开为 product-spec 的完整用户旅程(跨页面流程图)
spec.md §7 数据模型映射为 product-spec 的内容模型和页面间数据流
spec.md §3 目标用户充实 product-spec 的用户画像和权限角色
spec.md §13 成功指标转化为 product-spec 的埋点漏斗和北极星指标
prd.md 状态机映射为 product-spec 的用户状态机和权限矩阵

与下游的关系

下游环节如何消费本阶段产出
/plan页面注册表(→ PS:4.1)提供完整的新增页面清单和路由树,plan 据此估计工作量
/ui-page读取 product-spec 的页面状态矩阵(→ PS:4.2)和 design-spec 的组件规范,生成符合规范的骨架代码
美化阶段design-spec 的 Token 系统提供确定的色值/间距/字体,不再每次临时协商
/testproduct-spec 的用户旅程直接转化为 E2E 测试用例
/reviewdesign-spec 的 AI 行为契约(→ DS:0.2)提供审查基准

3. 两份文件的协同方式

填写顺序

product-spec 先行。产品结构决定视觉需求,不能反过来:

  1. product-spec.md — 先定义信息架构(有哪些页面)、用户旅程(页面间怎么跳转)、页面状态矩阵(每个页面有哪些状态需要设计)
  2. design-spec.md — 基于 product-spec 确定的页面和状态,定义 Token 系统、组件规范、交互模式

共享组件词汇表

两份文件通过 product-spec §0.2 的共享组件词汇表对齐:

  • product-spec 中写"弹出 Modal"时,指的是 design-spec §4.6 定义的完整 Modal 组件及其所有视觉规则
  • 项目新增自定义组件时,必须同时在词汇表中注册
  • 交叉引用约定:→ DS:4.1 指 design-spec 第 4.1 节,→ PS:3.2 指 product-spec 第 3.2 节

走查闭环

product-spec §9 提供完整的走查清单,覆盖:

  • 信息架构一致性(无孤立页面)
  • 用户旅程完整性(入口/出口已映射)
  • 页面状态覆盖率(每种类型的必需状态都已定义)
  • 权限矩阵完备性(所有功能 × 所有角色)
  • 跨规范一致性(组件名称、页面类型与 design-spec 对齐)

4. 项目文件约定

两份文件在项目中的位置:

project-root/
├── docs/
│   ├── product-spec.md        # 产品结构契约(从模板生成)
│   ├── design-spec.md         # 设计规范契约(从模板生成)
│   ├── prd/                   # 工程级 PRD(已有)
│   └── ...

模板来源:docs/templates/design-spec-template.mddocs/templates/product-spec-template.md

通过 /product-design Skill 驱动填写流程(见 02-Skills 技能体系)。

5. 模板内容概览

product-spec-template.md(688 行)

章节内容下游消费者
§0 使用说明标记约定、共享词汇表、交叉引用所有环节
§1 产品定义定位、用户画像、价值主张/spec 验证对齐
§2 信息架构站点地图、导航模型、路由规范、内容模型/plan, /ui-page
§3 用户旅程首次体验、核心循环、转化付费、支线旅程、旅程衔接/test(E2E 用例)
§4 页面注册与职责页面注册表、状态矩阵、页面间数据流/ui-page
§5 用户状态与权限状态机、权限矩阵、权限拒绝行为/ui-page, /review
§6 通知与消息通知类型、渠道、规则编码实现
§7 异常旅程异常目录、降级策略、数据边界/ui-page, /test
§8 数据分析北极星指标、漏斗、事件命名、必采属性编码实现
§9 走查清单6 维度完整走查/review
§10 国际化i18n 范围和架构影响/plan

design-spec-template.md(~800 行)

章节内容下游消费者
§0 使用说明AI 行为契约(生成 UI 前的 5 项检查)所有 UI 生成环节
§1 设计原则风格关键词、约束、优先级美化阶段
§2 Token 系统色彩、字体、间距、阴影、圆角、动效/ui-page, 美化阶段
§3 布局系统安全区、内容宽度、响应式断点、栅格/ui-page
§4 组件规范Button、Form、Card、Dialog、Toast 等全量状态/ui-page
§5 交互模式表单验证、加载/错误/空态、手势、无障碍/ui-page
§6 组合模式列表页、详情页、表单页、设置页、结果页布局/ui-page
§7 图标与图片图标规范、图片比例、占位美化阶段
§8 文案规范标题/正文/按钮文案、日期/数字格式编码实现
§9 设计走查完整走查清单/review

6. 与 Figma MCP 的关系

如果项目配置了 Figma MCP(见 doc-11 §4.3):

  • 有 Figma 设计稿:design-spec.md 的 Token 值从 Figma 提取(get_variable_defs),模板提供结构,Figma 提供数值
  • 无 Figma 设计稿:design-spec.md 的 Token 值手动填写或使用模板默认值,AI 美化时严格遵循

两种路径的共同点:design-spec.md 始终是 AI 生成 UI 代码时的唯一权威来源。Figma 是数据输入渠道,不是替代品。


关联文档:00-总体架构 | 02-Skills 技能体系 | 07-人的操作手册 | 11-UI 开发策略关联 Skill:/product-design | /ui-page | /spec关联模板:docs/templates/design-spec-template.md | docs/templates/product-spec-template.md

面向个人开发者的 AI 辅助编程工程化方案