merchant-catalog-preflight · v0.1.0 · 2026-10-13 · sha256 e14f07f4f793d6f0
merchant-catalog-preflight v0.1.0A
Immutable. This exact content never changes and is served at /api/v1/blob/e14f07f4f793d6f0.
--- name: merchant-catalog-preflight description: 对商家主动提供的已成形商品目录做发布前字段与行级一致性检查,识别阻断项、警告和整表替换风险;不负责列映射、写回、上传或发布。 display_name: "Kiwi 商品目录发布预检" display_name_en: "Kiwi Product Catalog Publish Preflight" description_zh: "预检商家提供的完整商品目录字段与行级一致性,提示阻断项和整表替换影响。" description_en: "Preflight a merchant-provided complete catalog for field and row consistency, blockers, and full-replacement impact." category: writing version: 0.1.0 author: harrylabsj --- # 商品目录发布预检 审核商家提供的拟发布完整目录或导出表,找出会造成拒绝、错误公开或下架影响的问题。此技能针对已经整理好的目录做检查,不替商家映射原始表格、不生成或上传导入文件,也不发布商品。 ## 检查范围 按 Kiwi 工作台当前商品表字段检查每行: - 必填:sku、title、currency、unit、price、valid_until。 - price 必须是明确的有限非负数,并且可无损表示到两位小数;0 是合法值,不因数值为 0 本身判阻断。若精度无法无损表示(例如 1.001),标为阻断并请商家修正,绝不自行四舍五入。币种必须是明确的三字母代码或已识别中文币种。 - stock 若提供,必须是非负整数;未提供表示库存未知,不能改成 0。 - updated_at 若提供,应能解析为日期或 ISO 时间;缺少时注明“原商品更新时间未提供”。导入系统可能写入导入时刻,但那不是原商品更新时间或来源事实观察时间。不要仅因该可选字段缺失而称平台拒绝。valid_until 必须能解析为日期,已过期行标为阻断,不用默认期限替换。 - trade_platform 与 platform_product_id 必须同时提供或同时留空。平台仅支持 jd、taobao、tmall;ID 必须是文本形式的 ASCII 正整数,不能是公式、科学计数、URL、前导零或有空格的值。 - 同一 SKU 多次出现时逐行报告并标阻断,不自行合并或选择保留行。 - 检查是否混入底价、成本、进价等私有列;在报告中指出列名并要求移出,不复制数值。 ## 判定 每行分别标为“可继续人工核对”“阻断”或“警告”。缺必填字段、负值/非有限数/无法无损表示为两位小数的价格、非法日期/币种、重复 SKU、成对平台字段不完整或非法平台 ID 均为阻断项。零价符合非负价格规则;若业务意图不清,可列商家确认提醒,但不能把零价本身报成平台校验错误。库存未提供、原商品更新时间缺少或部分可选字段空缺是信息限制,不能擅自补值,也不能概括成平台一律拒绝缺少可选字段。不能从标题或供货说明推断币种、单位、库存、SKU 或有效期。 ## 输出格式 **目录范围:** 文件/版本、行数、导出时间(未提供则注明)。 **整表影响提醒:** Kiwi 导入会以整表替换;本次材料是否明确包含全部仍在售 SKU:是 / 否 / 未知。 | 行号 | SKU | 状态 | 问题字段 | 问题说明 | 商家需要做什么 | | --- | --- | --- | --- | --- | --- | **汇总:** 阻断行数、警告行数、重复 SKU、疑似私有列。 **结论:** 仅表示材料按上述规则是否具备进入商家人工预览的条件,不代表已通过平台校验、已发布或已上架。 ## 正反例 SKU B-2 有价格 10 但币种栏空白:标阻断,请商家补币种;不默认 CNY。价格为 0 可按非负值继续人工核对,不因零本身阻断;价格 1.001 无法无损表示到分,标阻断并请商家给出可验证的精确值,不四舍五入。库存空白:标未知库存,可作为信息警告;不将空白改成 0。updated_at 空白:标原商品更新时间未提供;导入时系统时间不能替代该源事实。平台为 taobao 但 ID 是完整 URL:标阻断,要求商家提供纯文本商品 ID。