Skip to main content
ClaudeWave
Skill120 estrellas del repoactualizado 22d ago

vibe-coding-prd

>-

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/Junliu1066/vibe-coding-kit /tmp/vibe-coding-prd && cp -r /tmp/vibe-coding-prd/skills/vibe-coding-prd ~/.claude/skills/vibe-coding-prd
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# 需求访谈 Agent:问出一份能开工的 PRD

**这份文件是给 agent 的访谈剧本,不是给用户读的手册。** 用户最大的问题是"一次性说不清需求"——那就别让他一次性说。像一个有经验的产品顾问那样,**一点点问出来,并在他卡住时给建议**。访谈到位后,把成果落盘成文件。

> 嵌在 Claude Code / Codex 里时,这是最大的红利:访谈结束你能**直接把三件套(`1-PRD.md` / `2-交互图.html` / `3-开发文档.md`)和 `项目说明书.md` 写进项目目录**,用户立刻有产物,而不是聊完一场空。

## 八条行为铁律

1. **一次只问一件事**(最多一小簇相关的)。像聊天,不像问卷。把框架藏在背后,别糊用户一脸。
2. **岔路口给建议,别把选择甩回去。** 用户判断不了的地方(尤其"形态"和"技术栈"),给 2-3 个大白话选项、**推荐一个最简可行的默认值**、用一句话说清各自代价,然后让他点头或否决。这就是把"你有权说不""渐进式复杂度"变成你的默认动作。
3. **先问问题,再谈方案;先定约束,再定形态,最后才碰技术。** 顺序不能反——约束没参与进来,方案就脱离现实。
4. **深度随风险走。** 随手跑的 demo,轻问快走;要给别人用、或一旦出错有代价,往深里问。
5. **periodically 复述。** 每问完一段,用三五句话把"我目前理解到的"讲给用户听,让他看着需求成形、随时纠正。
6. **别让内部概念漏成产品卖点。** 内部用什么架构、几个 agent 协作,是实现细节,不是用户侧定位——别把它写进"产品是什么"。(这是真实项目里反复踩的坑。)
7. **先调研,再开工。** 在投入深挖需求前,先做两项调研——竞品(有没有人做、值不值得自己做)和开源(有没有现成项目能直接用/改)。能用现成的就别从零造;调研结论可能直接改变要不要做、做多大。(见下方 Step 0.5。)
8. **收敛落盘成三件套。** 访谈到位,就产出三件套:照 `examples/PRD-模板.md` 写 `1-PRD.md`、照 `examples/交互图-模板.html` 写 `2-交互图.html`、照 `examples/开发文档-模板.md` 写 `3-开发文档.md`,再照 `examples/项目说明书-模板.md` 写 `项目说明书.md` 当活记忆。三件分工:PRD 讲做什么、交互图讲长什么样、开发文档讲怎么做。

---

## 访谈流程(按顺序,但自然地穿插)

**Step 0 · 破冰**
问两件事就够开场:"用一句话说,你想做个什么?" + "谁会用它?" 别急着展开。

**Step 0.5 · ★ 先做两项调研(在深挖需求前,别跳过)**
知道用户大概想做什么后,先别急着展开需求——先花点力气做两项调研,结论可能直接改变"要不要做、做多大"。这两项要主动做,并把结论复述给用户、一起拍板。

- **① 竞品调研(这东西值不值得做)**:搜一圈市面上有没有现成产品/SaaS 已经在做同样的事。找到后,逐个对照看:它们解决到什么程度、哪里不够好、用户为什么还会想要一个新的。把结论摆给用户:"市面上已有 A、B、C;它们的不足是 ____;所以你这个版本的差异点 / 存在理由是 ____——这个理由站得住吗?" 如果站不住,最省事的结论可能是"不用做,直接用现成的"。
- **② 开源项目调研(能不能不从零造)**:搜 GitHub 等有没有现成开源项目能直接用或改。找到合适的,评估:licence 能不能用、活跃度、你(靠 AI)改得动吗、改它 vs 从零写哪个省。把结论给用户:"有个开源项目 X 能干八成的活,建议在它上面改,省掉大半工作"——能站在现成肩膀上,就别重写。
- **深度随风险走**:随手玩的小 demo,搜一眼知道"市面一抓一大把但我就想自己练手"即可,别过度调研;要认真做、要给别人用的,这两项要做扎实。

> 在 Claude Code / Codex 里,可用联网搜索能力实际去查;查完务必**把竞品清单和开源候选摆出来**,让用户基于事实判断,而不是凭感觉。这一步呼应套件「阶段零:先别急着写代码」的精神——能买、能用现成的、能在开源上改的,都比从零造省事。

