prd-planner by charon-fan/agent-playbook
npx skills add https://github.com/charon-fan/agent-playbook --skill prd-planner一个使用基于文件的持久化规划来保持连贯思维、避免“左脑与右脑”上下文切换问题的 PRD 创建技能。
当您出现以下情况时,此技能将被激活:
如果用户提到“design solution”或“architecture design”但没有提及 PRD,请使用 architecting-solutions 技能。
“PRD 的创建应该是可追溯的、连贯的和持久的——而不是在上下文切换中变得零散。”
此技能结合了:
旨在创建一个单一的、连贯的 PRD 创建工作流,不会丢失上下文。
对于每个 PRD 项目,创建四个文件:
选择一个 SCOPE(简短、唯一、短横线分隔的标识符)并将其用作所有文件的前缀。
docs/{scope}-prd-notes.md → 存储研究、需求、发现、备选方案
docs/{scope}-prd-task-plan.md → 跟踪 PRD 创建阶段和进度
docs/{scope}-prd.md → 产品需求(是什么及为什么)
docs/{scope}-tech.md → 技术设计(如何做)
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 文件 | 用途 | 受众 | 更新时间 |
|---|---|---|---|
{scope}-prd-notes.md | 原始研究、需求、架构备选方案(A/B/C) | 自己 + 评审者 | 收集到新信息时 |
{scope}-prd-task-plan.md | 跟踪进度、阶段、复选框、时间戳 | 项目经理 + 开发负责人 | 每个阶段完成时 |
{scope}-prd.md | 产品需求(是什么及为什么)、用户流程 | 项目经理 + 利益相关者 + 开发者 | 需求明确后 |
{scope}-tech.md | 技术设计(API、数据流、实现) | 开发者 + 架构师 | 架构确定后 |
┌─────────────────────────────────────────────────────────────────┐
│ PRD 创建工作流 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. 初始化 → 使用模板创建 4 个文件 │
│ 2. 需求 → 收集到 {scope}-prd-notes.md │
│ 2.5 边界情况 → 扫描代码库,推断模式,智能提问 │
│ 3. 分析 → 研究最佳实践,保存到笔记 │
│ 4. 设计 → 提出架构备选方案(A/B/C),保存到笔记 │
│ 5. PRD → 将产品需求写入 {scope}-prd.md │
│ 6. 技术设计 → 将技术设计写入 {scope}-tech.md │
│ 7. 验证 → 与用户评审,最终定稿 │
│ │
└─────────────────────────────────────────────────────────────────┘
↓
所有思考过程持久化到文件
↓
无需上下文切换
使用模板创建四个文件:
# PRD 任务计划:{功能名称}
## 目标
为 {功能描述} 创建 PRD 和技术设计。
## 负责人
{用户姓名/角色}
## 阶段
- [x] 阶段 1:初始化文件 ✓
- [ ] 阶段 2:收集需求 (当前)
- [ ] 阶段 3:研究与分析
- [ ] 阶段 4:设计方案
- [ ] 阶段 5:撰写 PRD
- [ ] 阶段 6:撰写技术设计
- [ ] 阶段 7:验证与定稿
## 状态
**当前处于阶段 2** - 正在从用户处收集需求
## 进度日志
- {时间戳} - 阶段 1 完成:文件已初始化
# PRD 笔记:{功能名称}
## 原始需求
(随着用户需求的浮现而添加)
## 约束条件
(添加技术、业务、时间约束)
## 推断的模式(来自代码库)
| 边界情况 | 来源 | 应用的模式 |
|-----------|--------|-----------------|
| (在步骤 2.5 代码库扫描后填写) | | |
## 边界情况
### 自动处理(遵循代码库模式)
- (在步骤 2.5 分析后填写)
### 用户确认
- (在用户确认边界情况决策后填写)
### 待解决问题
- (记录需要询问用户的问题)
## 研究发现
(添加关于最佳实践、类似解决方案的研究)
## 架构备选方案
- 方案 A:{描述}
- 优点:{优势}
- 缺点:{劣势}
- 方案 B:{描述}
- 优点:{优势}
- 缺点:{劣势}
- 方案 C:{描述}
- 优点:{优势}
- 缺点:{劣势}
**已选择**:方案 {X}
# PRD:{功能名称}
> 状态:草稿
> 最后更新:{时间戳}
## 目录
- [问题陈述](#问题陈述)
- [目标与非目标](#目标与非目标)
- [成功标准](#成功标准)
- [范围](#范围)
- [需求](#需求)
- [用户流程](#用户流程)
- [实施计划](#实施计划)
---
## 问题陈述
_需求收集后填写_
## 目标与非目标
### 目标
- {具体可实现的成果}
### 非目标
- {明确排除的事项}
## 成功标准
_填写可衡量的标准_
## 范围
### 范围内
- {包含的具体事项}
### 范围外
- {排除的具体事项}
...(PRD 其余部分)
# 技术设计:{功能名称}
> 状态:草稿
> 最后更新:{时间戳}
## 概述
{高层次技术方案}
## 关键组件
{列出主要组件及其职责}
## API 设计
{API 签名、请求/响应格式}
## 数据流
{数据如何在系统中流动}
## 实现细节
{具体的实现说明}
## 迁移计划
{如果适用,如何从现有系统迁移}
提出澄清性问题并将回答保存到 {scope}-prd-notes.md:
将每个答案保存到 {scope}-prd-notes.md 的相应部分。
收集信息后,始终更新 {scope}-prd-task-plan.md:
- [x] 阶段 2:收集需求 ✓
- [ ] 阶段 2.5:边界情况分析 (当前)
- [ ] 阶段 3:研究与分析
在询问用户关于边界情况之前,首先扫描代码库以推断现有模式。这可以减少冗余问题并确保与项目的一致性。
详细参考:完整扫描命令和输出格式请参见
references/edge-case-analysis.md。
| 条件 | 操作 |
|---|---|
| 代码库中存在模式 | 自动应用,无需提问 |
| 未找到先例 | 向用户提问并提供选项 |
| 存在多个冲突的模式 | 请用户选择 |
| 需要业务规则 | 询问用户 |
更新 {scope}-prd-notes.md:
## 推断的模式(来自代码库)
| 边界情况 | 来源 | 应用的模式 |
|-----------|--------|-----------------|
| 删除 | `src/models/User.ts:45` | 软删除 |
## 边界情况
### 自动处理(遵循代码库模式)
- 空列表 → 使用现有的 EmptyState 组件
### 用户确认
- 并发编辑:最后写入获胜(于 {日期} 确认)
更新任务计划:
- [x] 阶段 2.5:边界情况分析 ✓
- [ ] 阶段 3:研究与分析 (当前)
研究最佳实践并保存到 {scope}-prd-notes.md:
# 搜索类似实现
grep -r "keyword" packages/ --include="*.ts"
# 搜索网络最佳实践
web search "best practices for {feature}"
将发现保存到 {scope}-prd-notes.md → 研究发现部分。
提出包含权衡的架构,保存到 {scope}-prd-notes.md:
## 架构备选方案
- 方案 A:{描述}
- 优点:{优势}
- 缺点:{劣势}
- 方案 B:{描述}
- 优点:{优势}
- 缺点:{劣势}
- 方案 C:{描述}
- 优点:{优势}
- 缺点:{劣势}
**已选择**:方案 {X} - 因为 {原因}
阅读 {scope}-prd-notes.md 并综合成完善的 PRD:
1. 阅读 {scope}-prd-notes.md 以理解:
- 收集的需求
- 研究发现
- 架构决策(选择了哪个方案)
2. 撰写 {scope}-prd.md,包含:
- 清晰的问题陈述
- 目标与非目标(明确排除项)
- 可衡量的成功标准(具体数字/时间)
- 范围(范围内 / 范围外)
- 功能需求
- 非功能需求
- 用户流程
- 实施计划(高层次)
3. 引用技术文档:“技术设计请参见 {scope}-tech.md”
1. 阅读 {scope}-prd-notes.md 了解选定的架构方案
2. 撰写 {scope}-tech.md,包含:
- 概述(技术方案总结)
- 关键组件(有哪些部分,职责)
- API 设计(签名、契约)
- 数据流(数据如何在系统中移动)
- 实现细节(具体说明)
- 迁移计划(如果适用)
与用户评审:
| 规则 | 错误做法 | 正确做法 |
|---|---|---|
| 使用文件 | 保存在内存中 | 保存到 {scope}-prd-notes.md |
| 更新计划 | 不更新就继续 | 使用复选框更新 task-plan.md |
| 决策前阅读 | 凭记忆决策 | 先阅读笔记 |
| 文档分离 | 混合 PRD 与技术设计 | PRD 说明“是什么”,技术设计说明“如何做” |
| 包含备选方案 | 直接跳到解决方案 | 记录 2-3 个备选方案及其优缺点 |
每个阶段完成后,使用复选框 ✓ 和时间戳更新 {scope}-prd-task-plan.md。
标记所有阶段完成,将状态设置为“✅ 完成”,记录最终交付物。
PRD 完成后:
{scope}-prd-notes.md 供参考(展示决策过程){scope}-prd-task-plan.md{scope}-prd.md 和 {scope}-tech.md# PRD 任务计划:{功能}
## 目标
为 {描述} 创建 PRD 和技术设计
## 阶段
- [ ] 初始化 4 个文件
- [ ] 收集需求
- [ ] 研究与分析
- [ ] 设计方案(A/B/C 备选方案)
- [ ] 撰写 PRD
- [ ] 撰写技术设计
- [ ] 验证与定稿
## 状态
阶段 1:正在初始化文件
| 问题 | 解决方案 |
|---|---|
| 上下文切换 | 所有思考都在文件中,随时可读 |
| 需求丢失 | 立即保存到 {scope}-prd-notes.md |
| PRD 不一致 | 相同流程,相同结构 |
| “左脑与右脑”冲突 | 一个连贯的工作流 |
| 重复解释上下文 | 文件包含完整上下文 |
| 关注点混合 | PRD(产品)与技术设计(实现)分离 |
| 隐藏的决策 | 架构备选方案 A/B/C 均有记录 |
references/edge-case-analysis.md当此技能完成时,自动触发:
每周安装数
96
代码仓库
GitHub 星标数
11
首次出现
2026年1月22日
安全审计
安装于
opencode80
codex78
gemini-cli77
cursor74
github-copilot66
claude-code60
A PRD creation skill that uses persistent file-based planning to maintain coherent thinking and avoid "left-brain vs right-brain" context switching issues.
This skill activates when you:
If user says "design solution" or "architecture design" without mentioning PRD, usearchitecting-solutions instead.
"PRD creation should be traceable, coherent, and persistent - not scattered across context switches."
This skill combines:
To create a single, coherent PRD creation workflow that doesn't lose context.
For every PRD project, create FOUR files:
Pick a SCOPE (short, unique, kebab-case slug) and use it as a prefix for all files.
docs/{scope}-prd-notes.md → Store research, requirements, findings, options
docs/{scope}-prd-task-plan.md → Track PRD creation phases and progress
docs/{scope}-prd.md → Product requirements (what & why)
docs/{scope}-tech.md → Technical design (how)
| File | Purpose | Audience | Updated When |
|---|---|---|---|
{scope}-prd-notes.md | Raw research, requirements, architecture options (A/B/C) | Self + reviewers | New information gathered |
{scope}-prd-task-plan.md | Track progress, phases, checkboxes, timestamps | PM + dev lead | Each phase completion |
{scope}-prd.md | Product requirements (what & why), user flows | PM + stakeholders + devs | After requirements are clear |
{scope}-tech.md | Technical design (API, data flow, implementation) |
┌─────────────────────────────────────────────────────────────────┐
│ PRD Creation Workflow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Initialize → Create 4 files with template │
│ 2. Requirements → Gather to {scope}-prd-notes.md │
│ 2.5 Edge Cases → Scan codebase, infer patterns, ask smartly │
│ 3. Analysis → Research best practices, save to notes │
│ 4. Design → Propose architecture options (A/B/C), save to notes │
│ 5. PRD → Write product requirements to {scope}-prd.md │
│ 6. Tech → Write technical design to {scope}-tech.md │
│ 7. Validate → Review with user, finalize │
│ │
└─────────────────────────────────────────────────────────────────┘
↓
All thinking persisted to files
↓
No context switching
Create the four files with templates:
# PRD Task Plan: {Feature Name}
## Goal
Create a PRD and technical design for {feature description}.
## Owner
{User name/role}
## Phases
- [x] Phase 1: Initialize files ✓
- [ ] Phase 2: Gather requirements (CURRENT)
- [ ] Phase 3: Research & analysis
- [ ] Phase 4: Design solution
- [ ] Phase 5: Write PRD
- [ ] Phase 6: Write technical design
- [ ] Phase 7: Validate & finalize
## Status
**Currently in Phase 2** - Gathering requirements from user
## Progress Log
- {timestamp} - Phase 1 complete: Files initialized
# PRD Notes: {Feature Name}
## Raw Requirements
(Add user requirements as they emerge)
## Constraints
(Add technical, business, time constraints)
## Inferred Patterns (from codebase)
| Edge Case | Source | Pattern Applied |
|-----------|--------|-----------------|
| (Filled after Step 2.5 codebase scan) | | |
## Edge Cases
### Auto-handled (following codebase patterns)
- (Filled after Step 2.5 analysis)
### Confirmed by User
- (Filled after user confirms edge case decisions)
### Open Questions
- (Track questions to ask user)
## Research Findings
(Add research on best practices, similar solutions)
## Architecture Options
- Option A: {Description}
- Pros: {Advantages}
- Cons: {Disadvantages}
- Option B: {Description}
- Pros: {Advantages}
- Cons: {Disadvantages}
- Option C: {Description}
- Pros: {Advantages}
- Cons: {Disadvantages}
**Selected**: Option {X}
# PRD: {Feature Name}
> Status: DRAFT
> Last updated: {timestamp}
## Table of Contents
- [Problem Statement](#problem-statement)
- [Goals and Non-Goals](#goals-and-non-goals)
- [Success Criteria](#success-criteria)
- [Scope](#scope)
- [Requirements](#requirements)
- [User Flows](#user-flows)
- [Implementation Plan](#implementation-plan)
---
## Problem Statement
_To be filled after requirements gathering_
## Goals and Non-Goals
### Goals
- {Specific achievable outcomes}
### Non-Goals
- {Explicit exclusions}
## Success Criteria
_To be filled with measurable criteria_
## Scope
### In Scope
- {Specific items included}
### Out of Scope
- {Specific items excluded}
... (rest of PRD sections)
# Technical Design: {Feature Name}
> Status: DRAFT
> Last updated: {timestamp}
## Overview
{High-level technical approach}
## Key Components
{List major components and their responsibilities}
## API Design
{API signatures, request/response formats}
## Data Flow
{How data flows through the system}
## Implementation Details
{Specific implementation notes}
## Migration Plan
{If applicable, how to migrate from existing system}
Ask clarifying questions and save responses to {scope}-prd-notes.md:
Save each answer to {scope}-prd-notes.md under appropriate section.
Always update{scope}-prd-task-plan.md after gathering info:
- [x] Phase 2: Gather requirements ✓
- [ ] Phase 2.5: Edge case analysis (CURRENT)
- [ ] Phase 3: Research & analysis
Before asking users about edge cases, scan the codebase first to infer existing patterns. This reduces redundant questions and ensures consistency with the project.
Detailed reference : See
references/edge-case-analysis.mdfor full scanning commands and output formats.
| Condition | Action |
|---|---|
| Pattern exists in codebase | Auto-apply, no question needed |
| No precedent found | Ask user with options |
| Multiple conflicting patterns | Ask user to choose |
| Business rule required | Ask user |
Update {scope}-prd-notes.md with:
## Inferred Patterns (from codebase)
| Edge Case | Source | Pattern Applied |
|-----------|--------|-----------------|
| Delete | `src/models/User.ts:45` | Soft delete |
## Edge Cases
### Auto-handled (following codebase patterns)
- Empty list → Use existing EmptyState component
### Confirmed by User
- Concurrent edit: Last write wins (confirmed {date})
Update task plan:
- [x] Phase 2.5: Edge case analysis ✓
- [ ] Phase 3: Research & analysis (CURRENT)
Research best practices and save to {scope}-prd-notes.md:
# Search for similar implementations
grep -r "keyword" packages/ --include="*.ts"
# Search web for best practices
web search "best practices for {feature}"
Save findings to {scope}-prd-notes.md → Research Findings section.
Propose architecture with trade-offs, save to {scope}-prd-notes.md:
## Architecture Options
- Option A: {Description}
- Pros: {Advantages}
- Cons: {Disadvantages}
- Option B: {Description}
- Pros: {Advantages}
- Cons: {Disadvantages}
- Option C: {Description}
- Pros: {Advantages}
- Cons: {Disadvantages}
**Selected**: Option {X} - because {reason}
Read {scope}-prd-notes.md and synthesize into polished PRD:
1. Read {scope}-prd-notes.md to understand:
- Requirements gathered
- Research findings
- Architecture decision (which option was selected)
2. Write {scope}-prd.md with:
- Clear problem statement
- Goals and Non-Goals (explicit exclusions)
- Measurable success criteria (specific numbers/timings)
- Scope (In Scope / Out of Scope)
- Functional requirements
- Non-functional requirements
- User flows
- Implementation plan (high level)
3. Reference tech doc: "See {scope}-tech.md for technical design"
1. Read {scope}-prd-notes.md for selected architecture option
2. Write {scope}-tech.md with:
- Overview (technical approach summary)
- Key Components (what pieces, responsibilities)
- API Design (signatures, contracts)
- Data Flow (how data moves through system)
- Implementation Details (specific notes)
- Migration Plan (if applicable)
Review with user:
| Rule | Bad | Good |
|---|---|---|
| Use Files | Keep in memory | Save to {scope}-prd-notes.md |
| Update Plan | Move on without update | Update task-plan.md with checkbox |
| Read Before Decide | Decide from memory | Read notes first |
| Separate Docs | Mix PRD + Tech | PRD for "what", Tech for "how" |
| Include Options | Jump to solution | Document 2-3 options with pros/cons |
Update {scope}-prd-task-plan.md after each phase with checkbox ✓ and timestamp.
Mark all phases complete, set status to "✅ COMPLETE", log final deliverables.
After PRD is complete:
{scope}-prd-notes.md for reference (shows decision process){scope}-prd-task-plan.md or delete{scope}-prd.md and {scope}-tech.md# PRD Task Plan: {Feature}
## Goal
Create PRD and technical design for {description}
## Phases
- [ ] Initialize 4 files
- [ ] Gather requirements
- [ ] Research & analysis
- [ ] Design solution (A/B/C options)
- [ ] Write PRD
- [ ] Write technical design
- [ ] Validate & finalize
## Status
Phase 1: Initializing files
| Problem | Solution |
|---|---|
| Context switching | All thinking in files, read anytime |
| Lost requirements | Saved to {scope}-prd-notes.md immediately |
| Inconsistent PRDs | Same process, same structure |
| "Left brain vs right brain" | One coherent workflow |
| Re-explaining context | Files contain full context |
| Mixed concerns | PRD (product) separate from Tech (implementation) |
| Hidden decisions | Architecture options A/B/C documented |
references/edge-case-analysis.mdWhen this skill completes, automatically trigger:
Weekly Installs
96
Repository
GitHub Stars
11
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykFail
Installed on
opencode80
codex78
gemini-cli77
cursor74
github-copilot66
claude-code60
注册流程转化率优化指南:减少摩擦、提高完成率的专家技巧
25,700 周安装
| Developers + architects |
| After architecture is decided |