返回 Skill 列表
extension
分类: 其它无需 API Key

pm-prd

将需求规格转化为PRD文档。 用于:(1) 用户已澄清需求,需要生成PRD (2) 需求规格已确认,需要输出正式文档。 当用户提到"生成PRD"、"写PRD文档"、"需求规格转PRD"时触发。

person作者: user_ba760236hubcommunity

PRD标准化生成技能 (PM-PRD Skill)

将结构化的需求规格转化为符合标准化规范的PRD文档。这是产品经理工作流中的PRD生成环节——输入需求规格,输出可直接用于评审和开发的PRD。

核心理念

需求规格是输入,PRD是输出。

  • 需求规格回答"做什么"(由 clarify skill 输出)
  • PRD回答"怎么做"(由本技能输出)
  • 两者是上下游关系,不是重复劳动

标准化是关键。

  • 每份PRD必须遵循统一的结构和格式
  • 7大章节缺一不可
  • 评审清单必须逐项通过

平台知识库是约束。

  • PRD中的功能设计必须符合平台现有能力
  • 数据模型必须基于平台现有实体
  • 接口设计必须遵循平台规范
  • UI设计必须符合平台设计规范(DESIGN-SPEC.md)

触发条件

当用户:

  • 提供了需求规格,要求"生成PRD"
  • 说"帮我写PRD文档"
  • 说"把需求规格转成PRD"
  • 提供了需求文档,要求按标准格式输出

输入

  • 需求规格(由 clarify skill 输出的结构化需求规格)
  • 平台名称(可选,用于加载知识库)
  • PRD模板(可选,自动选择最合适的模板)

输出

一份符合标准化规范的PRD文档(Product Requirements Document)。

工作流程

Step 0: 准备上下文

第一步:判断项目类型

| 类型 | 特征 | 处理方式 | | ----------- | ------------------------------- | ---------- | | 已有平台迭代 | 用户提到已有平台/产品名称,或上下文中已有平台信息 | 加载知识库,约束设计 | | 0-1 新项目 | "我想做一个 XX"、"帮我设计一个 XX 系统"、无已有平台 | 跳过知识库,通用设计 |

第二步:按类型执行

已有平台迭代 — 知识库加载流程(v3 分层路由):

知识库位置:~/.miclaw/workspace/skills/platforms/{platform_name}/

按以下顺序加载,每一步只读必要的文件

Step 0.1: 读 INDEX.md
  → 了解平台有哪些模块(模块列表 + 一句话描述)
  → 文件大小 < 1KB,必须全量读取

Step 0.2: 读 DESIGN-SPEC.md
  → 获取平台设计规范(色彩、字体、组件、交互)
  → PRD 阶段必读,确保 UI 设计符合平台规范
  → 文件大小 3-8KB,必须全量读取

Step 0.3: 根据需求规格中的模块归属,读取对应模块目录
  → 读 modules/{module}/features.md(功能清单)
  → 读 modules/{module}/rules.md(业务规则)
  → 读 modules/{module}/data.md(数据模型)
  → 读 modules/{module}/interfaces.md(接口规范)
  → 读 modules/{module}/ui.md(UI/交互规范)

Step 0.4: 如果涉及多个模块,读 CORE.md(跨模块规则)
  → 了解模块间依赖、通用权限模型、数据权限等

加载原则:

  • INDEX.md + DESIGN-SPEC.md 是必读的(PRD 阶段)
  • 模块内文件按需求规格中的模块归属读取
  • CORE.md 只在跨模块需求时读取
  • 不需要读 ROUTER.md(需求规格已经明确了模块归属)

加载后的知识库用于:

  1. 约束功能设计(基于 features.md 现有能力)
  2. 参考业务规则(基于 rules.md 现有规则)
  3. 复用数据模型(基于 data.md 现有实体)
  4. 遵循接口规范(基于 interfaces.md 现有接口)
  5. 符合 UI 规范(基于 DESIGN-SPEC.md 设计系统)

0-1 新项目:

  1. 确认产品定位 — 一句话了解用户想做什么类型的产品
  2. 跳过知识库加载 — 没有可加载的内容,不要浪费时间
  3. 直接进入 Step 1,使用通用设计规范

第三步:记录上下文标记

在后续流程中始终标记当前模式:

  • [迭代模式] — 有知识库支撑,设计受约束
  • [0-1模式] — 无知识库,通用设计

Step 1: 解析需求规格

