PRD Workflow(完整 PRD 工作流)
版本: v4.2.5
作者: gotomanutd
更新日期: 2026-04-08
ClawHub: clawhub install prd-workflow
🎯 定位
一站式 PRD 生成技能 - 从模糊需求到完整 PRD 文档 + 流程图 + Word 导出
🔄 2 阶段执行模式
prd-workflow 采用2 阶段执行模式,正确理解这是使用本技能的关键!
阶段 0:访谈(OpenClaw AI 手动执行)
CODEBLOCK0
为什么需要阶段 0?
- - ✅ 访谈需要和用户实时交互(逐个提问 → 等用户回答 → 追问)
- ✅ 这是同步交互,不是异步任务
- ✅ 子代理无法进行访谈(不能等待用户回答)
- ✅ 所以访谈必须在当前会话由 OpenClaw AI 自己完成
核心指令:
CODEBLOCK1
访谈维度(6 个维度,16-50 个问题):
| 维度 | 问题数 | 示例问题 |
|---|
| 产品定位 | 3-5 个 | 目标用户是谁?使用场景? |
| 核心功能 |
3-5 个 | 是否需要产品推荐?数据来源? |
|
合规要求 | 3-5 个 | 是否需要风险测评?适当性管理? |
|
技术约束 | 3-5 个 | 使用渠道?现有系统?上线时间? |
|
业务目标 | 2-3 个 | 解决什么痛点?成功指标? |
|
用户场景 | 2-5 个 | 谁在什么时候使用?使用频率? |
访谈完成条件:
- - ✅ 至少问了 16 个问题
- ✅ 覆盖了 6 个维度
- ✅ 构建了完整的 sharedUnderstanding
- ✅ 用户确认理解正确
输出格式:
{
"sharedUnderstanding": {
"summary": "需求总结",
"productPositioning": { "targetUsers": "目标用户", ... },
"coreFeatures": ["核心功能 1", "核心功能 2"],
"complianceRequirements": ["合规要求 1", "合规要求 2"]
},
"keyDecisions": [
{ "id": "d1", "topic": "决策主题", "decision": "决策内容", "rationale": "决策理由" }
],
"questions": [
{ "question": "问题", "answer": "答案", "followUp": "追问" }
]
}
阶段 1:工作流(executeForAI 自动执行)
CODEBLOCK3
执行流程:
CODEBLOCK4
关键区分:
- - 访谈过程:OpenClaw AI 手动执行(在 executeForAI 之前)
- interview_module:代码模块,只检查 interview.json(在 executeForAI 之内)
📋 是否需要访谈?
判断流程:
CODEBLOCK5
场景对比:
| 场景 | 是否需要访谈 | 访谈方式 | 问题数量 |
|---|
| 首次生成(无文档) | ✅ 需要 | 完整访谈 | 16-50 个 |
| 首次生成(有文档) |
⚠️ 简化 | 快速确认 | 3-5 个 |
|
迭代修改 | ❌ 不需要 | 复用已有 | 0 个 |
|
追加功能 | ❌ 不需要 | 复用已有 | 0 个 |
|
只评审/导出 | ❌ 不需要 | 跳过 | 0 个 |
🚀 使用方法
⚠️ 重要提示
正确启动方式:
CODEBLOCK6
错误方式:
CODEBLOCK7
为什么:
- -
/skill 命令用于查看技能说明(类似 man 命令) - 自然语言调用("用 XXX 做 YYY")才会真正执行技能代码
- prd-workflow 是工作流引擎,需要调用
executeForAI 才能启动完整流程
基础用法
| 场景 | 命令示例 | 执行流程 |
|---|
| 首次生成 | INLINECODE4 | 阶段 0(访谈)→ 阶段 1(工作流) |
| 完整流程 |
用 prd-workflow 生成养老规划功能的完整 PRD | 阶段 0(访谈)→ 阶段 1(工作流) |
|
快速版 |
用 prd-workflow 快速生成 PRD | 阶段 0(简化访谈)→ 阶段 1(lite 流程) |
|
只评审 |
用 prd-workflow 评审已有的 PRD | 阶段 1(review-only,跳过访谈) |
|
只导出 |
用 prd-workflow 导出 PRD 为 Word | 阶段 1(export-only,跳过访谈) |
|
设计 + 原型 |
用 prd-workflow 生成 UI 设计和原型 | 阶段 1(design-only,跳过访谈) |
|
迭代修改 |
用 prd-workflow 迭代修改 PRD,追加新需求 | 阶段 1(iteration,复用访谈) |
|
回滚版本 |
用 prd-workflow 回滚到版本 v1.0 | 阶段 1(rollback,恢复版本) |
完整流程示例
场景 1:首次生成(无文档)
CODEBLOCK8
场景 2:首次生成(有详细业务文档)
CODEBLOCK9
场景 3:迭代修改(已有访谈结果)
CODEBLOCK10
❌ 错误调用方式
错误 1:使用 /skill 命令
CODEBLOCK11
原因:/skill 命令只读取 SKILL.md 说明,不执行代码。
错误 2:启动子代理执行
CODEBLOCK12
原因:子代理无法进行阶段 0(访谈需要和用户实时交互)。
错误 3:跳过访谈直接调用
CODEBLOCK13
原因:interview_module 会检查 interview.json 是否存在。
💻 调用示例(开发者)
CODEBLOCK14
📁 输出位置(三级隔离)
隔离架构:
CODEBLOCK15
完整文件清单:
{用户 ID}/
└── {需求名称}/
├── interview.json # 阶段 0:访谈结果
├── decomposition.json # 阶段 1:需求拆解
├── prd.json # 阶段 1:PRD 生成
├── review.json # 阶段 1:评审报告
├── flowchart.mmd # 阶段 1:流程图
├── design.json # 阶段 1:UI 设计
├── prototype/ # 阶段 1:HTML 原型
├── PRD.md # 阶段 1:PRD 文档
├── PRD.docx # 阶段 1:Word 导出
└── .versions/ # 版本管理
🔧 执行方式(OpenClaw AI 必读)
⚠️ OpenClaw AI 必须执行
如果你是 OpenClaw AI,请务必理解以下内容:
阶段 0:访谈过程(你手动执行)
核心指令:
CODEBLOCK17
执行方式:
- 1. 你自己提问:不要调用 interview_module 或其他代码
- 逐个提问:一次问一个问题,等用户回答后再问下一个(vertical slicing)
- 追问深度:根据用户回答追问细节,不要停留在表面
- 探索分支:走每个设计分支,"如果选择 A,那么需要决定 X、Y、Z"
- 构建理解:将所有问答整理成 sharedUnderstanding
- 保存结果:写入 INLINECODE14
访谈技巧:
- - ✅ 设计树探索:走每个分支的设计决策("如果选择 A,那么需要决定 X、Y、Z")
- ✅ 依赖关系解析:resolve 决策之间的依赖("这个决策依赖于前面的 X 决定")
- ✅ 代码库探索:能查代码就不问
- ✅ 共享理解确认:总结并确认("让我总结一下...以上理解是否准确?")
阶段 1:调用工作流
访谈完成后,调用 executeForAI 继续执行:
CODEBLOCK18
❌ 不要做
- 1. ❌ 不要直接调用 executeForAI 跳过访谈(interview.json 不存在会报错)
- ❌ 不要使用硬编码的示例数据
- ❌ 不要只问 1-2 个问题就结束
- ❌ 不要跳过多轮问答直接生成 PRD
- ❌ 不要在子代理中调用 executeForAI(无法进行访谈)
⚙️ 执行模式
支持 4 种执行模式,通过 options.mode 参数指定:
1️⃣ auto 模式(默认)
用途:正常执行完整流程
使用场景:
调用示例:
CODEBLOCK19
执行流程:
1. 解析用户需求
2. 生成执行计划(interview → decomposition → prd → ...)
3. 检查已有结果(跳过已完成的技能)
4. 执行剩余技能
5. 返回结果
2️⃣ iteration 模式(迭代)
用途:在现有 PRD 基础上追加/修改需求
使用场景:
- - 追加新功能("追加社保测算功能")
- 修改现有逻辑("修改风险测评规则")
- 优化已有描述
调用示例:
CODEBLOCK21
执行流程:
1. 分析需求变更(对比新旧需求)
2. 创建当前版本备份(v1 → v2)
3. 强制执行 decomposition(重新拆解)
4. 强制执行 prd(更新 PRD)
5. 可选:执行后续技能(review/flowchart 等)
6. 返回新版本号
3️⃣ fresh 模式(全新)
用途:清空重来,删除所有中间结果
使用场景:
- - 之前的执行结果混乱,需要重新开始
- 需求完全变化,旧结果无用
- 调试/测试需要干净环境
调用示例:
CODEBLOCK23
执行流程:
1. 清空输出目录(除 .versions 外)
2. 删除所有中间 JSON 文件
3. 删除 PRD.md
4. 从头开始执行完整流程
4️⃣ rollback 模式(回滚)
用途:恢复到历史版本
使用场景:
- - 迭代后效果不好,想恢复旧版本
- 对比不同版本的效果
- 误操作后恢复
调用示例:
CODEBLOCK25
执行流程:
1. 备份当前版本(自动创建 backup-xxx)
2. 恢复指定版本的文件
3. 更新当前 PRD.md
4. 返回成功消息
模式对比表
| 模式 | 用途 | 清空数据 | 创建版本 | 典型场景 |
|------|------|---------|---------|---------|
| auto | 正常执行 | ❌ | ❌ | 首次生成 |
| iteration | 迭代修改 | ❌ | ✅ | 追加/修改需求 |
| fresh | 清空重来 | ✅ | ❌ | 重新开始 |
| rollback | 恢复版本 | ❌ | ✅(备份) | 回滚操作 |
📋 PRD 结构(prd_template.js 强制约束)
实际输出结构:
CODEBLOCK27
🔧 核心代码文件
| 文件 | 功能 |
|---|
| INLINECODE17 | 主工作流编排 |
| INLINECODE18 |
智能路由(识别需求→编排流程) |
|
workflows/data_bus.js | 数据总线(技能间数据传递)+ 路径安全化 |
|
workflows/data_bus_schema.js | 数据格式标准化 |
|
workflows/quality_gates.js | 质量门禁 |
|
workflows/version_manager.js | 版本管理 |
|
workflows/requirement_diff.js | 需求对比 |
|
workflows/modules/precheck_module.js | 环境检查前置化 |
|
workflows/modules/interview_module.js | 访谈结果检查(不执行访谈) |
|
workflows/image_renderer.js | 图片渲染服务 |
|
workflows/ai_diagram_extractor.js | AI 图表提取器 |
|
workflows/prd_template.js | PRD 模板引擎 |
🎯 适用场景
✅ 推荐使用
| 场景 | 说明 |
|---|
| 需求模糊 | 用户只有大致想法,需要深度澄清 |
| 复杂业务 |
涉及多个模块/系统的复杂功能 |
| 金融 PRD | 需要合规检查点的金融产品 |
| 正式交付 | 需要完整文档 + 流程图 + Word 导出 |
❌ 不推荐
| 场景 | 推荐替代 |
|---|
| 简单功能 | INLINECODE29 (快速模式) |
| 紧急需求 |
prd-generator(5 模块) |
| 技术方案 |
technical-spec skill |
📊 版本历史
| 版本 | 日期 | 变更内容 |
|---|
| v4.2.4 | 2026-04-08 | 📖 精简 SKILL.md - 基于 Claude Code 提示词技巧,精简结构,添加示例 |
| v4.2.3 |
2026-04-07 |
📖 重写 SKILL.md - 明确 2 阶段执行模式,消除所有矛盾和歧义 |
|
v4.2.2 |
2026-04-07 |
📝 postinstall 添加 adm-zip 依赖检测 - Word 文档图片检查功能完整可用 |
|
v4.2.1 |
2026-04-07 |
📖 更新使用说明 - 增加/skill 命令误区的详细说明 |
|
v4.2.0 |
2026-04-05 |
✅ 验收标准 GWT 格式优化 - 需求拆解不再生成验收标准 + PRD 阶段按功能生成 GWT |
|
v4.0.0 |
2026-04-05 |
🚀 多页面原型系统 - 页面树推断 + 导航组件 + 路由注入 + 多端截图 |
|
v3.0.0 |
2026-04-04 |
🖼️ 图片渲染服务 - Mermaid → PNG 自动渲染 + Word 导出嵌入图片 + 系统 Chrome 支持 |
🔒 安全说明
⚠️ ClawHub 安全扫描可能误报"Suspicious"
误报原因:
- - 本技能打包了 6 个依赖技能到
skills/ 目录(正常功能) - 工作流脚本调用内置技能(正常功能,自动化编排)
- 包含 Python/Node.js 脚本(正常功能,技能执行需要)
实际安全检查:
- - ✅ 无二进制文件 - 已清理所有 .pyc
- ✅ 无外部 API 调用 - 全部本地执行
- ✅ 无敏感数据 - 无 API Key/密码
- ✅ 无系统文件访问 - 只在 workspace 内操作
结论:可以安全使用,误报不影响功能。
📖 参考资料
- - Matt Pocock Skills: github.com/mattpocock/skills
- /grill-me - 深度访谈理念来源
- /write-a-prd - PRD 生成理念来源
- requirement-reviewer - PRD 评审
- mermaid-flow - 流程图绘制
- prd-export - Word 导出
- htmlPrototype - HTML 原型生成
- ui-ux-pro-max - UI/UX 设计
技能版本: 4.2.5
许可: MIT-0
发布状态: ⚠️ 草稿测试中
PRD Workflow(完整 PRD 工作流)
版本: v4.2.5
作者: gotomanutd
更新日期: 2026-04-08
ClawHub: clawhub install prd-workflow
🎯 定位
一站式 PRD 生成技能 - 从模糊需求到完整 PRD 文档 + 流程图 + Word 导出
🔄 2 阶段执行模式
prd-workflow 采用2 阶段执行模式,正确理解这是使用本技能的关键!
阶段 0:访谈(OpenClaw AI 手动执行)
═══════════════════════════════════════════════════════
阶段 0:访谈过程(OpenClaw AI 手动执行)
═══════════════════════════════════════════════════════
执行者:OpenClaw AI(不是代码模块)
时 机:调用 executeForAI 之前
输出文件:~/.openclaw/workspace/output/{用户}/{项目}/interview.json
执行方式:逐个提问,等用户回答,构建共享理解
为什么需要阶段 0?
- - ✅ 访谈需要和用户实时交互(逐个提问 → 等用户回答 → 追问)
- ✅ 这是同步交互,不是异步任务
- ✅ 子代理无法进行访谈(不能等待用户回答)
- ✅ 所以访谈必须在当前会话由 OpenClaw AI 自己完成
核心指令:
Interview me relentlessly about every aspect of this plan until we reach a
shared understanding. Ask one question at a time, get the answer, then ask the next.
访谈维度(6 个维度,16-50 个问题):
| 维度 | 问题数 | 示例问题 |
|---|
| 产品定位 | 3-5 个 | 目标用户是谁?使用场景? |
| 核心功能 |
3-5 个 | 是否需要产品推荐?数据来源? |
|
合规要求 | 3-5 个 | 是否需要风险测评?适当性管理? |
|
技术约束 | 3-5 个 | 使用渠道?现有系统?上线时间? |
|
业务目标 | 2-3 个 | 解决什么痛点?成功指标? |
|
用户场景 | 2-5 个 | 谁在什么时候使用?使用频率? |
访谈完成条件:
- - ✅ 至少问了 16 个问题
- ✅ 覆盖了 6 个维度
- ✅ 构建了完整的 sharedUnderstanding
- ✅ 用户确认理解正确
输出格式:
json
{
sharedUnderstanding: {
summary: 需求总结,
productPositioning: { targetUsers: 目标用户, ... },
coreFeatures: [核心功能 1, 核心功能 2],
complianceRequirements: [合规要求 1, 合规要求 2]
},
keyDecisions: [
{ id: d1, topic: 决策主题, decision: 决策内容, rationale: 决策理由 }
],
questions: [
{ question: 问题, answer: 答案, followUp: 追问 }
]
}
阶段 1:工作流(executeForAI 自动执行)
═══════════════════════════════════════════════════════
阶段 1:工作流(executeForAI 自动执行)
═══════════════════════════════════════════════════════
执行者:prd-workflow 代码
时 机:访谈完成后(阶段 0 完成)
输入文件:interview.json(必须存在)
执行方式:自动执行所有步骤
执行流程:
- 1. 调用 executeForAI(生成 XXX PRD, { mode: auto })
↓
- 2. prdWorkflow 生成执行计划
执行计划:[precheck, interview, decomposition, prd, review, ...]
↑ 注意:interview 在执行计划中!
↓
- 3. 执行 interview_module
- 检查 interview.json 是否存在
- ✅ 存在 → 读取并验证,继续执行
- ❌ 不存在 → 报错访谈未执行
↓
- 4. 执行后续步骤
- decomposition(需求拆解)
- prd(PRD 生成)
- review(评审)
- flowchart(流程图)
- design(UI 设计)
- prototype(原型)
- export(Word 导出)
- image(图片渲染)
- quality(质量检查)
关键区分:
- - 访谈过程:OpenClaw AI 手动执行(在 executeForAI 之前)
- interview_module:代码模块,只检查 interview.json(在 executeForAI 之内)
📋 是否需要访谈?
判断流程:
用户请求
↓
检查 interview.json 是否存在?
↓
✅ 已存在 → 跳过访谈过程,直接阶段 1
❌ 不存在 → 执行阶段 0(访谈过程)
↓
是否有详细业务文档?
↓
✅ 有文档 → 简化访谈(3-5 个确认问题)
❌ 无文档 → 完整访谈(16-50 个问题)
场景对比:
| 场景 | 是否需要访谈 | 访谈方式 | 问题数量 |
|---|
| 首次生成(无文档) | ✅ 需要 | 完整访谈 | 16-50 个 |
| 首次生成(有文档) |
⚠️ 简化 | 快速确认 | 3-5 个 |
|
迭代修改 | ❌ 不需要 | 复用已有 | 0 个 |
|
追加功能 | ❌ 不需要 | 复用已有 | 0 个 |
|
只评审/导出 | ❌ 不需要 | 跳过 | 0 个 |
🚀 使用方法
⚠️ 重要提示
正确启动方式:
bash
✅ 正确:使用自然语言调用
用 prd-workflow 生成 XXX 的 PRD
调用 prd-workflow 生成 XXX 的完整 PRD
执行 prd-workflow,生成 XXX 的 PRD
错误方式:
bash
❌ 错误:/skill 命令只读取说明,不执行代码
/skill prd-workflow 我要做一个 XXX
为什么:
- - /skill 命令用于查看技能说明(类似 man 命令)
- 自然语言调用(用 XXX 做 YYY)才会真正执行技能代码
- prd-workflow 是工作流引擎,需要调用 executeForAI 才能启动完整流程
基础用法
| 场景 | 命令示例 | 执行流程 |
|---|
| 首次生成 | 用 prd-workflow 生成养老规划功能的 PRD | 阶段 0(访谈)→ 阶段 1(工作流) |
| 完整流程 |
用 prd-workflow 生成养老规划功能的完整 PRD | 阶段 0(访谈)→ 阶段 1(工作流) |
|
快速版 | 用 prd-workflow 快速生成 PRD | 阶段 0(简化访谈)→ 阶段 1(lite 流程) |
|
只评审 | 用 prd-workflow 评审已有的 PRD | 阶段 1(review-only,跳过访谈) |
|
只导出 | 用 prd-workflow 导出 PRD 为 Word | 阶段 1(export-only,跳过访谈) |
|
设计 + 原型 | 用 prd-workflow 生成 UI 设计和原型 | 阶段 1(design-only,跳过访谈) |
|
迭代修改 | 用 prd-workflow 迭代修改 PRD,追加新需求 | 阶段 1(iteration,复用访谈) |
|
回滚版本 | 用 prd-workflow 回滚到版本 v1.0 | 阶段 1(rollback,恢复版本) |
完整流程示例
场景 1:首次生成(无文档)
用户:用 prd-workflow 生成儿童打字游戏的完整 PRD
↓
【阶段 0:访谈过程】
OpenClaw AI:
- 1. 检查 interview.json → ❌ 不存在
- 开始访谈(逐个提问)
- 目标用户年龄段是?
- 学习内容重点是拼音还是英文?
- 游戏类型偏向教育还是娱乐?
- ...(16+ 个问题)
- 3. 记录用户回答
- 构建 sharedUnderstanding
- 写入 interview.json
↓
【阶段 1:工作流】
OpenClaw AI:调用 executeForAI(生成儿童打字游戏 PRD, { mode: auto })
↓
prd-workflow:
1.