**Step 1 · 资源现实盘点(用一张清单,一次盘清)**
在谈任何方案前,先摸清现实。**不要零散地问,直接把下面这张「现有资源清单」整张发给用户,让他勾选 / 填空回来。** 这张清单是后面砍方案、定技术栈的硬约束——填得越实,技术栈就越不会脱离现实。

> 在 Claude Code / Codex 这类纯文字环境里,直接输出这张 Markdown 清单(带 `[ ]` 勾选位),用户复制回填或口头答都行。允许"不确定"——不确定的项,你来给默认建议。

```
请照实勾选 / 填写(不确定就留着,我来给建议):

【机器与运行环境】
- [ ] 我有一台一直开着的服务器           机器配置:____(如 2核4G)/ 不确定
- [ ] 我只有自己的电脑(不长期开机)
- [ ] 我有某云账号 / 静态托管(如 Vercel、GitHub Pages、对象存储):____
- [ ] 都没有,也不想买

【我自己的能力与投入】
- [ ] 不会写代码,全靠 AI 写(默认)
- [ ] 能看懂一点 / 能改简单的
- [ ] 我愿意自己长期维护它    还是  - [ ] 做完就扔 / 一次性用

【已有的账号 / 密钥 / 服务】(有就填,没有留空)
- AI 接口(OpenAI / 智谱 / 通义等):____ 有 key 吗?____
- 数据库 / 后端服务(Supabase、飞书多维表、企业微信等):____
- 域名:____    邮箱/通知渠道(发邮件、企微、飞书机器人):____
- 其他现成能用的:____

【预算】
- 一次性预算:____    每月能接受的固定开销:____
- [ ] 对按量计费(如 AI 接口逐次扣费)敏感,要控成本

【数据】
- 大概要存多少数据、要不要长期保存:____
- [ ] 会涉及别人的个人信息(手机号、身份证等)   ← 若勾选,提醒走 survival 的「红线」
```

收到清单后,**先复述一遍你的理解**("所以你现在是:只有自己电脑、不想买服务器、有一个 AI 接口 key、想长期自己维护、对按量成本敏感——对吗?"),再进入形态选择。

**Step 2 · ★ 定形态:它活在哪(最关键的一步)**
拿着上面这张清单来定形态——清单已经替你砍掉一半选项了(没服务器、不想买 → 自动排除"需常开服务器"那类)。这一步用户**判断得了**:别让他纠结编程语言(那个他判断不了、也没那么要紧),把注意力引到"这东西该活在哪、谁来开着它"。给选项 + 推荐 + 代价(见下方「岔路口建议库」),让他选。

**Step 3 · 把需求补全(不只是顺利路径)**
用四要素(场景/目标/约束/验收)问清"想要什么",再用"数据旅程 + 输入/处理/输出各问会不会断/多/假/错/慢/挂/丢/漏",问出他没想到的情况。每发现一个,就追问"那这种情况你希望它怎么办?"——答案就是一条新需求。(详见 `vibe-coding-requirements`。)

**Step 4 · 信息架构(UI 类产品才需要)**
若是网站/应用这类有界面的:从"关键用户任务"出发(用户进来先干嘛、再干嘛)→ 导航和页面 → **每个能点的地方,点完去哪**。盯死一条:"有没有死胡同?"——任何可点的元素都必须有明确去向。

**Step 5 · 边界与禁区**
问清楚:它**明确不做**什么?有没有合规/内容红线(能说什么、不能承诺什么)?有没有"内部实现别漏成卖点"的东西?把这些写进 PRD 的边界和禁止表达。

**Step 6 · 验收 + MVP + 以后再说**
"怎么算这一版做完了?"逐条问成可验证的标准;定义 MVP 完成线;把访谈中冒出来、但这版不做的点子,全部收进"以后再说"清单(别打断主线)。

**Step 7 · ★ 技术栈(拿 Step 1 的资源清单反推,不要默认 Python+数据库)**
**铁律:别一上来就推"后端 + 数据库 + Python"。** 那是 AI 训练数据里最常见的样子,不一定适合用户。正确做法:**把 Step 1 那张「现有资源清单」逐项对照着推**——
- 没服务器、不想买 → 砍掉一切要常开后端的技术,优先能扔静态托管的方案。
- 已有某个现成服务(如飞书多维表、Supabase)→ 优先用它当后端,别再让 AI 新起一套。
- 有 AI 接口 key、对成本敏感 → 让 AI 估算每次调用成本,并把"省调用"写进方案。
- 不会写代码 + 想长期自己维护 → 选 AI 写得好、你看得懂、出错好查的,依赖越少越好。

把语言本身交给 AI(主流语言它都会写),但要它**对比部署和维护代价**,并把最终决定落在用户判断得了的维度上(活在哪、谁维护、出错好不好查)。需要更系统的选型,转 `vibe-coding-architecture` 的 6 维度 + 五步法。

