PRD生成器Skill prd

这是一个用于生成产品需求文档(PRD)的技能,通过询问关键澄清问题并基于用户回答自动生成结构化PRD文档,适用于产品管理、需求分析、项目规划和敏捷开发场景,帮助团队明确功能目标、用户故事和功能需求,提升开发效率。关键词:产品需求文档、PRD、需求分析、项目管理、敏捷开发、用户故事、功能需求、文档生成。

需求分析 0 次安装 0 次浏览 更新于 3/15/2026

名称: prd 描述: “为新功能生成产品需求文档(PRD)。在规划功能或启动项目时使用。触发词:创建prd、编写prd、规划功能、需求、规格说明。”

PRD生成器

创建清晰、可操作且适合实施的产品需求文档。

工作空间模式说明

在工作空间模式下运行时,将PRD保存到.aha-loop/tasks/而非tasks/。编排器将在提示上下文中提供实际路径。


任务

  1. 从用户接收功能描述
  2. 提出3-5个关键澄清问题(带字母选项)
  3. 基于答案生成结构化PRD
  4. 保存到tasks/prd-[功能名称].md

重要提示: 不要开始实施。仅创建PRD。


步骤1:澄清问题

仅在初始提示模糊时提出关键问题。关注:

  • 问题/目标: 这个功能解决什么问题?
  • 核心功能: 关键行动是什么?
  • 范围/边界: 它不应该做什么?
  • 成功标准: 如何知道它已完成?

问题格式如下:

1. 这个功能的主要目标是什么?
   A. 改善用户引导体验
   B. 增加用户留存率
   C. 减少支持负担
   D. 其他:[请指定]

2. 目标用户是谁?
   A. 仅新用户
   B. 仅现有用户
   C. 所有用户
   D. 仅管理员用户

3. 范围是什么?
   A. 最小可行版本
   B. 全功能实现
   C. 仅后端/API
   D. 仅用户界面

这让用户可以用"1A, 2C, 3B"快速迭代响应。


步骤2:PRD结构

生成具有以下部分的PRD:

1. 介绍/概述

功能简短描述及其解决的问题。

2. 目标

具体、可衡量的目标(项目符号列表)。

3. 用户故事

每个故事需要:

  • 标题: 简短的描述性名称
  • 描述: “作为[用户],我想要[功能],以便[好处]”
  • 验收标准: 验证"完成"含义的可检查列表
  • 研究主题: 实施前需要调查的问题(针对复杂故事)

每个故事应足够小,以便在一次集中会话中实现。

格式:

### US-001: [标题]
**描述:** 作为[用户],我想要[功能],以便[好处]。

**研究主题:**(可选,针对复杂故事)
- [ ] 关于技术选择或最佳实践的问题
- [ ] 关于代码库中现有模式的问题
- [ ] 关于第三方库使用的问题

**验收标准:**
- [ ] 具体的可验证标准
- [ ] 另一个标准
- [ ] 类型检查/代码检查通过
- [ ] **【仅限UI故事】** 使用dev-browser技能在浏览器中验证

重要提示:

  • 验收标准必须可验证,不能含糊。"工作正常"是差的。"删除前按钮显示确认对话框"是好的。
  • 对于任何有UI更改的故事: 始终包括"使用dev-browser技能在浏览器中验证"作为验收标准。这确保前端工作的视觉验证。
  • 研究主题帮助研究阶段聚焦于正确问题。当出现以下情况时包括它们:
    • 使用不熟悉的第三方库
    • 存在多种实施方法
    • 性能或可扩展性问题
    • 与现有系统的复杂集成

4. 功能需求

具体功能的编号列表:

  • “FR-1: 系统必须允许用户…”
  • “FR-2: 当用户点击X时,系统必须…”

明确且无歧义。

5. 非目标(超出范围)

此功能不包括的内容。管理范围的关键。

6. 设计考虑(可选)

  • UI/UX要求
  • 如有可用,链接到原型图
  • 要重用的相关现有组件

7. 技术考虑(可选)

  • 已知约束或依赖
  • 与现有系统的集成点
  • 性能要求

8. 成功指标

如何衡量成功?

  • “将完成X的时间减少50%”
  • “将转化率提高10%”

9. 开放问题

剩余问题或需要澄清的领域。


为初级开发者编写

PRD阅读者可能是初级开发者或AI代理。因此:

  • 明确且无歧义
  • 避免术语或解释术语
  • 提供足够细节以理解目的和核心逻辑
  • 编号需求以便引用
  • 在有用时使用具体示例

