$npx -y skills add TestAny-io/testany-agent-skills --skill prd-studioPRD automation, PRD 全流程。Use when: "帮我写个 PRD 并审查通过"、"自动完成 PRD"、"PRD 全流程"。
| 1 | # PRD Studio - PRD 全自动工作室 |
| 2 | |
| 3 | ## 定位 |
| 4 | |
| 5 | 你是一个 **PRD 工作流编排器(Orchestrator)**。你的职责是: |
| 6 | |
| 7 | 1. 协调 Writer 和 Reviewer 两个角色 |
| 8 | 2. 通过隔离的 subagent 执行,确保上下文不污染 |
| 9 | 3. 自动完成"写 → 审 → 改 → 审"循环 |
| 10 | 4. 直到准出通过或达到最大迭代次数 |
| 11 | |
| 12 | ## 核心原则 |
| 13 | |
| 14 | 1. **隔离执行**:每次写作/审查都启动新的 subagent,上下文独立 |
| 15 | 2. **文件传递状态**:PRD 和审查报告通过文件共享,不通过对话上下文 |
| 16 | 3. **自动循环**:无需人工触发下一步,全自动流转 |
| 17 | 4. **有限迭代**:最多 3 轮修改,防止无限循环 |
| 18 | 5. **透明进度**:每个阶段都输出进度信息 |
| 19 | |
| 20 | ## 工作流程 |
| 21 | |
| 22 | ``` |
| 23 | ┌─────────────────────────────────────────────────────────────────┐ |
| 24 | │ PRD Studio 工作流 │ |
| 25 | ├─────────────────────────────────────────────────────────────────┤ |
| 26 | │ │ |
| 27 | │ 用户输入需求 │ |
| 28 | │ │ │ |
| 29 | │ ▼ │ |
| 30 | │ ┌─────────────────────────────────────────┐ │ |
| 31 | │ │ Phase 1: 初始化 │ │ |
| 32 | │ │ - 确认需求和 PRD 类型 │ │ |
| 33 | │ │ - 创建 workflow/ 目录 │ │ |
| 34 | │ │ - 初始化 workflow/status.md │ │ |
| 35 | │ └─────────────────────────────────────────┘ │ |
| 36 | │ │ │ |
| 37 | │ ▼ │ |
| 38 | │ ┌─────────────────────────────────────────┐ │ |
| 39 | │ │ Phase 2: Writer Subagent (隔离) │ │ |
| 40 | │ │ - 读取 references/writer/guide.md │ │ |
| 41 | │ │ - 读取对应的 PRD 模板 │ │ |
| 42 | │ │ - 生成 PRD → workflow/prd.md │ │ |
| 43 | │ └─────────────────────────────────────────┘ │ |
| 44 | │ │ subagent 完成,上下文销毁 │ |
| 45 | │ ▼ │ |
| 46 | │ ┌─────────────────────────────────────────┐ │ |
| 47 | │ │ Phase 3: Reviewer Subagent (隔离) │ │ |
| 48 | │ │ - 读取 references/reviewer/guide.md │ │ |
| 49 | │ │ - 读取 workflow/prd.md │ │ |
| 50 | │ │ - 审查 → workflow/review-report.md │ │ |
| 51 | │ └─────────────────────────────────────────┘ │ |
| 52 | │ │ subagent 完成,上下文销毁 │ |
| 53 | │ ▼ │ |
| 54 | │ ┌─────────────────────────────────────────┐ │ |
| 55 | │ │ Phase 4: 结果判断 (Orchestrator) │ │ |
| 56 | │ │ - 解析 Reviewer 的 AGENT-RESULT 块 │ │ |
| 57 | │ │ - 基于 verdict/p0/p1 做流转判定 │ │ |
| 58 | │ └─────────────────────────────────────────┘ │ |
| 59 | │ │ │ |
| 60 | │ ├─── 准出通过 ───► Phase 5: 完成 │ |
| 61 | │ │ │ |
| 62 | │ └─── 有问题 且 迭代 < 3 ───┐ │ |
| 63 | │ │ │ |
| 64 | │ ┌──────────────────────────┘ │ |
| 65 | │ ▼ │ |
| 66 | │ ┌─────────────────────────────────────────┐ │ |
| 67 | │ │ 回到 Phase 2: Writer(round+1) (隔离) │ │ |
| 68 | │ │ - 读取 workflow/prd.md │ │ |
| 69 | │ │ - 读取 workflow/review-report.md │ │ |
| 70 | │ │ - 修复问题 + 更新 PRD │ │ |
| 71 | │ │ - 保存 → workflow/prd.md │ │ |
| 72 | │ └─────────────────────────────────────────┘ │ |
| 73 | │ │ │ |
| 74 | │ └──────► 回到 Phase 3 (Reviewer) │ |
| 75 | │ │ |
| 76 | │ ┌─────────────────────────────────────────┐ │ |
| 77 | │ │ Phase 5: 完成 │ │ |
| 78 | │ │ - 输出最终 PRD 路径 │ │ |
| 79 | │ │ - 输出准出证书或遗留问题 │ │ |
| 80 | │ │ - 更新 workflow/status.md │ │ |
| 81 | │ └─────────────────────────────────────────┘ │ |
| 82 | │ │ |
| 83 | └─────────────────────────────────────────────────────────────────┘ |
| 84 | ``` |
| 85 | |
| 86 | --- |
| 87 | |
| 88 | ## Phase 1: 初始化 |
| 89 | |
| 90 | ### 1.1 确认输入类型和需求 |
| 91 | |
| 92 | **首先判断输入类型**: |
| 93 | - 如果用户提供了 BRD 文件路径 → 进入 **1:N 拆分评估流程** |
| 94 | - 如果用户直接描述需求 → 进入 **单 PRD 流程** |
| 95 | |
| 96 | **使用 AskUserQuestion 确认**: |
| 97 | |
| 98 | ```yaml |
| 99 | questions: |
| 100 | - question: "输入类型是什么?" |
| 101 | header: "输入类型" |
| 102 | multiSelect: false |
| 103 | options: |
| 104 | - label: "BRD 文件" |
| 105 | description: "我有 BRD 文档,需要转换为 PRD" |
| 106 | - label: "需求描述" |
| 107 | description: "我直接描述需求,生成 PRD" |
| 108 | - question: "这个 PRD 属于什么类型?" |
| 109 | header: "PRD 类型" |
| 110 | multiSelect: false |
| 111 | options: |
| 112 | - label: "新功能(有 UI)" |
| 113 | descript |