prd
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePRD Generator
PRD生成器
Create detailed Product Requirements Documents that are clear, actionable, and suitable for implementation.
创建清晰、可落地、适合推进实现的详细产品需求文档。
The Job
任务说明
- Receive a feature description from the user
- Ask 3-5 essential clarifying questions (with lettered options)
- Generate a structured PRD based on answers
- Save to
tasks/prd-[feature-name].md
Important: Do NOT start implementing. Just create the PRD.
- 接收用户提供的功能描述
- 提出3-5个核心澄清问题(附带字母选项)
- 基于用户回答生成结构化PRD
- 保存至
tasks/prd-[feature-name].md
重要提示: 不要开始实现功能,仅完成PRD创建即可。
Step 1: Clarifying Questions
步骤1:澄清问题
Ask only critical questions where the initial prompt is ambiguous. Focus on:
- Problem/Goal: What problem does this solve?
- Core Functionality: What are the key actions?
- Scope/Boundaries: What should it NOT do?
- Success Criteria: How do we know it's done?
仅针对初始需求描述模糊的核心问题提问,聚焦以下维度:
- 问题/目标: 该功能解决什么问题?
- 核心功能: 关键功能动作有哪些?
- 范围/边界: 哪些不属于功能覆盖范围?
- 成功标准: 如何判定功能完成?
Format Questions Like This:
问题格式参考:
1. What is the primary goal of this feature?
A. Improve user onboarding experience
B. Increase user retention
C. Reduce support burden
D. Other: [please specify]
2. Who is the target user?
A. New users only
B. Existing users only
C. All users
D. Admin users only
3. What is the scope?
A. Minimal viable version
B. Full-featured implementation
C. Just the backend/API
D. Just the UIThis lets users respond with "1A, 2C, 3B" for quick iteration. Remember to indent the options.
1. What is the primary goal of this feature?
A. Improve user onboarding experience
B. Increase user retention
C. Reduce support burden
D. Other: [please specify]
2. Who is the target user?
A. New users only
B. Existing users only
C. All users
D. Admin users only
3. What is the scope?
A. Minimal viable version
B. Full-featured implementation
C. Just the backend/API
D. Just the UI用户可以直接回复「1A, 2C, 3B」实现快速迭代,请注意为选项添加缩进。
Step 2: PRD Structure
步骤2:PRD结构
Generate the PRD with these sections:
生成的PRD需包含以下章节:
1. Introduction/Overview
1. 介绍/概览
Brief description of the feature and the problem it solves.
对功能及其解决的问题做简要描述。
2. Goals
2. 目标
Specific, measurable objectives (bullet list).
具体可衡量的目标(用无序列表展示)。
3. User Stories
3. 用户故事
Each story needs:
- Title: Short descriptive name
- Description: "As a [user], I want [feature] so that [benefit]"
- Acceptance Criteria: Verifiable checklist of what "done" means
Each story should be small enough to implement in one focused session.
Format:
markdown
undefined每个故事需包含:
- 标题: 简短的描述性名称
- 描述: 「作为[用户角色],我想要[功能],以便[获得收益]」
- 验收标准: 可验证的完成条件 checklist
每个用户故事的粒度应足够小,可在一个专注的工作周期内完成。
格式:
markdown
undefinedUS-001: [Title]
US-001: [Title]
Description: As a [user], I want [feature] so that [benefit].
Acceptance Criteria:
- Specific verifiable criterion
- Another criterion
- Typecheck/lint passes
- [UI stories only] Verify in browser using dev-browser skill
**Important:**
- Acceptance criteria must be verifiable, not vague. "Works correctly" is bad. "Button shows confirmation dialog before deleting" is good.
- **For any story with UI changes:** Always include "Verify in browser using dev-browser skill" as acceptance criteria. This ensures visual verification of frontend work.Description: As a [user], I want [feature] so that [benefit].
Acceptance Criteria:
- Specific verifiable criterion
- Another criterion
- Typecheck/lint passes
- [UI stories only] Verify in browser using dev-browser skill
**重要提示:**
- 验收标准必须可验证,不能模糊。「正常运行」是不合格的表述,「删除前按钮会弹出确认对话框」是合格表述。
- **所有涉及UI变更的故事:** 必须将「Verify in browser using dev-browser skill」加入验收标准,确保前端工作的视觉验证完成。4. Functional Requirements
4. 功能需求
Numbered list of specific functionalities:
- "FR-1: The system must allow users to..."
- "FR-2: When a user clicks X, the system must..."
Be explicit and unambiguous.
用编号列表列出具体功能:
- 「FR-1:系统必须允许用户...」
- 「FR-2:当用户点击X时,系统必须...」
表述需清晰无歧义。
5. Non-Goals (Out of Scope)
5. 非目标(超出范围)
What this feature will NOT include. Critical for managing scope.
明确该功能不会包含的内容,对范围管控至关重要。
6. Design Considerations (Optional)
6. 设计考量(可选)
- UI/UX requirements
- Link to mockups if available
- Relevant existing components to reuse
- UI/UX需求
- 如有原型图可附上链接
- 可复用的现有相关组件
7. Technical Considerations (Optional)
7. 技术考量(可选)
- Known constraints or dependencies
- Integration points with existing systems
- Performance requirements
- 已知约束或依赖
- 与现有系统的集成点
- 性能要求
8. Success Metrics
8. 成功指标
How will success be measured?
- "Reduce time to complete X by 50%"
- "Increase conversion rate by 10%"
如何衡量功能的成功?
- 「完成X操作的时间减少50%」
- 「转化率提升10%」
9. Open Questions
9. 待确认问题
Remaining questions or areas needing clarification.
剩余待澄清的问题或待明确的领域。
Writing for Junior Developers
面向初级开发者的编写要求
The PRD reader may be a junior developer or AI agent. Therefore:
- Be explicit and unambiguous
- Avoid jargon or explain it
- Provide enough detail to understand purpose and core logic
- Number requirements for easy reference
- Use concrete examples where helpful
PRD的读者可能是初级开发者或AI Agent,因此需要:
- 表述清晰无歧义
- 避免行话,必要时做解释
- 提供足够细节说明功能目的和核心逻辑
- 对需求编号方便引用
- 必要时提供具体示例
Output
输出要求
- Format: Markdown ()
.md - Location:
tasks/ - Filename: (kebab-case)
prd-[feature-name].md
- 格式: Markdown()
.md - 存储位置:
tasks/ - 文件名: (使用kebab-case命名)
prd-[feature-name].md
Example PRD
PRD示例
markdown
undefinedmarkdown
undefinedPRD: Task Priority System
PRD: Task Priority System
Introduction
Introduction
Add priority levels to tasks so users can focus on what matters most. Tasks can be marked as high, medium, or low priority, with visual indicators and filtering to help users manage their workload effectively.
Add priority levels to tasks so users can focus on what matters most. Tasks can be marked as high, medium, or low priority, with visual indicators and filtering to help users manage their workload effectively.
Goals
Goals
- Allow assigning priority (high/medium/low) to any task
- Provide clear visual differentiation between priority levels
- Enable filtering and sorting by priority
- Default new tasks to medium priority
- Allow assigning priority (high/medium/low) to any task
- Provide clear visual differentiation between priority levels
- Enable filtering and sorting by priority
- Default new tasks to medium priority
User Stories
User Stories
US-001: Add priority field to database
US-001: Add priority field to database
Description: As a developer, I need to store task priority so it persists across sessions.
Acceptance Criteria:
- Add priority column to tasks table: 'high' | 'medium' | 'low' (default 'medium')
- Generate and run migration successfully
- Typecheck passes
Description: As a developer, I need to store task priority so it persists across sessions.
Acceptance Criteria:
- Add priority column to tasks table: 'high' | 'medium' | 'low' (default 'medium')
- Generate and run migration successfully
- Typecheck passes
US-002: Display priority indicator on task cards
US-002: Display priority indicator on task cards
Description: As a user, I want to see task priority at a glance so I know what needs attention first.
Acceptance Criteria:
- Each task card shows colored priority badge (red=high, yellow=medium, gray=low)
- Priority visible without hovering or clicking
- Typecheck passes
- Verify in browser using dev-browser skill
Description: As a user, I want to see task priority at a glance so I know what needs attention first.
Acceptance Criteria:
- Each task card shows colored priority badge (red=high, yellow=medium, gray=low)
- Priority visible without hovering or clicking
- Typecheck passes
- Verify in browser using dev-browser skill
US-003: Add priority selector to task edit
US-003: Add priority selector to task edit
Description: As a user, I want to change a task's priority when editing it.
Acceptance Criteria:
- Priority dropdown in task edit modal
- Shows current priority as selected
- Saves immediately on selection change
- Typecheck passes
- Verify in browser using dev-browser skill
Description: As a user, I want to change a task's priority when editing it.
Acceptance Criteria:
- Priority dropdown in task edit modal
- Shows current priority as selected
- Saves immediately on selection change
- Typecheck passes
- Verify in browser using dev-browser skill
US-004: Filter tasks by priority
US-004: Filter tasks by priority
Description: As a user, I want to filter the task list to see only high-priority items when I'm focused.
Acceptance Criteria:
- Filter dropdown with options: All | High | Medium | Low
- Filter persists in URL params
- Empty state message when no tasks match filter
- Typecheck passes
- Verify in browser using dev-browser skill
Description: As a user, I want to filter the task list to see only high-priority items when I'm focused.
Acceptance Criteria:
- Filter dropdown with options: All | High | Medium | Low
- Filter persists in URL params
- Empty state message when no tasks match filter
- Typecheck passes
- Verify in browser using dev-browser skill
Functional Requirements
Functional Requirements
- FR-1: Add field to tasks table ('high' | 'medium' | 'low', default 'medium')
priority - FR-2: Display colored priority badge on each task card
- FR-3: Include priority selector in task edit modal
- FR-4: Add priority filter dropdown to task list header
- FR-5: Sort by priority within each status column (high to medium to low)
- FR-1: Add field to tasks table ('high' | 'medium' | 'low', default 'medium')
priority - FR-2: Display colored priority badge on each task card
- FR-3: Include priority selector in task edit modal
- FR-4: Add priority filter dropdown to task list header
- FR-5: Sort by priority within each status column (high to medium to low)
Non-Goals
Non-Goals
- No priority-based notifications or reminders
- No automatic priority assignment based on due date
- No priority inheritance for subtasks
- No priority-based notifications or reminders
- No automatic priority assignment based on due date
- No priority inheritance for subtasks
Technical Considerations
Technical Considerations
- Reuse existing badge component with color variants
- Filter state managed via URL search params
- Priority stored in database, not computed
- Reuse existing badge component with color variants
- Filter state managed via URL search params
- Priority stored in database, not computed
Success Metrics
Success Metrics
- Users can change priority in under 2 clicks
- High-priority tasks immediately visible at top of lists
- No regression in task list performance
- Users can change priority in under 2 clicks
- High-priority tasks immediately visible at top of lists
- No regression in task list performance
Open Questions
Open Questions
- Should priority affect task ordering within a column?
- Should we add keyboard shortcuts for priority changes?
---- Should priority affect task ordering within a column?
- Should we add keyboard shortcuts for priority changes?
---Checklist
检查清单
Before saving the PRD:
- Asked clarifying questions with lettered options
- Incorporated user's answers
- User stories are small and specific
- Functional requirements are numbered and unambiguous
- Non-goals section defines clear boundaries
- Saved to
tasks/prd-[feature-name].md
保存PRD前确认:
- 已提出附带字母选项的澄清问题
- 已整合用户的回答内容
- 用户故事粒度小且描述具体
- 功能需求已编号且表述无歧义
- 非目标章节明确了范围边界
- 已保存至
tasks/prd-[feature-name].md