Copedal

文件与工作区

需求契约

把口头要求落成可勾选的验收清单。

免费 免费阅读,也可以邮件索要技能文件。

requirement-contract 69 行 · 4 KB

背景描述

  • 用户拿来一份需求文档(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,让「没契约」和「没勾完」分开报。
  • 把没做的条目改成已达成 让门禁变绿最快的办法是改字,活没干也照样绿,改完还没有任何证据留下。第一条硬规则不许这么干:没勾的条目保留原文,写清为什么勾不上。要放弃就放在契约末尾的豁免区,原条目仍然留着。

这个技能里有什么

  1. 什么时候用
  2. 三步
  3. 契约长什么样
  4. 硬规则
  5. 常见错误
  6. 验收

目录就是技能文件自己的标题,顺序没有动过。

用法描述

用户提出「按我的需求做」「照需求书来」「这次别再漏」时,或交付前要说「完成」之前使用;把需求文档/口头要求落成可勾选验收清单,未勾完不许宣布完成。

怎么用

  1. 用邮箱收这个文件,它就是一个 SKILL.md。
  2. 放进 agent 读取的技能目录,目录名用 requirement-contract。
  3. 用描述里的触发句开头,或直接点名这个技能。

技能文件改成邮件发送,不再给下载链接。已登录就发到账号邮箱,没登录就留一个地址。