读取用户提供的需求规格,提取以下信息:

  1. 需求概述 — 背景、目标、目标用户
  2. 功能范围 — 包含什么、不包含什么
  3. 功能描述 — 每个功能的详细说明
  4. 数据需求 — 核心数据、统计指标
  5. 权限要求 — 查看权限、操作权限
  6. 非功能需求 — 性能、兼容性
  7. 依赖与风险 — 依赖项、风险点

如果需求规格不完整:

  • 缺少关键信息 → 向用户确认,不要自己编造
  • 有推断项 → 检查是否合理,需要时向用户确认
  • 有未确认项 → 使用默认值,但在PRD中标注

Step 2: 选择PRD模板

根据需求类型选择合适的PRD模板:

| 需求类型 | 推荐模板 | 说明 | | ----- | ------- | --------- | | 新功能开发 | 标准PRD模板 | 完整7章节 | | 功能优化 | 精简PRD模板 | 重点在变更部分 | | 数据相关 | 数据PRD模板 | 强调数据模型和统计 | | 对接集成 | 集成PRD模板 | 强调接口和数据流转 |

Step 3: 生成PRD内容

按照标准化规范生成PRD,确保每个章节都符合要求。

关键约束(迭代模式下):

  • 功能设计:必须基于平台现有能力,不能凭空设计
  • 数据模型:必须复用平台现有实体,新增字段要说明原因
  • 接口设计:必须遵循平台接口规范
  • UI设计:必须符合 DESIGN-SPEC.md 中的设计规范:
    • 颜色使用平台色板中的颜色
    • 字体使用平台规定的字体和字号
    • 组件使用平台组件库中的组件
    • 交互遵循平台交互规范
    • 布局遵循平台栅格系统

Step 4: 评审清单检查

在输出PRD之前,必须按照评审清单逐项检查:

## PRD评审清单

### 需求背景
- [ ] 是否清晰描述了需求产生的背景?
- [ ] 是否说明了当前存在的痛点/优化点?
- [ ] 是否与业务目标对齐?

### 需求目标与收益风险
- [ ] 核心目标是否明确且可衡量?
- [ ] 预期收益是否具体?
- [ ] 风险是否已识别并给出应对措施?

### 名词解释
- [ ] 是否有专业术语需要解释?
- [ ] 名词解释是否准确?

### 需求范围
- [ ] 功能范围是否清晰界定?
- [ ] 是否说明了不包含的内容?
- [ ] 优先级是否明确?

### 流程与状态
- [ ] 核心流程是否完整?
- [ ] 状态流转是否清晰?
- [ ] 异常流程是否考虑?

### 功能描述
- [ ] 每个功能是否都有清晰的描述?
- [ ] 交互设计是否详细?
- [ ] 边界情况是否考虑?
- [ ] 功能是否按页面/模块分组(非平铺)?

### 数据埋点需求
- [ ] 是否需要数据埋点?
- [ ] 埋点方案是否明确?
- [ ] 统计指标是否清晰?

如果检查不通过:

  • 回到 Step 3 补充相关内容
  • 不要输出不完整的PRD

Step 5: 输出PRD

生成最终的PRD文档,包含:

  1. 文档头部 — 标题、版本、作者、日期、状态
  2. 7大章节 — 按标准化规范组织
  3. 评审清单 — 附在文档末尾
  4. 变更记录 — 记录本次生成的变更

保存位置:

  • 默认:docs/prd-{需求简称}.md
  • 或用户指定的路径

PRD标准化规范

文档结构

# {产品/功能名称} PRD

> 版本:v1.0
> 作者:{姓名}
> 日期:{YYYY-MM-DD}
> 状态:草稿 / 评审中 / 已确认
> 关联平台:{平台名称}
> 涉及模块:{模块名}

---

## 1. 需求背景

### 1.1 业务背景
{描述业务现状、市场环境、用户痛点}

### 1.2 需求来源
{需求提出方、需求背景}

### 1.3 项目价值
{对业务、用户、技术的价值}

---

## 2. 需求目标与收益风险

### 2.1 核心目标
{主要目标,可量化的指标}

### 2.2 预期收益
{业务收益、用户收益}

### 2.3 风险与应对
| 风险 | 影响 | 应对措施 |
|------|------|----------|
| {风险1} | {影响} | {措施} |

---

## 3. 名词解释

| 名词 | 解释 |
|------|------|
| {名词1} | {解释} |

---

## 4. 需求范围

### 4.1 功能范围

#### 包含
| 功能模块 | 功能点 | 优先级 | 说明 |
|----------|--------|--------|------|
| {模块} | {功能} | P0/P1/P2 | {说明} |