输出

  • 格式: Markdown(.md
  • 位置: tasks/
  • 文件名: prd-[功能名称].md(kebab-case)

示例PRD

# PRD:任务优先级系统

## 介绍

为任务添加优先级级别,让用户专注于最重要的事务。任务可以标记为高、中、低优先级,带有视觉指示器和过滤功能,帮助用户有效管理工作负载。

## 目标

- 允许为任何任务分配优先级(高/中/低)
- 提供优先级级别之间的清晰视觉区分
- 启用按优先级过滤和排序
- 新任务默认为中优先级

## 用户故事

### US-001:向数据库添加优先级字段
**描述:** 作为开发者,我需要存储任务优先级,以便它在会话间持久化。

**研究主题:**
- [ ] 在此堆栈中数据库枚举字段的最佳实践
- [ ] 模式更改的迁移回滚策略

**验收标准:**
- [ ] 向任务表添加优先级列:'高' | '中' | '低'(默认'中')
- [ ] 生成并成功运行迁移
- [ ] 类型检查通过

### US-002:在任务卡片上显示优先级指示器
**描述:** 作为用户,我想一眼看到任务优先级,以便知道什么需要首先关注。

**研究主题:**
- [ ] 优先级指示器的可访问颜色方案(WCAG合规性)
- [ ] 代码库中可重用的现有徽章/标签组件

**验收标准:**
- [ ] 每个任务卡片显示彩色优先级徽章(红=高、黄=中、灰=低)
- [ ] 无需悬停或点击即可看到优先级
- [ ] 类型检查通过
- [ ] 使用dev-browser技能在浏览器中验证

### US-003:向任务编辑添加优先级选择器
**描述:** 作为用户,我想在编辑任务时更改其优先级。

**验收标准:**
- [ ] 任务编辑模态中的优先级下拉菜单
- [ ] 显示当前优先级为选中状态
- [ ] 选择更改后立即保存
- [ ] 类型检查通过
- [ ] 使用dev-browser技能在浏览器中验证

### US-004:按优先级过滤任务
**描述:** 作为用户,我想过滤任务列表,以便在专注时仅看到高优先级项。

**研究主题:**
- [ ] 此代码库中的URL状态管理模式
- [ ] 要作为模式遵循的现有过滤实现

**验收标准:**
- [ ] 过滤下拉菜单选项:全部 | 高 | 中 | 低
- [ ] 过滤持久化到URL参数
- [ ] 无任务匹配过滤时的空状态消息
- [ ] 类型检查通过
- [ ] 使用dev-browser技能在浏览器中验证

## 功能需求

- FR-1:向任务表添加`priority`字段('高' | '中' | '低',默认'中')
- FR-2:在每个任务卡片上显示彩色优先级徽章
- FR-3:在任务编辑模态中包含优先级选择器
- FR-4:向任务列表头部添加优先级过滤下拉菜单
- FR-5:在每个状态列内按优先级排序(高到中到低)

## 非目标

- 无基于优先级的通知或提醒
- 无基于截止日期的自动优先级分配
- 无子任务优先级继承

## 技术考虑

- 重用带有颜色变体的现有徽章组件
- 通过URL搜索参数管理过滤状态
- 优先级存储在数据库中,不计算

## 成功指标

- 用户可在2次点击内更改优先级
- 高优先级任务立即在列表顶部可见
- 任务列表性能无退化

## 开放问题

- 优先级应影响列内任务排序吗?
- 应添加优先级更改的键盘快捷键吗?

检查清单

保存PRD前:

  • [ ] 已提出带字母选项的澄清问题
  • [ ] 整合了用户的答案
  • [ ] 用户故事小而具体
  • [ ] 复杂故事定义了研究主题
  • [ ] 功能需求编号明确无歧义
  • [ ] 非目标部分定义了清晰边界
  • [ ] 保存到tasks/prd-[功能名称].md

研究主题指南

添加研究主题时,考虑:

良好研究主题:

  • “库X如何处理Y?”(具体、可回答)
  • “此代码库对Z使用了什么现有模式?”
  • “方法A与B的性能影响”
  • “实现功能X的最佳实践”

不良研究主题:

  • “如何编码这个”(太模糊)
  • “让它工作”(不是问题)
  • “关于库X的一切”(太宽泛)

何时包括研究主题:

  • 首次在此项目中使用库时
  • 存在多种有效方法时
  • 性能敏感实现时
  • 安全敏感实现时
  • 与外部系统复杂集成时