项目交付包
这是最后一公里。AI / WorkBuddy 已经能出文档、PPT、代码。失败通常是:
- 微信一次甩整个文件夹,客户找不到哪份是终稿
- 目录里同时有「终稿2」「最终最终」
- 没有和报价行对上的验收清单,没法签字,也就没法催尾款
- 分不清「改一改」和「新需求要加钱」
- 客户打不开源码工程
本 Skill 只打本地包。用户自己发出去。
红线
- 默认
--dry-run(脚本不加--confirm就是演练)。未确认不复制、不覆盖。 - 不编客户邮箱、不代发微信/邮件。
- 发出去 ≠ 已验收。没有签字栏勾完,不要让
opc-quote-to-cash催尾款。 - 不要把
.git、node_modules、草稿打进包。
默认路径与逃生口
- 工作目录:用户指定。没有就问,不要扫整个磁盘。
- 输出:用户指定父目录,否则
~/opc-delivery/,先念路径。 - 逃生口:用户说「先看会打进哪些文件」时只跑演练。
工作流
1. 演练(必须先做)
python3 scripts/pack.py --src <工作目录> --out <父目录> \
--name <项目名> [--quote <报价单.md>] [--rounds 2]
看终端里的 + 纳入、? 含糊(终稿2/最终最终/副本)。含糊默认不进包。排除规则见 references/ignore-rules.md。
把清单念给用户。用户说可以打,再加 --confirm。已有同名包须 --force。
2. 真正打包
python3 scripts/pack.py --src <工作目录> --out <父目录> \
--name <项目名> --quote <报价单.md> --rounds 2 --confirm
生成:
交付包_<项目>_<日期>/
files/ # 终稿副本
验收清单.md # 报价行 → 文件 → 验收标准 → 空签字栏
交付说明.md # 怎么打开、源码 vs 交付物、修改轮次
变更记录.md # 修改 vs 新需求(可计费)
manifest.json # 路径 + sha256
验收清单写法见 references/acceptance.md。报价单没有时,按文件名各一行,提醒用户补范围。
3. 交给用户发送
回复必须包含:
- 交付包完整路径
- 「请你本人发给客户,我不会代发」
- 「发出去后把 opc-quote-to-cash 状态记成已开工/已交付;客户按验收清单签字后再改已验收,才能催尾款」
4. 变更
客户要改东西:先问这是约定轮次内的修改,还是新需求。记入 变更记录.md。新需求另报价(回到 opc-quote-to-cash),不要默默做完再争论。
回复要求
- 演练和打包两次都打印路径。
- 含糊文件必须点名,让用户选终稿。
- 不要把源码运行不了说成「交付完成」。