# Prd

> 为新功能生成产品需求文档（PRD）。当你需要规划功能、启动新项目、整理模糊需求、撰写需求文档时使用。触发示例：创建 prd、写需求文档、规划这个功能、整理需求、输出产品方案。

- Skill: `xyx593999449-ai/prd` (Agent Skill)
- Install (CLI): `npx skillmds@latest add xyx593999449-ai/prd`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xyx593999449-ai/prd/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: xyx593999449-ai (https://skillmd.com/u/xyx593999449-ai)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/xyx593999449-ai/prd

---


# PRD 生成器

生成结构清晰、可执行、适合后续实现的 PRD 文档。

本 skill 使用纯 `SKILL.md` 工作流编写，可被 Codex 及其他兼容运行时直接发现，无需依赖 marketplace 专属元数据。

## 工作流

**输入：** 用户给出的功能想法、项目目标或变更需求。

1. 接收用户的功能描述。
2. 如果需求仍然模糊，提出 3-5 个必要澄清问题，优先使用带字母选项的形式。
3. 根据回答生成结构化 PRD。
4. 将结果保存为 `tasks/prd-[feature-name].md`。

**重要：** 不要开始实现，只负责生成 PRD。

## 第一步：澄清问题

只问真正影响范围和落地方式的问题，重点关注：

- **目标 / 问题：** 这个功能解决什么问题？
- **核心能力：** 用户最关键的动作是什么？
- **范围边界：** 明确哪些内容不在本次范围内。
- **完成标准：** 如何判断功能已经完成？

推荐提问格式：

```text
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. 用户故事
每个用户故事需要包含：

- **标题**：简短明确
- **描述**：采用 “作为一个 [用户]，我想要 [能力]，以便 [收益]”
- **验收标准**：必须可验证，避免模糊描述

每个故事都要足够小，能在一次专注实现中完成。

推荐格式：

```markdown
### 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/` 不存在，先创建该目录

## 示例

```markdown
# 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`

