Install
openclaw skills install pm-prd产品经理专用的 PRD(产品需求文档)生成、优化与扩展工具。用于从自然语言描述创建结构化 PRD、对现有 PRD 进行澄清式审阅以补全模糊点、或向已有 PRD 追加新功能。当用户提到"写 PRD""生成产品需求文档""需求文档""优化/澄清 PRD""review PRD""给 PRD 加功能""PRD 新增需求...
openclaw skills install pm-prd本技能为产品经理提供三个核心工作流:
根据 $ARGUMENTS 和对话上下文判断走哪个模式:
不确定时,直接问用户一句确认,不要默默猜错模式。
用户通过 $ARGUMENTS 提供的功能/产品描述。关注 What 和 Why,不要陷入 How(技术栈、API、代码结构)。
默认写入当前工作目录下的 ./prds/<short-name>.md:
prd、prds、docs/prd 或类似,直接写到 ./<short-name>.mdshort-name 从描述中提炼 2-4 个词,用连字符连接,例如 user-auth、photo-albums、fix-payment-timeout<short-name>-YYYYMMDD.md)mkdir -p 确保目录存在不要涉及任何 git 操作(不创建分支、不 commit、不读 git 状态)。
[NEEDS CLARIFICATION: 具体问题] 标记,按优先级:范围 > 安全/隐私 > 用户体验 > 技术细节。有合理默认值的一律不标FR-NNN 必须可测试、无歧义SC-NNN 必须可衡量、技术无关、以用户/业务视角描述# 产品需求文档: [功能名称]
**创建时间**: [YYYY-MM-DD]
**状态**: 草稿
**输入描述**: "$ARGUMENTS"
## 用户场景与测试 *(必填)*
### 用户故事 1 - [简要标题] (优先级: P1)
[用通俗语言描述用户旅程]
**优先级原因**: [为什么是 P1 - 业务价值、用户痛点]
**独立测试**: [如何独立验证这个故事的价值,例如"通过 X 操作可完整体验并交付 Y 价值"]
**验收场景**:
1. **给定** [初始状态],**当** [用户操作],**那么** [预期结果]
2. **给定** [初始状态],**当** [用户操作],**那么** [预期结果]
---
### 用户故事 2 - [简要标题] (优先级: P2)
(结构同上)
---
### 用户故事 3 - [简要标题] (优先级: P3)
(结构同上)
---
### 边界情况
- 当 [边界条件] 时会发生什么?
- 系统如何处理 [错误场景]?
- [并发 / 超时 / 空数据 / 权限越界 等]
## 需求 *(必填)*
### 功能需求
- **FR-001**: 系统必须 [具体能力]
- **FR-002**: 用户必须能够 [关键交互]
- **FR-003**: 系统必须 [数据需求]
- **FR-004**: 系统必须 [行为]
### 关键实体 *(如涉及数据则包含)*
- **[实体 1]**: [代表什么,关键属性,不含实现细节]
- **[实体 2]**: [与其他实体的关系]
## 成功标准 *(必填)*
### 可衡量的结果
- **SC-001**: [用户可以在 N 分钟内完成 X]
- **SC-002**: [N% 的用户在首次尝试时成功]
- **SC-003**: [业务指标提升 N%]
## 假设
- [关于目标用户的假设]
- [关于范围边界的假设]
- [对现有系统的依赖]
## 超出范围 *(可选)*
- [本次明确不做的事]
写完 PRD 后在内存中对照检查,不要写到文件里:
内容质量
需求完整性
[NEEDS CLARIFICATION] 标记 ≤ 3 个功能就绪度
写完后向用户报告:
[NEEDS CLARIFICATION] 清单(如有)/prd <path> 进入澄清模式补全细节"检测现有 PRD 中的模糊点或缺失的决策,一次问一个问题地与用户确认,把答案直接写回 PRD。总问题数上限 5 个。
加载 PRD: 读取用户指定的文件。如果文件不存在或为空,提示用户先运行生成模式
结构化扫描: 按以下分类检查每个类别的状态(清晰 / 部分 / 缺失),不要把原始扫描结果输出给用户:
生成优先级问题队列 (≤5):
顺序交互提问: 一次只问一个问题,绝不提前泄露后续问题
多选题格式:
**Q[N]: [主题]**
**推荐**: 选项 [X] — [1-2 句推理:最佳实践 / 类似实现常见模式 / 风险降低 / 与 PRD 既有目标一致]
| 选项 | 描述 |
|------|------|
| A | [描述] |
| B | [描述] |
| C | [描述] |
| 自定义 | 提供不同的 ≤5 字短答 |
你可以回复选项字母(如 "A")、说"是"或"推荐"接受推荐,或给出自己的 ≤5 字短答。
短答题格式:
**Q[N]: [主题]**
**建议**: [你建议的答案] — [简要理由]
格式: ≤5 字短答。回复"是"/"建议"接受,或给出你自己的答案。
用户回答后:
## Clarifications → ### Session YYYY-MM-DD 子标题,追加一行 - Q: <问题> → A: <最终答案>。同日多轮: 如果当天已存在同名 session 标题,新会话使用 ### Session YYYY-MM-DD (2)、(3) 递增编号,不要合并到已有 session 块停止条件(满足任一即停):
最终报告:
向一份已有 PRD 追加一个或多个全新功能,保持既有用户故事/实体/术语/编号/优先级分布的一致性,不破坏原有结构。
这不是"修正含糊点"(那是澄清模式的职责),而是扩张范围。
参数同时包含:
加载并吃透原 PRD: 读取整份文件,在内存中提取以下上下文:
FR-012)SC-005)重复检查: 判断新功能是否与既有内容重叠:
范围一致性检查: 对照原 PRD 的"超出范围"章节(如有)。如果新功能明确在超出范围内,提醒用户这是范围扩张,需要确认后再加
解析新功能: 从描述中提取参与者/操作/数据/约束,按与生成模式相同的标准推断合理默认值
优先级分配:
P(current_max + 1),即追加到现有最低优先级之后追加用户故事: 在用户故事章节末尾(边界情况章节之前)新增故事块,遵循原 PRD 的模板格式:
### 用户故事 N - [标题] (优先级: PN)
...
追加功能需求: 从 FR-(max+1) 开始递增编号,新需求追加到功能需求列表末尾。不要重排或重编已有 FR
按需更新其他章节:
SC-(max+1) 开始追加术语统一: 新内容必须复用原 PRD 已有术语。如果新描述用了不同叫法(比如原文是"相册",新描述是"图集"),自动归一到原文术语
追加 [NEEDS CLARIFICATION] 标记(可选): 仅对新功能的显著模糊点使用,最多 2 个(比整体生成模式更严格,因为整份 PRD 已有上下文可推断)
维护变更日志: 在 PRD 顶部(## Clarifications 之后或之前,统一位置)维护 ## Change Log 章节,追加一行:
## Change Log
### YYYY-MM-DD - Extend
- 新增用户故事 N: [标题] (PN)
- 新增功能需求: FR-XXX ~ FR-YYY
- 新增/更新实体: [实体名]
- 新增成功标准: SC-XXX ~ SC-YYY
同日多次扩展时,追加新的子条目到当天的 ### YYYY-MM-DD - Extend 块下,不要新建重复的日期标题
保存文件: 原子写回整份 PRD
质量自检(不落盘):
向用户报告:
[NEEDS CLARIFICATION](如有)