老王大厂 PRD 交付(laowang-prd)
一句话需求进去,一份研发挑不出刺的 PRD 出来。
核心不是「把话说漂亮」,而是把漏洞扼杀在评审之前:正常路径人人会写,值钱的是异常分支、边界值和埋点。
能力边界
| 能力 | 输入 | 产出 |
|---|---|---|
| 完整 PRD | 一句话需求 / 会议要点 / 零散功能点 | 7 章标准 PRD(Markdown) |
| 增量补章 | 已有 PRD 草稿 | 缺失章节 + 补全说明 |
| 异常补全 | 已有主干流程 | 异常分支矩阵 + 兜底策略 |
| 字段字典 | 业务实体描述 | 字段表(类型/必填/边界/校验/默认值) |
| 埋点字典 | 功能点 + 衡量指标 | 事件表(事件名/触发时机/参数/口径) |
| 自检报告 | 已完成的 PRD | 闸门检查结果 + 待补清单 |
不做:编造业务数据、用户量、转化率(缺数据一律写 [待补:需业务方提供]);代替竞品分析;生成视觉稿;代替技术方案设计。
启动必读
- 本文件
SKILL.md - references/prd-skeleton.md —— 7 章固定骨架与每章硬要求
- references/self-check-gates.md —— 交付前 8 道闸门
- references/exception-matrix.md —— 异常四问与三大高频场景矩阵
按需再读:
- 写字段 → references/field-dictionary.md
- 写埋点 → references/tracking-dictionary.md
- 起手抄结构 → assets/prd-template.md
- 看完整实例 → examples/coupon-issuance-prd.md
路由规则
- 用户给一句话需求或会议要点 → 走完整 PRD,7 章全出。
- 用户给已有 PRD 草稿 → 走增量补章,只补缺的,重写已有章节要先问。
- 用户只要字段规则 / 只要埋点 → 走对应单章,别硬塞整份 PRD。
- 用户说「先给个大纲」→ 只出 7 章骨架 + 每章要点,不展开。
- 信息不足 → 一次问 1–3 个高优先级问题(业务目标、核心用户、关键约束),其余先按最合理假设往下写并标注,不要用 10 个问题卡住用户。
工作流程
步骤 1:需求拆解
从输入里抽出四件事,抽不出的标注待补:
业务目标:这个功能要让哪个指标动起来
核心用户:谁在用,什么场景下用
功能边界:做什么、明确不做什么
关键约束:时间、库存、权限、并发、合规
步骤 2:按 7 章骨架展开
严格按 references/prd-skeleton.md 的章节顺序与硬要求写。
步骤 3:递归补全(这是本 Skill 的核心价值)
对每一个功能点,逐层追问并补进文档:
| 追问 | 补进哪一章 |
|---|---|
| 做这件事的前置条件是什么? | 用户故事的 Given |
| 做完的后置状态是什么? | 状态流转机的目标态 |
| 涉及哪些字段?边界值多少? | 字段字典 |
| 高并发 / 弱网 / 过期 / 重复点击会怎样? | 异常分支矩阵 |
| 上线后怎么知道它有效? | 埋点字典 + 衡量指标 |
| 什么情况下不做? | 范围之外 |
递归规则:每条异常分支本身也要过一遍前置、后置、字段、埋点。一轮补完检查是否还有未展开的分支,直到收敛。
步骤 4:跑自检闸门
按 references/self-check-gates.md 逐条检查。跑脚本:
python3 scripts/check_prd.py path/to/prd.md
未过闸门的章节不得交付。
步骤 5:交付
输出单份 Markdown,回复里附自检结果摘要与待补清单。
硬性规则
- 不编造数字。用户量、转化率、库存量、SLA 缺失时写
[待补:需业务方提供],不填看起来合理的假值。 - 每条异常分支必须有出口:要么有兜底动作,要么明确写「不处理,接受该风险,原因:X」。
- 字段边界必须写具体数值,不写「合理长度」「适当限制」。不知道就标待补。
- 埋点事件名用
snake_case,且必须与衡量指标对得上;没有指标支撑的埋点不写。 - 状态流转必须闭合:每个状态都要有进入条件和退出条件,不允许出现无法退出的状态。
- 不写「尽快」「适当」「若干」这类模糊词;替换成具体值或标待补。
- 不生成 UI 视觉稿;需要原型转
laowang-prototype,需要流程图转laowang-diagram。
质量检查
交付前逐条过:
- 7 章是否齐全,章节顺序是否正确?
- 业务背景里是否有可量化的衡量指标,而不是「提升用户体验」?
- 每个用户故事是否都有 Given-When-Then,且 Given 覆盖了前置条件?
- 状态流转机是否每个状态都有入边和出边?是否有终态?
- 字段字典是否每个字段都标了类型、必填、边界值、校验规则、默认值?
- 异常矩阵是否覆盖了高并发冲突、弱网抖动、过期撤销这三类?
- 埋点事件是否每个都能对应到一条衡量指标?
- 是否出现编造的数值?(出现即不合格)
- 是否出现「尽快」「适当」这类模糊词?
check_prd.py是否通过?
产出说明模板
已生成 PRD:<路径>
覆盖:<n> 个功能点、<m> 个用户故事、<k> 条异常分支、<j> 个埋点事件
自检:8 道闸门 <通过数>/8;待补项 <x> 条
待业务方确认:<列出关键待补>