第九章:Vibe Coding 不翻车:用这个Skill效率翻倍
(function() { const ele = document.querySelector('#GcibbNb2VovreVxwz6Wc5ttVnek'); if (ele.complete) { (function() {this.naturalWidth/this.naturalHeight>=1.7777777777777777?(this.style.width='100%'):(this.style.height='100%');this.style.display='block';this.parentElement.style.background='var(--N1000-BG)';this.dataset.ttv=Date.now();}).call(ele); } else { ele.onload=function() {this.naturalWidth/this.naturalHeight>=1.7777777777777777?(this.style.width='100%'):(this.style.height='100%');this.style.display='block';this.parentElement.style.background='var(--N1000-BG)';this.dataset.ttv=Date.now();}; } })();
一、AI 写代码总写歪,根源在哪儿
你跟 AI 说:「帮我做个用户登录」。
AI 利索地写了一坨代码,跑起来也没报错。但你点开一看,它给的是账号密码登录,而你心里想的是邮箱验证码登录。
这种翻车,每个人都遇到过。
不是 AI 蠢,是你脑子里那套完整的业务想法,没翻译成 AI 能看懂的「施工图」。你嘴上能说清的,永远只是冰山一角。
代码块
Plain Text
你脑子里 AI 看到的
┌──────────────────────┐ ┌──────────────────────┐
│ • 后台管理系统 │ │ "做个用户登录" │
│ • 员工 / 管理员两类 │ └──────────────────────┘
│ • 短信验证码为主 │ │
│ • 首次登录强制改密 │ ▼
│ • 异常登录要提醒 │ ┌──────────────────────┐
│ • P0 先做闭环 │ │ 写出账号密码版本 │
│ • ……还有一堆没想完 │ │ → 翻车 → 重写 │
└──────────────────────┘ └──────────────────────┘

PRD-Manager 干的事,就是逼你把这些没想完的东西先想清楚,整理成 AI 能直接消费的结构化文档。
二、PRD-Manager 是什么
PRD-Manager是一个 Claude Skill,作者在 GitHub 公开开源(MIT 协议)。当前版本 v2.0.0。

