门店交接班准备包
轮班门店最常见的事故不是忙不过来,而是交班那一刻丢了一句话:「三号柜的蛋糕要转走」只在口头说了,「现金少了 120 块」只在纸条上写了一行,「客人说积分没到账」只留在微信里。接班的人不知道,下一班就变成投诉。
真正的难点不是写作,是把散落的事项收成一份能逐条核对、能签字、能追责到具体班次的交接板。本技能做这件事:读一份 JSON,输出分好组的交接板、缺什么字段、哪些编号重复、哪些状态互相矛盾、金额分币种各是多少、开班前要确认哪几件事。脚本不登录 POS 或排班系统、不读照片、不算工资、不判责任、不向外发消息。
输入与澄清
字段表、路由规则、状态优先级与安全边界见 @references/guide.md(同目录 references/sample.json 与 references/sample-blocked.json 是可复现样例,输出分布固定)。
最少确认:as_of(必须带时区偏移)与 items[]。
必须问清的关键点:
as_of不能省。没有它就无法判断「已过截止」,工具会停在INPUT_INCOMPLETE,而不是猜一个当前时间。- 责任人用脱敏工号,不要写姓名和电话。本工具只需要「谁跟进」,不需要个人信息。
- 不要把登录凭据填进来。输入里出现密码、令牌一类字段会被整体拒绝,并且不会回显该内容。
- 未知就是未知。盘点的空格子、没填的到货数量,请留空;留空会被标
AMOUNT_UNKNOWN/QUANTITY_UNKNOWN并计入待确认问题。填 0 会让下一班以为「真的是零」。 - 不同币种请分开写。工具只分币种合计,不会替你折算。
- 跨午夜班次请写清楚两个完整时间戳(含日期与偏移)。
22:00 → 次日 06:00是合法班次,不会被判错。 - 同一件事被两班各录一次是常态。请保留两行,工具会识别重复与冲突,而不是静默去重。
执行
- 按 @references/guide.md 的字段表整理输入 JSON。第一次使用建议先用 @references/sample.json 跑一遍,确认输出结构后再换成自己的门店。
- 用 Python 3.9+ 执行本包脚本(无第三方依赖、不联网):
python3 "<skill-directory>/scripts/run.py" "<input.json>",Windows 可用py -3。 - 先看顶层
status:REJECTED表示输入疑似含凭据(已拒绝且未回显);BLOCKED表示班次窗口非法、存在状态冲突或无效记录;INPUT_INCOMPLETE表示缺as_of或没有事项;GAPS_FOUND表示可用但有字段待补。 - 看
board.immediate:这几件事必须在交班前落地。 - 看
conflicts与duplicate_item_ids:先合并重复,再谈跟进。 - 看
items[].review_flags:优先处理OWNER_MISSING、AMOUNT_UNKNOWN、INVALID_DUE_AT。 - 看
totals_by_currency:分币种核对,不要把不同币种相加。 - 看
clarification_questions:按Q-01顺序原样发给交班人确认。 - 用
opening_checklist与markdown_summary作为开班前检查表与交接单。
运行约束
- 只读:只读取用户提供的那一个 JSON;不打开链接、不调用外部服务、不写文件、不访问任何业务系统。
- 不外发:不给员工或顾客发任何消息,不创建任务,不修改库存。
- 不判定:不做责任认定、不做工资或绩效核算、不判定现金差额归属;只把事项与证据摆到交接板上。
- 不猜测:金额、数量、币种、责任人和截止时间缺失一律保持未知并转成待确认问题,不默认为 0。
- 确定性:排序全部显式固定(分板顺序、事项输入顺序、分组键、字段名、问题编号),同一输入输出逐字节一致。
- 跨币种不合并:只按币种分组,不生成跨币种总额,不静默折算。
- 时段正确:班次与截止时间一律按显式时区偏移比较;门店时区无法解析时记
TIMEZONE_UNRESOLVED并追问,而不是用本机时区冒充。 - 脏数据不中断:重复编号、状态冲突、非法类别或状态、非法截止时间、负金额都单列标记,不中断整批处理,也不静默修复原始数据。
- 提示注入逐字段检测、位置精确、低误报:覆盖
items[].notes、items[].summary等自由文本叶子,命中时只加标记并在injection_flagged中给出精确路径(如items[3]/notes)。检测要求「动作词 + 目标词」同句共现,因此「请忽略小额尾差,财务已核销。」这类正常备注不会被误标。 - 不可信文本先转义再入简报,命中即隐藏:
markdown_summary中所有自由文本走同一转义处理(去控制字符、折叠空白、对 Markdown 元字符加反斜杠);命中注入的值改用固定占位「已隐藏疑似提示注入文本」;结构化 JSON 保留原始语义并在injection_flagged中带风险标记。 - 隐私门禁:字段名命中
password、token、api_key一类凭据名,或字符串值具备真实凭据形态,直接拒绝处理且不回显该内容。 - 免责:输出是交接信息核对材料,不是责任判定或合规结论;现金与库存差异的最终认定以门店制度、当面清点与票据为准。