#### 不包含
- {不包含的功能1}
- {不包含的功能2}

### 4.2 用户范围
{目标用户、使用场景}

---

## 5. 流程与状态

### 5.1 核心流程
{主要业务流程,可用流程图描述}

### 5.2 状态流转
{状态变化规则,可用状态图描述}

### 5.3 异常流程
{异常场景处理}

---

## 6. 功能描述

### 6.1 {页面/模块名称 1}

#### 6.1.1 页面概述
{页面用途、入口}

#### 6.1.2 功能点 1:{功能名称}
- **功能描述**:{详细说明}
- **交互设计**  - {交互细节1}
  - {交互细节2}
- **业务规则**  - {规则1}
  - {规则2}
- **边界情况**  - {边界1}
  - {边界2}
- **UI规范**(基于 DESIGN-SPEC.md):
  - 按钮:{使用 Primary/Secondary 类型,尺寸 {sm/md/lg}}
  - 颜色:{使用平台色板中的 {颜色名},色值 {hex}}
  - 字体:{使用 {字号名},{字号值}}
  - 组件:{使用平台组件库中的 {组件名}}

#### 6.1.3 功能点 2:{功能名称}
- **功能描述**:{详细说明}
- **交互设计**:{交互细节}
- **业务规则**:{规则}
- **边界情况**:{边界}
- **UI规范**:{规范}

### 6.2 {页面/模块名称 2}

#### 6.2.1 页面概述
{页面用途、入口}

#### 6.2.2 功能点 1:{功能名称}
- **功能描述**:{详细说明}
- **交互设计**:{交互细节}
- **业务规则**:{规则}
- **边界情况**:{边界}
- **UI规范**:{规范}

---

## 7. 数据埋点需求

### 7.1 埋点方案
{埋点方式、埋点工具}

### 7.2 埋点事件
| 事件名称 | 触发条件 | 参数 | 说明 |
|----------|----------|------|------|
| {事件1} | {条件} | {参数} | {说明} |

### 7.3 统计指标
| 指标名称 | 计算方式 | 展示位置 |
|----------|----------|----------|
| {指标1} | {计算方式} | {位置} |

---

## 附录

### 评审清单
{附上Step 4的评审清单,逐项打勾}

### 变更记录
| 版本 | 日期 | 变更内容 | 作者 |
|------|------|----------|------|
| v1.0 | {日期} | 初始版本 | {姓名} |

使用示例

示例1:基于需求规格生成PRD

用户提供

需求规格:订单管理模块增加批量导出功能 平台:小爱工作台

Agent(Step0 知识库加载)

1. 读 INDEX.md → 平台有 10 个模块,订单管理是其中之一
2. 读 DESIGN-SPEC.md → 获取设计规范(色彩、字体、组件、交互)
3. 读 modules/order/features.md → 现有功能:订单列表、订单详情、批量发货
4. 读 modules/order/rules.md → 现有规则:订单状态流转、权限控制
5. 读 modules/order/data.md → 现有实体:Order、OrderItem
6. 读 modules/order/interfaces.md → 现有接口:订单列表、订单详情
7. 读 modules/order/ui.md → 现有页面:订单列表页、订单详情页

Agent(Step1-5)

基于需求规格和平台知识库,我来生成PRD文档...

[生成符合标准化规范的PRD]

PRD已生成,包含:

  • 需求背景:基于订单管理模块现状
  • 功能设计:复用现有 Order 实体,新增导出接口
  • UI设计:遵循平台设计规范(按钮用 Primary,表格行高 48px)
  • 数据埋点:导出操作埋点

评审清单已逐项检查通过。


示例2:需求规格不完整

用户提供

需求规格:做一个用户反馈功能 平台:小爱工作台

Agent(Step1)

需求规格中缺少以下关键信息:

  1. 反馈入口在哪?(独立页面还是嵌入现有页面?)
  2. 反馈内容包含什么?(文字、图片、日志?)
  3. 反馈如何处理?(自动分类、人工处理?)

请补充这些信息,我再生成PRD。


注意事项

  1. 不要跳过评审清单 — 每次生成PRD都必须逐项检查
  2. 不要编造信息 — 需求规格中没有的,向用户确认
  3. 不要忽略平台约束 — 迭代模式下,设计必须符合平台能力
  4. 不要忽略设计规范 — UI设计必须符合 DESIGN-SPEC.md
  5. 功能必须按页面/模块分组 — 不能平铺罗列
  6. 数据需求按需输出 — 根据需求类型判断是否需要
  7. 保存到指定路径 — 默认 docs/prd-{需求简称}.md