文件与工作区
需求契约
把口头要求落成可勾选的验收清单。
免费 免费阅读,也可以邮件索要技能文件。
背景描述
- 用户拿来一份需求文档(
D:\资产\<领域>的需求\*.md),要你按它做 - 用户口头列了一串要求(尺寸、命名、时长、不许做的事),要先固定下来
- 交付前想说「完成」——先跑
check_contract.py,退出码不是 0 就不许说 - 返工后补验,防止「改 A 漏 B」
不要用在:闲聊、单步操作、没有可验收要求的事。
为什么这么做
需求书说的是意图,契约说的是验收,所以清单在开工前就生成,每条带一个 ID。五个前缀对应经验里最容易漏的类别:R 硬规则、S 交付规格、C 沟通偏好、N 别做的、V 验收判据。check_contract.py 只要还有一条没勾就返回 1,「完成」这句话由退出码决定,不由当时的记忆决定。
make_contract.py 按五节机械抽取,因为长文档通常只读一遍,之后全靠印象引用;口头的补充也要落成条目,否则下一轮只剩印象。勾选是一条一条 --mark R-01 打上去的,返工那轮能看出哪条动过。禁止把没勾的条目改成「已达成」,改完的契约永远能过,也不留痕迹,等于把验收做成自我宣布。用户豁免的条目留在原位、勾上并注明,决定才查得回去。
真实踩坑
- 契约只挑了文档里的几条 需求文档一长,就容易只把几条写成契约,漏掉的那条正好是后面返工的原因。生成器按五节全抽,不做挑选;交付前用 --summary 打出总数与未勾数,契约比文档短这件事在发货前就能看见。
- 验收判据写成了形容词 「好看」「流畅」这种判据永远不会失败,也就什么都没验。规则要求判据落到数字、命令输出或文件存在;拆不成可测子项时,技能要求去问用户,不许自己编一个阈值凑上。
- 需求变了契约没变 做到一半来了新要求,口头记住了,契约还是旧的那套,门禁照样放行。第二条硬规则是先改契约再加条目;文件缺失或没有条目时退出码给 2,让「没契约」和「没勾完」分开报。
- 把没做的条目改成已达成 让门禁变绿最快的办法是改字,活没干也照样绿,改完还没有任何证据留下。第一条硬规则不许这么干:没勾的条目保留原文,写清为什么勾不上。要放弃就放在契约末尾的豁免区,原条目仍然留着。
这个技能里有什么
- 什么时候用
- 三步
- 契约长什么样
- 硬规则
- 常见错误
- 验收
目录就是技能文件自己的标题,顺序没有动过。
用法描述
用户提出「按我的需求做」「照需求书来」「这次别再漏」时,或交付前要说「完成」之前使用;把需求文档/口头要求落成可勾选验收清单,未勾完不许宣布完成。
怎么用
- 用邮箱收这个文件,它就是一个
SKILL.md。 - 放进 agent 读取的技能目录,目录名用
requirement-contract。 - 用描述里的触发句开头,或直接点名这个技能。
技能文件改成邮件发送,不再给下载链接。已登录就发到账号邮箱,没登录就留一个地址。