vibe-coding-requirements — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited vibe-coding-requirements (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
这是 vibe-coding-kit 的入口 Skill。它服务的人多半不写代码,靠 AI 把想法变成能跑的东西。最容易踩的坑不是技术,而是需求没说清,AI 朝着错误方向飞速实现。把需求说对,后面省一半返工。
套件里还有三个 Skill,在不同时刻用: - 需要选技术栈 / 看不懂 AI 给的方案 →vibe-coding-architecture- demo 验证过了、要做成正式系统 →vibe-coding-production- 开发中 AI 越改越乱 / 改坏退不回去 / AI 忘事 →vibe-coding-survival(开发全程都建议配合它)
| 用户想要 | 怎么办 |
|---|---|
| 还不确定要不要做 | 先做阶段零,可能根本不用写代码 |
| 快速跑个 demo 验证想法 | 阶段零 + 阶段一,需求说清就开干,其余先不管 |
| demo 过了,要做成正式系统 | 做完本 Skill,转 vibe-coding-architecture 和 vibe-coding-production |
| 已经在做、过程中失控 | 转 vibe-coding-survival |
判断方法:直接问。"你现在是想先跑个 demo 看看效果,还是打算做一个要长期运行、可能给别人用的正式系统?"
账本(流程状态): 本 skill 是流程第一阶段 S1·需求对齐的"自助路径"(访谈式入口是vibe-coding-prd,两者满足同一个 S1)。开始前读一下docs/进度账本.md(不存在就照examples/进度账本-模板.md建一个,初始化到 S1);这里的"分诊"结论就是账本里 S1.1 的轻/重判定,产出"需求基准描述"对应 S1 的核心退出条件。轻量 demo 不必逐步报门,但别跳过分诊和四要素。
新手最容易把对齐做成"审问"——一口气抛十几个问题,用户答到一半就烦了。好的需求对齐,问得少而准。 在准备每一个问题前,先过这条原则:
能自己(或从用户已经说的话)推断出来的,就别问;只把真需要用户拍板的留成问题。
具体两步:
这一步把"深度自适应"落到实处:简单需求轻问快走,复杂需求才展开深问。
非技术用户最怕两件事:一是被一堆开放式问题问懵("你想用什么技术?"——他哪知道),二是 AI 自作主张、闷头跑偏。正确的中间地带是:先把你的理解和默认假设讲出来,每条都做成"一眼能确认"的推荐项,用户点头或换一个即可。
固定结构(卡住时直接照搬):
我先把需求理解一下,下面这些是我替你定的默认值(不对就直接说,我改):
1. 谁在用:自己一个人用 [✓ 就这样] [换一个:给同事/给客户…]
2. 它活在哪:本机双击运行的小脚本 [✓ 就这样] [换一个:网页/常开服务器…]
3. 数据存哪:结果直接写回原文件夹 [✓ 就这样] [换一个:要长期保存/要数据库…]
4. 成本:不调用任何要花钱的服务 [✓ 就这样] [换一个:可以接受 AI 接口按量计费]
(最多 5 条,每条一句话。你不回,我就按这些往下走。)这正是本套件"你有权说不""渐进式复杂度"两条信条的默认动作:不审问、不擅自做主,用推荐项把决定权轻轻交还给用户。
写代码不是默认选项,是其中一个选项。开工前花两分钟做这个 gut-check,可能直接省掉整个项目:
如果这三个问题让你发现"其实不用写代码",那是最大的省事。
目标: 把模糊想法,转化成 AI 能精准理解、不会跑偏的需求描述。
非技术用户最常见的失误,是直接描述"我想要的功能",而不是"我要解决的问题"。这会让 AI 锁死在你想象的某个实现上,错过更简单的做法。
| 别这么说(描述方案) | 这么说(描述问题) |
|---|---|
| "我要一个能上传 Excel 的后台" | "我每天要把客户发来的 Excel 整理成报表,手工做要两小时" |
| "做个带登录的网站" | "我想让几个同事各自查看自己负责的数据,别人看不到" |
先说问题,再说你设想的方案(如果有),并告诉 AI:"这是我的设想,有更简单的做法可以推翻它。"
逐条想清楚,再合并成一段话:
references/方法论/PM-方法论.md 的「EARS 验收格式」。把四要素合并成 100–200 字的需求基准描述。后续每次跟 AI 对话,都把它贴在前面,确保 AI 不偏航。
约束这一项最容易被新手省略,却最关键:需求里有约束,方案才能被约束。 你不告诉 AI 你只有一台小服务器、不会写代码、要控成本,它就默认按"大厂标准"给你一套又重又复杂、你根本养不起的方案。
业务上的事你说了算,技术上的事交给 AI。
| 你必须说清楚 | 可以交给 AI 决定 |
|---|---|
| 谁用、用来干什么 | 用什么编程语言、什么框架 |
| 具体业务规则(如"超过 100 元才包邮") | 数据怎么存、文件怎么组织 |
| 你能接受的使用方式(网页?命令行?) | 用什么库、怎么实现某个功能 |
| 哪些情况绝对不能出错 | 代码风格、目录结构 |
别去改代码,改你的描述。 描述"差距",而不是指挥 AI 怎么改:
报错了,把完整的错误信息原样复制给 AI,加一句"这是报错,帮我看怎么回事"。看不懂没关系,AI 看得懂。
反面例子(太模糊,AI 无从下手):
"我想搭建一个开源项目。"
demo 级正面例子(轻量,验证想法用):
场景:我一个人用,在自己电脑上跑。目标:我有一个文件夹全是杂乱图片,想按拍摄日期自动归类到子文件夹,省去手工整理。约束:我不会写代码,用 AI 写,希望双击就能运行,不想装一堆复杂环境,原图绝不能丢。验收标准:我指定一个文件夹,运行后里面的图片按"年-月"分好了文件夹,原图都在。
生产级正面例子(要长期运行、对外提供服务):
场景:在本地 2核8G Linux 服务器部署,客户通过 HTTP 请求触发。目标:做一个卡密自动发货中间层,客户触发后系统验证身份、从库存分配卡密、转发核心平台完成服务、返回结果。约束:个人维护,不会写代码(用 AI 写),服务器只有一台,需长期稳定运行。验收标准:客户发起请求 → 返回卡密 → 核心平台确认服务完成;支持 token 鉴权、库存管理、操作日志。
>
(注意:这个例子"动到了钱和库存",正式上线前应找真人工程师把关——详见 vibe-coding-survival 的「红线」。)输出物: 一段 100–200 字的需求基准描述。把它存进你的「项目说明书」(模板见仓库 examples/项目说明书-模板.md)。
四要素能让你说清"我想要什么",但产品经理最大的需求盲区,是只描述了"一切顺利"那条路径——用户点一下、拿到结果、皆大欢喜。真正完整的需求还得回答:输入坏了怎么办?量太大怎么办?某一步失败了怎么办?我怎么知道它出问题了? 这些你不写进去,AI 就按它的默认猜,通常猜不对。
这不是能力问题。工程师能随口说"这里得加个重试",靠的不是灵感,是脑子里"什么会坏"的条件反射。你没这个习惯,是没人教过——下面就把它教给你,而且用的是你本来就会的本事。
你本来就擅长拆"用户旅程":用户先干嘛、再干嘛、在哪一步会卡。把主语从"用户"换成"数据/请求",同一套思维直接复用:
| 你已经会问(用户旅程) | 换个主语(数据旅程) |
|---|---|
| 用户操作有哪些步骤? | 数据从进来到出去,经过哪些环节? |
| 用户在哪一步会卡住? | 数据在哪个环节会堵、会慢? |
| 用户可能犯什么错? | 哪里会收到坏的、假的、重复的输入? |
| 用户的数据安全吗? | 数据会不会丢、会不会泄露? |
先让 AI 帮你把数据旅程画出来:
"我要做 [项目]。请把数据/请求从进入到输出的每一步,用大白话画出来,每步一句话。"
数据旅程说到底就三段:输入 → 处理 → 输出。对着这三段各问四个问题。每一个答案,都是一条你差点漏掉的需求:
输入 处理 输出
① 会断吗? ① 会出错吗? ① 结果对吗?
② 会太多吗? ② 会很慢吗? ② 会丢吗?
③ 会是假的吗? ③ 会挂吗? ③ 会泄露吗?
④ 断了怎么办? ④ 挂了我怎么知道? ④ 错了我怎么知道?不用每条现在就解决——但每条你都要给个决定,并写进需求。举例:
一句话让 AI 帮你扫:
"按'输入 → 处理 → 输出,每段会不会断/太多/造假/出错/变慢/挂掉/丢失/泄露',帮我列出这个项目可能漏掉的情况,每条给一个最简单的处理建议。"
把这三遍读出来的缺口补进需求,你的需求就从"能跑就行"升级到"经得起用"了。
量力而行: 随手跑个 demo(比如整理自己的图片),快速扫一遍即可;但凡这东西要给别人用、或一旦出错有代价,这一步千万别省——它正是 demo 和正式系统之间,最容易被忽略的那道坎。完整的风险登记和应对,留给 vibe-coding-production,这里只负责"把该想到的,都写进需求"。数据旅程一扫,往往冒出十几条新需求。不是每条都要现在做。 用最朴素的优先级判断,把它们分三档:
判断不准时,对每条问两件事就够了:多少人会因此受益(影响面)× 不做会多疼(痛感),再对一眼做它要多大力气。要更正式的打分模型(RICE 四维评分、MoSCoW),见 references/方法论/需求优先级框架.md——但 demo 阶段心里有数即可,别为打分而打分。
vibe-coding-survival 的"贯穿全程四件事"来做,别翻车。vibe-coding-architecture 选好技术、看懂架构,再用 vibe-coding-production 处理上线。以下约束来自项目治理配置harness.json和CLAUDE.md。 在声称"需求说清了"之前,你必须逐条确认。 全过之后:在 `docs/进度账本.md` 把 S1 相关步骤标 ✅(自助路径产出"需求基准描述"即满足 demo 级 S1 出口;要正式系统再补完整 prd)。
docs/项目说明书.md 中「需求基准描述」已填写(如文件不存在,先创建并填入本节内容)docs/进度账本.md 已存在,S1.1 分诊结论已记录全部通过后声明: "✅ S1 自助路径出口门通过:需求基准描述已写入项目说明书,覆盖四要素,格式合规,账本已记分诊结论。要做正式系统的话,转 vibe-coding-architecture(S2)。"
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.