PRD Generator Skill
根据用户输入的产品/功能描述,分析需求并生成结构化的PRD文档。
适用场景
-
用户提供了产品或功能的初步描述,需要生成完整的PRD
-
用户有现有的PRD需要重构或优化
-
需要将单一的大型PRD文档拆分为模块化结构
输出结构
生成的PRD文档应采用模块化目录结构:
{project}/docs/prd/ ├── README.md # 概述(系统定位、术语说明、用户画像、MVP范围、文档索引) ├── features.md # 功能描述(核心功能、用户流程、交互设计) ├── technical.md # 技术方案(技术栈、架构设计、集成方案) ├── database.md # 数据设计(数据库结构、存储方案、性能优化) ├── ui.md # UI规范(组件库、主题配置、响应式设计、用户体验) └── deployment.md # 部署运维(安全性、测试策略、部署方案、监控)
执行步骤
- 需求分析
首先分析用户提供的描述,提取以下关键信息:
-
系统定位:这是什么类型的系统?(演示系统/生产系统/内部工具等)
-
目标用户:谁会使用这个系统?
-
核心功能:系统的主要功能是什么?
-
技术约束:是否有特定的技术要求或限制?
-
MVP范围:最小可行产品包含哪些功能?
- 术语定义
识别并定义产品中的关键术语,避免歧义。使用表格格式:
| 术语 | 说明 |
|---|---|
| 术语1 | 术语的明确定义 |
| 术语2 | 术语的明确定义 |
- 功能设计
为每个核心功能设计:
-
功能描述:功能的用途和目标
-
用户流程:用户如何使用这个功能(步骤化描述)
-
交互设计:UI交互细节
-
异常处理:错误情况如何处理
-
边界条件:功能的限制和约束
- 技术方案
根据功能需求设计技术方案:
-
技术栈选择:前端/后端/数据库等
-
系统架构:架构模式、API设计
-
第三方集成:需要集成的外部服务
-
扩展性考虑:如何支持未来扩展
- 数据设计
设计数据存储方案:
-
数据库表结构:使用SQL DDL格式
-
索引设计:性能优化索引
-
文件存储:非结构化数据的存储方案
-
备份策略:数据安全保障
- UI规范
定义UI设计规范:
-
组件库选择:推荐使用的UI框架
-
主题配置:颜色、字体等
-
响应式设计:断点定义
-
加载状态:各种加载状态的设计
- 部署运维
设计部署和运维方案:
-
安全性设计:认证、授权、加密等
-
测试策略:单元测试、集成测试、E2E测试
-
部署方案:环境配置、CI/CD流程
-
监控方案:日志、告警、运维工具
注意事项
根据系统类型调整详细程度:
-
演示系统:简化安全性、测试、监控等非核心模块
-
生产系统:需要完整的安全、测试、监控方案
保持文档简洁:
-
每个文件控制在100-250行
-
使用表格整理结构化信息
-
避免冗余描述
文档间导航:
-
每个子文件开头添加返回README.md的链接
-
README.md包含所有子文件的索引
术语一致性:
-
在整个文档中使用一致的术语
-
避免使用容易混淆的词汇(如"模型"可能指LLM模型或数据模型)
可执行性:
-
技术方案要具体到版本号
-
数据库设计要可直接使用
-
配置示例要完整
参考模板
README.md 模板
{系统名称}
系统定位
- {系统类型和用途}
- MVP范围:{核心功能列表}
术语说明
| 术语 | 说明 |
|---|---|
| 术语1 | 定义 |
用户说明
- 用户权限:{权限说明}
- 用户画像:{目标用户}
文档索引
| 文档 | 说明 |
|---|---|
| features.md | 功能描述 |
| technical.md | 技术方案 |
| database.md | 数据库设计 |
| ui.md | UI规范 |
| deployment.md | 部署运维 |
注意事项
- {项目特定的注意事项}
features.md 模板
功能描述
返回 README.md
1. {功能模块1}
功能说明
{功能的用途和目标}
用户流程
- {步骤1}
- {步骤2}
- ...
交互设计
- {交互细节}
异常处理
- {错误处理方式}
2. {功能模块2}
...
执行检查清单
-
已识别并定义所有关键术语
-
每个功能都有完整的用户流程描述
-
技术栈版本号已明确
-
数据库表结构可直接使用
-
每个文件都有返回索引的链接
-
文档长度控制在200行以内
-
根据系统类型适当简化非核心模块