--- name: prd-to-plan description: 使用 tracer-bullet 竖向切片方法把 PRD 转换成多阶段的落地实施计划,并保存为本地 Markdown 文件(存放在 `./plans/`)。适用于用户希望把 PRD 拆分为多个阶段、生成实施计划、从 PRD 推导阶段计划,或提到 “tracer bullets”。 --- # PRD 转计划(PRD to Plan) 使用竖向切片(tracer bullet)把 PRD 拆分为分阶段的实施计划。输出会写成 `./plans/` 目录下的一份 Markdown 文件。 ## 流程(Process) ### 1. 确认 PRD 已在上下文中 PRD 应当已经出现在对话中。若没有,请让用户粘贴 PRD,或指出文件位置。 ### 2. 探索代码库 如果你还没有探索代码库,可以先探索以理解当前架构、既有模式以及集成层(integration layers)。 ### 3. 识别可持续的架构决策 在开始切片之前,先识别那些在实现过程中不太会改变的高层决策,并把它们放在计划的开头,方便每个阶段都能引用: - 路由结构 / URL 模式 - 数据库 schema 的形状 - 核心数据模型 - 身份认证 / 授权的方案 - 第三方服务的边界 ### 4. 起草竖向切片 把 PRD 拆成 **tracer bullet** 阶段。每个阶段都是一个薄的“贯穿式竖向切片”:它要切穿所有集成层的端到端闭环,而不是只对某一层做横向拆分。 - 每个切片都要提供一条狭窄但完整的路径(覆盖 schema、API、UI、tests) - 完成的切片应当可演示或可独立验证 - 相比少数几个很厚的切片,更倾向于使用许多更薄的切片 - 不要包含那些很可能随后续阶段而变化的具体文件名、函数名或实现细节 - 但要包含“耐久/可持续”的决策:如路由路径、schema 形状、数据模型名称 ### 5. 让用户确认 把你建议的阶段拆分以“编号列表”的形式呈现。对每个阶段展示: - **标题(Title)**:简短且描述性的名称 - **覆盖的用户故事(User stories covered)**:该阶段对应 PRD 中哪些用户故事 并向用户提问: - 这个粒度是否合适?(太粗 / 太细) - 是否需要合并或进一步拆分某些阶段? 根据用户反馈进行迭代,直到用户认可拆分结果。 ### 6. 编写计划文件 如果 `./plans/` 目录不存在,请先创建。然后把计划写成 Markdown 文件,文件名以功能名命名(例如:`./plans/user-onboarding.md`)。使用如下模板: # 计划: > 来源 PRD:<简要标识或链接> ## 架构决策 贯穿所有阶段的可持续决策: - **路由(Routes)**:... - **Schema**:... - **关键模型(Key models)**:... - (按需增删章节) --- ## 阶段 1: **用户故事(User stories)**:<从 PRD 提取的列表> ### 需要构建什么(What to build) 对该竖向切片的简洁描述。描述端到端的行为,而不是按层逐一解释实现方式。 ### 验收标准(Acceptance criteria) - [ ] 验收点 1 - [ ] 验收点 2 - [ ] 验收点 3 --- ## 阶段 2:<Title> **用户故事(User stories)**:<从 PRD 提取的列表> ### 需要构建什么(What to build) ... ### 验收标准(Acceptance criteria) - [ ] ... <!-- 为每个阶段重复 --> </plan-template>