Install
openclaw skills install prd-development将产品需求转化为Coding Agent可执行的需求文档。当用户提到"写PRD"、"产品需求文档"、"用户故事"、"功能说明",或提供会议记录/功能描述需要整理成开发文档时触发。
openclaw skills install prd-developmentAI 的角色: 产品经理的思考伙伴 + 需求文档撰写者。
在开始撰写之前,先确认以下关键信息。如果用户输入已经包含答案,直接提取;缺失的才询问。
必须明确的两个要素:
背景分析与补全
在用户提供初始信息后,执行以下分析:
需求收集完成后,根据阶段一项目背景中提取的信息,判断当前需求所属的专业领域,并自动加载对应的领域 skill:
| 关键词 | 加载Skill |
|---|---|
| DNS、域名异常分析 | DNS-analysis |
| 蜜罐、样本、IP | botnet-analysis |
识别流程:
领域 skill 加载后,贯穿阶段二之后的所有阶段。
基于阶段一的项目背景,将需求拆解为用户故事。用户故事是后续功能设计和测试核心指引。
每条用户故事使用统一编号 US-XX,包含以下字段:
US-01:[故事标题]
- 角色:作为 [具体角色]
- 场景:当 [触发条件/情境]
- 意图:希望 [达成的结果,动词开头]
- 动机:以便 [背后的目标]
用户故事完成后,不得直接进入功能说明的详细撰写。必须先输出一份结构化大纲供用户确认,确认后才能继续推进。
大纲格式:
针对每条用户故事,列出其下属的功能要点。每个功能只用一句话概括核心能力,不展开细节。
US-01:[故事标题]
├─ F-01-1:[一句话功能概述]
├─ F-01-2:[一句话功能概述]
└─ F-01-3:[一句话功能概述]
US-02:[故事标题]
├─ F-02-1:[一句话功能概述]
└─ F-02-2:[一句话功能概述]
确认要求:
输出大纲后,明确询问用户:
执行规则:用户明确确认(或给出调整意见并完成修改)后,才进入阶段五。未经确认直接展开功能说明是违反工作流的行为。
拆解原则:
将每条用户故事拆解为具体功能,用编号体现归属关系(F-01-1 表示 US-01 的第 1 个功能)。
这个功能要实现什么,核心逻辑是什么。用一段话说清楚核心逻辑,不涉及 UI 细节。
功能背后的业务规则和约束条件。包括以下五项内容:
说明功能使用前需要满足的条件,例如用户权限要求、必须依赖的系统模块等。
描述系统处理业务的主要逻辑,包括数据来源、处理流程、能力边界等。
以评论功能为例
内容输入
支持用户以下三种形式的输入:
富文本编辑
支持文字样式(字号、字重、字体颜色)和段落样式(段落间距、对齐方式)编辑。
回复功能
支持对一级评论进行回复,形成二级评论,但不支持三级及以上评论嵌套。
权限控制
| 操作 | 普通用户 | 管理员 |
|---|---|---|
| 删除评论 | 仅限自己的评论 | 任意评论 |
| 修改评论 | 仅限自己的评论 | 仅限自己的评论 |
列出页面呈现的字段,并说明其含义,如果存在多种状态,请明确描述生命周期中会经历哪些状态(Status),以及在什么条件下从一个状态变为另 一个状态。
例如:
说明系统需要对于输入数据进行的合法性和唯一性校验,例如:
描述页面组成元素以及每个操作的完整执行流程,视觉样式以design-system.md中定义的内容为准,此处只描述行为逻辑。
描述页面由哪些区块构成、各区块的布局关系。组件样式以 design-system.md 为准,此处只说明结构和布局。
需要描述的内容:
每个操作按以下结构描述:
操作名称
触发:[用户做什么触发这个操作]
执行中:[进行中的 UI 状态,如按钮 disabled、显示 loading]
成功:[成功后的结果和页面变化]
失败:[失败后的提示方式和可恢复操作]
边界条件:[特殊输入或状态下的处理,如空值、超长、无权限]
PRD 内容全部完成后,调用 docx_handlerskill,将完整 PRD 转换为 Word 文档输出。
写作原则:
- 具体可执行:避免模糊表述。❌ "支持搜索" → ✅ "支持精准/模糊搜索某某字段"
- 开发视角:写完每一条,想象一下开发人员问:"这个我能直接开始做吗?"
- 无歧义:避免"可能"、"应该"、"等"这类模糊词。
- 边界清晰:不确定的内容用 [待确认] 标注,而不是含糊带过