它的定位很明确:辅助 Vibe Coding 的文档管理工具。
通俗讲:你不用学产品经理那套,也不用打开 Obsidian/ 飞书写一堆模板。你只要跟 AI 说一句「用 prd-manager 帮我整理需求」,它会自动按 8 种文档的边界,把你脑子里的东西问出来、写下来、版本化管起来。
它解决的核心问题就一个:把模糊想法 → 结构化文档 → 喂给 AI 写代码。
代码块
Plain Text
模糊想法 PRD-Manager AI 写代码
"做个登录" ──→ 8 种文档 + 版本管理 ──→ 精准实现
每份只答一个问题
三、8 种文档,每份只回答一个问题
这是 PRD-Manager 最关键的设计。每份文档的边界划得很清楚,不会乱:
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
为什么要分这么细?
因为这正好对应了 AI 在不同阶段需要看的东西:
•
写需求时,只读 prd.md,不会被技术细节带歪
•
画 UI 时,只读 design.md,不需要懂数据库
•
写代码时,读 dev.md + plan.md,知道做什么、改哪些文件
•
写测试时,读 prd.md + test.md,做 PRD ↔ Code 双向验证
每份文档只回答一个问题 —— 这条规则,AI 才不会把验收标准混进技术架构里乱写一通。
文档之间是怎么联动的
代码块
Plain Text
prd.md ──确认──▶ design.md ──┐
├──▶ plan.md ──▶ ops.md
dev.md ──确认──┘ test.md
│
▼
CHANGELOG.md + CLAUDE.md(持续更新)
prd.md 写完先停一下,让你确认需求没遗漏;dev.md 写完再停一下,让你确认技术方案没问题。双确认避免了 AI 一路跑偏到底。
四、安装与触发方式
安装PRD-Manager 是一个 Skill,放进 Claude 的 skills 目录就能用:
代码块
Plain Text
git clone https://github.com/SteveAiPro/prd-manager ~/.claude/skills/prd-manager
怎么触发
不需要记任何命令。直接跟 AI 说人话就行,触发词带「prd-manager」就稳了:
代码块
Plain Text
目录结构
PRD-Manager 支持两种目录结构,会自动识别。新项目直接用「版本优先」就行:
代码块
Plain Text
你的项目/
├── docs/
│ ├── v1.0.0/
五、实战 v1.0.0:从一句话需求到能跑的打地鼠
光看介绍没感觉,咱们直接动手做一个小游戏。
目标:做一个打地鼠网页小游戏,纯前端,单 HTML 文件能跑。
5.1 一句话需求开场
打开 Claude Code,新建一个空目录 whack-a-mole,敲下这样一句话:
代码块
Plain Text
用 prd-manager 帮我整理一个打地鼠网页小游戏的 v1.0.0 需求。
要求是单 HTML 文件能跑,3x3 九个洞,限时 30 秒,
点中地鼠加分,结束时显示总分。
时会做的事:
识别意图 = 新项目从零生成 PRD
优先输出 prd.md,停下来等你确认
确认后再继续 design.md → dev.md → plan.md
5.2 AI 反问出来的细节
这是关键一步。AI 不会闷头写,它会反问你。下面是真实场景里它会追问的问题(用 PRD-Manager 之前你压根想不到这些):
地鼠出现的频率是固定的还是随时间加快?
一只地鼠最多停留多久?没点中算不算扣分?
30 秒后是直接弹分数,还是有再来一局按钮?
要不要保存历史最高分?保存到哪里?
移动端要不要适配?
有没有暂停按钮?
每一个问题,都是一个潜在翻车点。你只要回答 yes/no 就行:
代码块
Plain Text
5.3 生成 prd.md
回答完,PRD-Manager 会产出 docs/v1.0.0/prd.md,大概长这样:
代码块
Plain Text
1个「打地鼠」从一团模糊变得边界清晰了。这就是 PRD-Manager 的价值。
5.4 确认后继续生成
你回一句「确认 prd.md,继续」,PRD-Manager 会接着输出:
•
design.md:3x3 网格的 ASCII 原型、配色、地鼠动画的状态
•
dev.md:技术栈选型(原生 HTML + CSS + JS,不引入框架)、文件结构(单文件 index.html)、关键函数清单
•
plan.md:任务拆解(搭骨架 → 出地鼠逻辑 → 计分倒计时 → 结算 → 移动端适配)、预估 90 分钟完成
•
test.md:5 条手动测试用例 + 验收清单
•
CHANGELOG.md:v1.0.0 初版记录
•
CLAUDE.md:项目上下文,告诉 AI「这是一个纯前端单文件项目,不要引入任何依赖」
5.5 让 AI 按文档写代码
文档齐了,下面这一步才是 Vibe Coding 真正爽的地方。你只要说:
代码块
Plain Text
按 docs/v1.0.0/ 下的所有文档实现 index.html
写出来的 index.html 会精准命中你的需求:3x3 网格、1 秒一只、1.2 秒停留、30 秒计时、结算弹窗。
上面最开头是我做的一个简单的视频,可以参考参考
六、实战 v1.1.0:加难度、加排行榜、加音效
游戏跑起来了,玩了两把感觉不够刺激。咱们升级。
6.1 描述新需求
代码块
Plain Text
用 prd-manager 给打地鼠升一个版本,加这几个东西:
1. 三档难度(简单 / 普通 / 困难),地鼠出现速度不一样
2. 历史最高分(按难度分别保存)
3. 点中地鼠的音效
会做的事:
识别这是「新增功能模块」 = Minor 版本号 +1,从 v1.0.0 → v1.1.0
在 docs/v1.1.0/ 下生成新的文档集
不会把已经有的 v1.0.0 改掉,历史完整保留
自动追加 CHANGELOG.md
6.2 PRD-Manager 又会反问
三档难度的具体参数怎么设?
最高分用什么 key 存?切换难度时如何展示对应的最高分?
音效要本地文件还是用 Web Audio API 合成?要不要静音开关?
切换难度是开局时选还是中途可改?
回答完后,新版本的 prd.md 会精准记录:
代码块
Plain Text
确认后,PRD-Manager 会只更新与本次变更相关的部分:
•
design.md:增加难度选择按钮的位置、最高分显示位、静音图标的状态
•
dev.md:新增 localStorage 读写函数、新增 Web Audio 工具函数、改造原有 spawnMole() 接收参数
•
plan.md:3 个子任务,预估 60 分钟
•
test.md:增加 4 条用例(难度切换、最高分覆盖、静音持久化、跨刷新一致性)
•
CHANGELOG.md:自动追加 [v1.1.0] 区块,列明新增 / 变更 / 兼容性
•
CLAUDE.md:把「难度系统」「localStorage 存储 schema」「音效策略」三条加入项目记忆
6.4 让 AI 实现 v1.1.0
代码块
Plain Text
按 docs/v1.1.0/ 实现增量。注意保持 v1.0.0 的所有玩法不变。
读 CLAUDE.md:知道这是一个纯前端单文件项目,不要装任何依赖
读 dev.md:知道改造 spawnMole()、新增三个工具函数、文件还是单 index.html
读 plan.md:按子任务顺序写
写完对照 prd.md 的验收标准自检
同步在 test.md 里登记每条用例的状态
注意 PRD-Manager 强调的一条规则:代码改了,测试必须跟着改。 这条「测试驱动」是它内置的硬规则,AI 在生成代码同时会顺手把对应的手测步骤补到 test.md,避免「上线了才发现测试没跟上」。
6.5 版本对比
跑两轮下来,你会想知道前后到底差了啥。直接说:
代码块
Plain Text
用 prd-manager 对比 v1.0.0 和 v1.1.0
会甩给你一份原始 diff,而是输出一份业务向的对比摘要:
代码块
Plain Text
汇报、给自己复盘,都比看 diff 香多了。
七、5 个使用心得
实际跑下来,下面这几条你记一下,能少踩很多坑。
别一次说太多需求
PRD-Manager 是按 8 种文档串行推进的,一次性塞 20 条需求容易让它产出大而空的 PRD。一次升一个 Minor 版本,做 1~3 件事最舒服。
双确认那一步不要跳
prd.md 和 dev.md 的两次「确认」是它最值钱的设计。你随手回一句「确认」固然爽,但停下来真读一遍,往往能挑出 1~2 处自己没想清楚的地方,省下后面好几轮返工。
让 PRD-Manager 主动问你问题
你提需求的时候越模糊,它反问的问题越多,整理出来的 PRD 越精准。别怕被它问烦,被问到的每一项都是潜在翻车点。
CLAUDE.md 当成项目记忆体认真维护
尤其是「不要引入框架」「数据存哪」「不允许的依赖」这种约束,写进 CLAUDE.md 后,AI 在每次写代码前都会读,比你每次手动叮嘱靠谱得多。
版本号让它自己判断
破坏性变更 → Major、新功能 → Minor、Bug 修复 → Patch,PRD-Manager 会自动识别。你别硬指定,它判断比你准。
MPH_MARKER_24
八、常见问题
Q1:我不是程序员,能用吗?
完全可以。PRD-Manager 主要是帮你「把想法说清楚」,写代码的活还是交给 AI。你只要会回答「是 / 否」「这个先做、那个后做」就够了。
Q2:和 Cursor / Windsurf / 其他 IDE 兼容吗?
PRD-Manager 是 Claude Skill,目前主要在 Claude Code 里触发最稳。但生成出来的 docs/ 文件夹是纯 Markdown,扔到 Cursor / Windsurf 当上下文用一样能跑。
Q3:项目已经写了一半,能中途接入吗?
可以。直接说「用 prd-manager 给当前项目补 v1.0.0 的 PRD」,它会读现有代码反向推 PRD,再继续后面的版本。
Q4:8 份文档每次都要全写吗?
不需要。PRD-Manager 支持「按需只生成单个文档」。比如改个文案 Bug,让它只更 CHANGELOG.md 和 test.md 就够了。
Q5:和我已经在用的 Obsidian/ Lark / 飞书文档冲突吗?
完全不冲突。docs/ 是项目内文档,给 AI 看的;Obsidian / 飞书是给团队看的。两边并行就行,PRD-Manager 这边负责「让 AI 写对」。
写在最后
Vibe Coding 这个概念之所以火,是因为它降低了写代码的门槛。但它有个隐藏前提:你得会描述你的需求。
PRD-Manager 解决的,正是这个隐藏前提。
你脑子里有想法,它帮你翻译;翻译完丢给 AI,代码精准命中;下个版本来了,它接着帮你版本化管起来。
真不是什么高深技术,就是一份份 Markdown 文件。但这种「先想清楚、再让 AI 干活」的工作方式,比你一边和 AI 拉扯一边返工,效率高 10 倍。
打地鼠这个例子很简单,换成你自己的项目(CRM / 后台 / SaaS / 自动化脚本),逻辑完全一样。
祝你 Vibe Coding 不再翻车 ✍️
•
PRD-Manager GitHub(fork 版本,与原作者 wlzh/prd-manager 同步)
•
•