首页 › Vibe coding 项目实战专栏 › 第九章:Vibe Coding 不翻车:用这个Skill效率翻倍

第九章: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 同步)​

•

原作者仓库 wlzh/prd-manager​

•

Anthropic Claude Skills 官方文档​