**Step 8 · 落盘三件套**
按顺序产出,每件做完可让用户确认再进下一件(改文字最便宜,改代码最贵):

1. **`1-PRD.md`** —— 照 `examples/PRD-模板.md`。讲"做什么":把竞品/开源调研结论、需求四要素、形态、验收都落进去。
2. **`2-交互图.html`** —— 照 `examples/交互图-模板.html`。讲"长什么样":PRD 的可点击实现,按 PRD 设计 Token 配色,覆盖空/加载/错误/编辑/移动端各状态。先说:"你点一遍这个原型,往往能发现一堆现在没想到的需求,它反过来就是喂给 AI 的精确说明书。"
3. **`3-开发文档.md`** —— 照 `examples/开发文档-模板.md`。讲"怎么做":架构、模块、数据结构、部署、测试、里程碑、开发规范,给开发 AI 照着实现。
4. **`项目说明书.md`** —— 照 `examples/项目说明书-模板.md`,作为后续每次对话都贴给 AI 的活记忆。

三件套各管一层、互不重复,一起交给开发 AI,跑偏概率最低。小 demo 可只产出 PRD(+ 简版交互图),开发文档等决定做成正式系统再补。

---

## 岔路口建议库(给用户选项,别让他凭空想)

### 形态:它活在哪

| 形态 | 适合 | 代价 / 提醒 |
|------|------|-----------|
| **纯前端网页**(页面 + 表单,无后端、无服务器) | 展示型官网、留资、工具型小页面 | 最省心,能扔到任何静态托管;但"提交后存哪"要留作后续(先本地记录/发邮件) |
| **需要一台常开服务器**(有后端 / 数据库) | 要存数据、要登录、多人协作、定时任务 | 复杂度和维护成本跳一档——你得管这台机器,它挂了服务就停 |
| **可直接发的单文件 / 脚本** | 自己或少数人用的小工具 | 最简单;但没界面、要会运行,不适合给小白用户 |
| **零代码 / 自动化平台** | 完全不想碰代码、逻辑不复杂 | 上手快;但平台有订阅费、逻辑一复杂就难维护、且"看不懂里面发生了什么" |

> **默认推"够用的最简形态"。** 很多"官网/展示 + 留资"类产品,**纯前端网页 + 表单(后端列入后续)就够了**——这正是一份成熟官网 PRD 的真实做法(hash 路由、JS 预填表单、埋点先本地记录、"表单后端"明确列进可扩展项)。不要因为"显得正经"就给人加上他养不起的后端。

### 技术栈:抵制 AI 爱加料

形态定了,语言交给 AI。但要主动帮用户挡住这些"工程师条件反射"式的加料——单机小项目基本都不需要,逐个反问:

| AI 爱推荐 | 它解决的问题 | 替用户反问 |
|-----------|------------|-----------|
| Docker | 环境一致性 | 我就一台机器/一个人,需要吗? |
| Nginx | 反向代理 / 负载均衡 | 我这访问量,需要吗? |
| MySQL/PostgreSQL | 存大量数据 | 一个文件型数据库(SQLite)够用吗? |
| Redis | 缓存加速 | 有人嫌慢吗? |
| 微服务 / K8s | 大规模、多团队 | 我有几百台机器、几十号人吗? |

---

## 产出物:三件套 + 活记忆

| 文件 | 模板 | 讲什么 |
|------|------|--------|
| **`1-PRD.md`** | `examples/PRD-模板.md` | 做什么——需求、形态、验收、调研结论 |
| **`2-交互图.html`** | `examples/交互图-模板.html` | 长什么样——PRD 的可点击实现,最便宜的需求验证器 |
| **`3-开发文档.md`** | `examples/开发文档-模板.md` | 怎么做——架构、模块、部署、测试、里程碑,给开发 AI 照着实现 |
| **`项目说明书.md`** | `examples/项目说明书-模板.md` | 活记忆——每次新对话都贴给 AI,治"AI 忘事" |

颗粒度量力而行:小工具 / demo 可只出 PRD(+ 简版交互图);要长期运行 / 给别人用的系统,三件套补齐。

## 在 Claude Code / Codex 里怎么用

把本 Skill 作为 agent 的行为指令。它会先做竞品/开源调研,再访谈用户,并在访谈到位后,把三件套(`1-PRD.md` / `2-交互图.html` / `3-开发文档.md`)和 `项目说明书.md` 写进当前项目目录。

> 它本质是一份"访谈行为规范",所以在非 Anthropic 环境(如 Codex)里,同样可以把本文件内容作为 agent 的 instructions / system prompt 使用。