Files
yingqing/skills/ecommerce-video-script/references/checklist.md
T
zycandClaude Opus 4.8 200871847a fix(core): 商品详情卖点可编辑+去假数据 / 出图后不再整页重载 / 图片长效缓存
- 商品详情页核心卖点:编辑态原是纯静态文本、且 save 不提交 selling_points,
  既改不了也存不了;改为可改/删/回车增,save 带 selling_points 一起 PATCH。
- 去掉详情页 name/cat/target/卖点 的「设计稿假数据」fallback —— 商品没卖点
  时不再凭空显示护肤品卖点,空值显示「未填写」。
- 出图成功后 submitAndPollAsset 不再整页全量 loadData(十几个 setState 触发
  全页大重渲染),只刷当前项目详情 + 轻量刷余额。
- TOS 上传对象加 Cache-Control: immutable 长效强缓存,重渲染不再重拉图。
- products 序列化器内嵌商品图/封面 preview_url(并修回错位的 read_only_fields)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 18:01:29 +08:00

53 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 输出前自检清单
> 输出 JSON 之前必读。**逐条内部过一遍,命中问题先改再输出。** 自检过程不展示给用户。
> 任一"硬校验"不通过 = 不合格,必须修。
---
## A. 输出契约校验(硬,必须全过)
- [ ] 最终只输出**一个** JSON 对象,无 schema 外的多余文字/注释。
- [ ] `tone` ∈ `{种草, 测评, 剧情, 痛点}`。
- [ ] `aspect_ratio` 存在;输入指定了就用输入值,未指定为 `"9:16"`。
- [ ] `total_duration` ∈ `{15, 30, 60, 90}`。
- [ ] `segment_count == total_duration / 15`,且 `segments` 数组长度等于它。
- [ ] 每个 `segment.duration == 15`;`index` 从 0 连续递增无跳号。
- [ ] 每个 `segment.role` ∈ `{钩子, 痛点, 卖点, CTA}`。
- [ ] 首镜 `role == 钩子`;末镜收 CTA(独立 CTA 镜,或末镜旁白末尾含明确行动指令)。
- [ ] `entities` 每项 `type` ∈ `{character, scene, product}`,`id` 全局唯一。
- [ ] `entity_refs` 与 `speaker` 引用的 id **都已在 entities 中声明**(无悬空引用)。
- [ ] **每个声明的 entity 至少被一个 segment 引用**(无孤儿 entity)。
- [ ] **至少声明 1 个 `type==scene` 实体;每个 segment 的 `entity_refs` 恰好引用一个 scene**(同环境复用同一 scene id,换环境才新建;产品特写镜也要绑所处环境的 scene)。
- [ ] `speaker` 要么为 `null`,要么指向一个 `type==character` 的 id。
- [ ] 必填字段无缺失:顶层 `hook/tone/aspect_ratio/total_duration/segment_count/entities/segments`;
每 entity 有 `id/type/name/visual_prompt/ref_index`;
每 segment 有 `index/duration/role/narration/visual/product_exposure/entity_refs`。
## B. 内容质检(钩子 / 结构 / 一致性)
- [ ] 钩子镜第一句在前 3 秒抛出钩子,套用了 `hook-library.md` 的某个公式。
- [ ] 顶层 `hook` 与钩子镜口径一致。
- [ ] 卖点镜的卖点**挂在前面铺的痛点上**,不是干罗列参数。
- [ ] CTA 给了明确动作(点小黄车/领券/主页链接)。
- [ ] 档位映射正确:role 序列符合 `methodology.md`「档位 × 黄金结构映射」表。
- [ ] 90s 的多个卖点镜**各有侧重不重复**。
- [ ] 同一角色/场景/商品全程复用同一 entity(没有给同一对象写出两份 visual_prompt)。
- [ ] 每个 `visual_prompt` 信息足够喂图模型(角色/场景/商品的外观特征写清)。
- [ ] 每镜 `product_exposure` 自然、与 role 匹配(参考方法论露出表)。
## C. 旁白红线扫描(逐镜)
- [ ] 每镜 `narration` ≤ 55 字(硬上限;目标 ≤50 留缓冲,逐字数一遍,别凭感觉)。
- [ ] 口语化,无书面腔/AI 腔("综上""不仅…而且""值得一提"等已清除)。
- [ ] **违规词扫描**:无医疗功效词(治疗/根治/抗癌/消炎/排毒/速效…)。
- [ ] **绝对化用语扫描**:无 最/第一/唯一/100%/国家级/永久/绝对/史上 等。
- [ ] 无虚假承诺(三天见效/永不反弹/包治…)。
---
## 通过标准
A 区**全部**通过 + B/C 区无红线命中 → 可输出。
任何一条不过:先改,再重跑本清单,直到全过,才输出最终 JSON。