prd

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

PRD Generator

PRD生成器

Create detailed Product Requirements Documents that are clear, actionable, and suitable for implementation.

创建清晰、可落地、适合推进实现的详细产品需求文档。

The Job

任务说明

  1. Receive a feature description from the user
  2. Ask 3-5 essential clarifying questions (with lettered options)
  3. Generate a structured PRD based on answers
  4. Save to
    tasks/prd-[feature-name].md
Important: Do NOT start implementing. Just create the PRD.

  1. 接收用户提供的功能描述
  2. 提出3-5个核心澄清问题(附带字母选项)
  3. 基于用户回答生成结构化PRD
  4. 保存至
    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 UI
This 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
undefined

US-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:
    prd-[feature-name].md
    (kebab-case)

  • 格式: Markdown(
    .md
  • 存储位置:
    tasks/
  • 文件名:
    prd-[feature-name].md
    (使用kebab-case命名)

Example PRD

PRD示例

markdown
undefined
markdown
undefined

PRD: 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
    priority
    field to tasks table ('high' | 'medium' | 'low', default 'medium')
  • 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
    priority
    field to tasks table ('high' | 'medium' | 'low', default 'medium')
  • 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