PRD 生成器
生成结构清晰、可执行、适合后续实现的 PRD 文档。
本 skill 使用纯 SKILL.md 工作流编写,可被 Codex 及其他兼容运行时直接发现,无需依赖 marketplace 专属元数据。
工作流
输入: 用户给出的功能想法、项目目标或变更需求。
- 接收用户的功能描述。
- 如果需求仍然模糊,提出 3-5 个必要澄清问题,优先使用带字母选项的形式。
- 根据回答生成结构化 PRD。
- 将结果保存为
tasks/prd-[feature-name].md。
重要: 不要开始实现,只负责生成 PRD。
第一步:澄清问题
只问真正影响范围和落地方式的问题,重点关注:
- 目标 / 问题: 这个功能解决什么问题?
- 核心能力: 用户最关键的动作是什么?
- 范围边界: 明确哪些内容不在本次范围内。
- 完成标准: 如何判断功能已经完成?
推荐提问格式:
1. 这个功能的主要目标是什么?
A. 提升新用户转化
B. 提升留存
C. 降低支持成本
D. 其他:请补充
2. 目标用户是谁?
A. 新用户
B. 现有用户
C. 所有用户
D. 管理员
3. 本次范围更接近哪种?
A. 最小可用版本
B. 完整版本
C. 只做后端/API
D. 只做前端/UI
这样用户可以直接回答 1A, 2C, 3B,提高沟通效率。
第二步:PRD 结构
输出的 PRD 应至少包含这些部分:
1. 背景 / 概述
简要说明功能是什么、为什么要做、解决什么问题。
2. 目标
使用要点列表列出具体、可衡量的目标。
3. 用户故事
每个用户故事需要包含:
- 标题:简短明确
- 描述:采用 “作为一个 [用户],我想要 [能力],以便 [收益]”
- 验收标准:必须可验证,避免模糊描述
每个故事都要足够小,能在一次专注实现中完成。
推荐格式:
### US-001: [标题]
**描述:** 作为一个 [用户],我想要 [能力],以便 [收益]。
**验收标准:**
- [ ] 可验证的具体标准
- [ ] 另一条可验证标准
- [ ] Typecheck/lint 通过
- [ ] 仅 UI 变更:使用 dev-browser skill 做浏览器验证
要求:
- 验收标准必须具体、可验证。
- 如果涉及 UI 变更,始终加入“使用 dev-browser skill 做浏览器验证”。
4. 功能需求
使用编号列表表达明确需求,例如:
FR-1: 系统必须允许用户……FR-2: 当用户点击 X 时,系统必须……
5. 非目标(不在范围内)
明确列出本次不做什么,防止需求膨胀。
6. 设计考虑(可选)
可包括:
- UI/UX 要求
- 原型或设计稿链接
- 建议复用的现有组件
7. 技术考虑(可选)
可包括:
- 已知限制或依赖
- 与现有系统的集成点
- 性能要求
8. 成功指标
说明如何衡量结果,例如:
- 完成某操作的时间降低 50%
- 转化率提升 10%
9. 未决问题
记录仍需确认的点。
面向初级开发者 / Agent 的写法
PRD 的读者可能是初级开发者,也可能是后续 Agent,因此应遵循:
- 表达明确,不含糊
- 少用术语,必要时解释
- 给足上下文,说明目的和关键逻辑
- 需求尽量编号,便于引用
- 适当给具体例子
输出要求
- 格式: Markdown (
.md) - 目录:
tasks/ - 文件名:
prd-[feature-name].md(kebab-case) - 行为: 如果
tasks/不存在,先创建该目录
示例
# PRD: 任务优先级系统
## 背景
为任务增加优先级能力,帮助用户更快识别最重要的事项。任务支持 high / medium / low 三种优先级,并提供视觉标识与筛选能力。
## 目标
- 所有任务都可设置优先级
- 优先级在列表中可快速识别
- 支持按优先级筛选和排序
- 新任务默认优先级为 medium
## 用户故事
### US-001: 为任务表增加优先级字段
**描述:** 作为开发者,我需要在数据库中存储任务优先级,以便优先级能持久化。
**验收标准:**
- [ ] 为 tasks 表增加 priority 字段:`high | medium | low`,默认值为 `medium`
- [ ] 成功生成并执行迁移
- [ ] Typecheck 通过
### US-002: 在任务卡片上展示优先级标识
**描述:** 作为用户,我想一眼看到任务优先级,以便快速判断处理顺序。
**验收标准:**
- [ ] 每个任务卡片展示优先级徽标
- [ ] 颜色映射:high=红色,medium=黄色,low=灰色
- [ ] Typecheck 通过
- [ ] 使用 dev-browser skill 做浏览器验证
保存前检查
- 已提出必要的澄清问题,并使用字母选项提高回答效率
- 已将用户回答纳入 PRD
- 用户故事足够小且明确
- 功能需求已编号且表述清晰
- 非目标部分明确限制了范围
- 已保存到
tasks/prd-[feature-name].md