# Create Marketing Graphics

> 为活动、促销、品牌 campaign 与倡导等传播任务创建、改版、扩展或诊断海报与营销图形，交付以假乱真的成品平面稿（单张海报、系列、社媒多尺寸套件、展示物与户外幅面）和一个能重出图的母版文件夹（HTML/CSS 画板母版、内容插槽、素材层、色与字规范、导出脚本、README）。基底是固定尺寸的分层版面：生图只产背景与主视觉素材，文字全部活字，系列只变内容不变容器。入口三判据同时成立才属本 Skill：输出是定尺寸单帧静态平面文件（PNG/JPG/PDF，不可滚动、不可交互、不分页）；一帧承载全部信息、一次扫读完；用途是传播。用于：海报、传单、KV、banner、社媒图、公众号头图与封面、灯箱、易拉宝、展板、广告图、单页邀请函、电商主图、节日贺图、视频封面、微信长图。不用于并须转出：PPT、报告、手册、杂志、学术海报与任何多页物→design-editorial-and-presentations；logo、VI、名片、品牌手册→design-brand-identities；网页、落地页、dashboard 与任何可交互界面→build-polished-visual-frontends；数据图表与重信息图→create-data-visualizations；单张无文字插画→create-illustrations-and-scenes；单个图标或图形元素→design-icons-and-symbols。

- Skill: `evermind-ai/create-marketing-graphics` (Agent Skill, multi-file: 24 files)
- Install (CLI): `npx skillmds@latest add evermind-ai/create-marketing-graphics`
- Raw SKILL.md: https://api.skillmd.com/api/skills/evermind-ai/create-marketing-graphics/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: EverMind-AI (https://skillmd.com/u/evermind-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/evermind-ai/create-marketing-graphics

---


# 创建营销传播图形（海报与套系）

## 核心目标

让没读过任务的人在三秒内读懂这张海报在说什么、五秒内相信它已经贴在街上或发在账号上。交付两样东西：
**成品平面稿**（每个触点、每个尺寸一张最终像素，像真实发布的海报，不打水印、不标"示意"、不用占位）和
**母版文件夹**（HTML/CSS 画板母版、内容插槽、素材层、色与字规范、一条命令重出全部成品）。成品给人看效果
做决定，母版让人能改内容接着出。我们做的是示例与方向，不是印刷厂文件；但示例必须像真的一样。

成品是**最好的参考效果图**：让看的人感到这件事能做到的上限，而不是把人的感知拉到"文档级"的下限。任何"怕被误认成
真实照片"的顾虑都用 `README.md` 与 `POSTER-BRIEF.md` 里的来源说明解决，从不用降级画面解决。

遵循五个原则：

1. **分层版面是基底。** 任何海报都是五层：画板 → 背景层 → 主视觉层 → 图形元素层 → 文字与品牌层。
   基底是固定尺寸的 HTML/CSS 画板，不是一张生成图；版面与全部活字只在 HTML 画板里排，SVG 只做 logo 与符号的资产格式，
   用 SVG 坐标排版面即基底失败。每张成品的主视觉或场景级背景必须是 `image_generate` 产出的位图；
   纯排版方向也不例外，它的背景层是有构图、光源与景深的场景级生成图。无缝材质、纸纹、噪点不算生成层。
2. **一个焦点、一个主视觉、一种做法。** 主视觉只有一个，只用一种做法（照片 / 抠图 / 插画 / 3D 渲染，均为生成图
   或用户真图；或纯排版），不叠加第二种；标题是唯一的第一眼。手绘几何、线描图标、"抽象形态"不是主视觉做法。
3. **活字不画字。** 标题、副标、日期地点、价格、CTA、logo 全部是真实字体的活字或矢量；生图只出背景与
   主视觉素材，prompt 里明确不要文字。
4. **系列只变内容不变容器。** 画板、背景做法、图形元素、标题位置、信息层位置、logo 位置是不变项；
   变的只有主视觉内容与文案。
5. **像真的一样。** 真名称、真日期、真地点、真价格、真 logo；场景可信、拼写正确；缩小到拇指大仍能认出。用户没给的
   事实用可信替身做到最终效果，并在 `README.md` 的《替换清单》逐项列出；成品画面上永远不出现"待替换 / 待填 / 预留"。

本 Skill 只拥有海报与营销图形的领域判断。流程与证据服从共享 `$visual-artifact-design`。长期品牌系统转交
品牌领域并继承其批准资产；编辑出版物与学术海报转交编辑领域；独立插画与数据图表转交对应领域；只有最终
消费者是网页时才组合 `$build-polished-visual-frontends`，HTML 画板不把海报变成网站。

最终消费者、目标媒介和观看环境必须写入交付合同，并以最终像素或等价终态验收；字体、图像、商标和生成资产记录来源、许可与替换边界。

什么算好，七条判据（后文以代号引用）：

- **P1 唯一焦点**：标题或主视觉之一是第一眼，其余都退后；缩到 200 px 高仍先看到它。
- **P2 三级层级**：钩子（标题 / 主视觉）→ 支撑（副标、日期地点）→ 细则（票价、二维码、赞助、法务），
  信息层默认集中在底部约 1/5；参考或阅读顺序支持其他位置时，可整体调整并在最小系统合同中记录依据，
  但日期、地点与行动入口必须容易定位，不能无规则散落。
- **P3 一个主视觉一种做法**：满版照片、抠图主体、插画、3D 渲染、纯排版只选一种；没有第二个抢眼视觉；主视觉不是手绘几何。
- **P4 活字正确**：所有文字逐字正确、字体是所选字体、字号符合观看距离；画面里没有生成的伪文字。
- **P5 系列同容器**：并排缩略像一套；不变项逐张 diff 为零；变量只在主视觉与文案。
- **P6 尺寸即规格**：每个触点用它真实的像素或毫米尺寸出图，安全区内有标题与 CTA，不是同一张图缩放。
- **P7 像真的**：没读过任务的人把它当成真实发布的海报；真 logo、真信息、可信场景，没有模板占位感。

## 0. 入口 gate：先判断这是不是本 Skill 的任务

用户不会说"我要海报"，会说"做个图 / 做个宣传 / 做个封面"。读到本 Skill 不等于任务属于本 Skill。开始任何工作前对照
下面三条，**三条同时成立才继续**；任何一条不成立，在回复里写一行"不属 create-marketing-graphics，改按 <Skill 名>"
并转到对应 Skill，不许先做再改，也不许自由归类：

1. **输出是定尺寸单帧静态平面文件**：像素或毫米定死，交付 PNG/JPG/PDF；不可滚动、不可交互、不分页。
2. **一帧承载全部信息**：读者一次扫读完，不逐页读、不逐段读。
3. **用途是传播**：宣传、告知、售卖、招募、邀请、展示。

| 用户说的是 | 判定 | 去哪 |
| --- | --- | --- |
| 海报、传单、KV、banner、社媒图、公众号头图与封面、灯箱、易拉宝、展板、广告图、单页邀请函、电商主图、节日贺图、视频封面 | 本 Skill | 继续第 1 节 |
| 微信长图、竖长推广图（定尺寸、静态、传播，但分段读） | 本 Skill，画板拉长 | 继续，尺寸清单写明总高与分段 |
| PPT、报告、手册、杂志、学术海报、任何多页或逐页读的东西 | 不是 | `design-editorial-and-presentations` |
| logo、VI、名片、品牌手册、标志应用规范 | 不是 | `design-brand-identities` |
| 网页、落地页、dashboard、任何可点可滚的界面 | 不是 | `build-polished-visual-frontends` |
| 数据图表、重信息图（读者是读数据，不是扫标题） | 不是 | `create-data-visualizations` |
| 单张无文字插画、场景图 | 不是 | `create-illustrations-and-scenes` |
| 单个图标、图形元素、纹样 | 不是 | `design-icons-and-symbols` |

边界规则：一件任务同时含海报与其他物（"海报再配一版 PPT"），海报部分按本 Skill 做，其余转出并在 README 写明；
海报里的 logo 由用户提供或按品牌 Skill 产出，本 Skill 不设计标志。判定结果写进 `POSTER-BRIEF.md` 第一行。

## 1. 先读懂任务，再决定做什么

新建或大改前，先在工作区根目录（`submission/` 之外）的 `POSTER-BRIEF.md` 写一张海报决策卡：

```yaml
主体: 品牌 / 活动 / 产品的正式名称，用户提供的 logo 与既有资产
唯一承诺: 这张海报只说的那一句话（一句，不是三句）
受众与场景: 谁、在哪、停留多久、离多远看（地铁通道 3 s / 社媒信息流 1 s / 展位 10 s / 街头 5 m）
信息层内容: 日期 / 时间 / 地点 / 票价 / 二维码或 URL / CTA 动词 / 主办与赞助（逐条原文，缺的标"未提供"）
用户列出的触点: 逐条原文
交付档位: single | series | social_kit | display_set | campaign_full
尺寸清单: 每个触点的像素或毫米尺寸与来源（平台规格 / 印刷规格 / 用户给定）
表达强度: quiet | editorial | loud
主视觉来源: route（truth_asset | generated_visual）+ 一句艺术指导；manual_svg / "不生成"不是合法取值
背景来源: route + 与主视觉的关系（同一场景外延 / 同一光源环境 / 从主视觉取色的纯色）+ 一句；纯排版方向必须是场景级 generated_visual，材质纹理不算；"默认暖白纸"不是合法取值
硬约束: 用户禁忌、既有品牌资产、语言、接收方
未知与阻断: 日期未定阻断什么、logo 缺失阻断什么
```

硬约束只来自用户要求、既有资产、语言和接收方；模型偏好的气质、色相、"想做得更完整"都不是硬约束。
信息层缺失项（公司名、嘉宾名、地址、电话、二维码）：成品上用可信替身做到最终效果，替身逐项写进 `README.md` 的《替换
清单》；二维码生成真实可扫的码指向替身 URL。
`mode` 分 `create / edit / govern / diagnose`：`create` 与改变主视觉或容器的 `edit` 走完整流程；窄 `edit`
（改日期、换一张系列）只从最早失效的一步进入；`govern` 与 `diagnose` 只读复现与定位。`campaign_full`
档位的 campaign record、渠道合同、权利与失效传播按需读取[营销传播模式](references/patterns.md)。

### 第零步：把触点翻译成档位（选技术前必做，不许跳过）

用户提需求的方式是说场合、列触点、给日期，不会写交付清单。翻译是本 Skill 的责任：

| 档位 | 用户通常怎么说 | 成品平面稿 | 母版里必须有 |
| --- | --- | --- | --- |
| `single` | "做张海报"，一个场合一个尺寸 | 定调帧 1 张 | `hero.html tokens.css sizes.json spec.md README` |
| `series` | "一套 / 一组 / 每场一张 / 每个城市一张" | 定调帧 + 系列 ≥ 3 张 + contact sheet | `single` + `series.html data.json render.mjs` |
| `social_kit` | "发朋友圈 / 小红书 / 公众号头图 / story" | 定调帧 + 1:1、4:5、9:16 三帧 | `single` + 每比例一份 HTML |
| `display_set` | "易拉宝 / 展板 / 灯箱 / 大牌 / 门头" | 定调帧 + 每种展示物一张（真实 mm 换算） | `single` + 尺寸换算表 |
| `campaign_full` | 列了多个触点、说"要投放 / 供应商要用" | 以上全部 | 全部 + campaign record |

规则：用户列了两种以上载体就至少是 `social_kit` 或 `display_set`；说"一套"就是 `series`；只有一个场合一个
尺寸才是 `single`。"印刷厂要用"翻译为尺寸与出血正确、字体内嵌，不翻译为默认交付 CMYK；用户明确要 CMYK / 四色 / 喷绘时，
CMYK 是导出步骤：HTML 画板经 Playwright `page.pdf` 出矢量 PDF，再用 Ghostscript 转 CMYK（生产级附录有探针数据），不改变
基底、五层与生成层规则。骨架与各档位裁剪
见[交付骨架](references/deliverable-skeleton.md)。

### 标杆索引 gate

在形成任何方向之前，读取 `references/poster-examples/INDEX.md`，按第零步的翻译结果（用途 × 载体 × 视觉主导）
读取**命中行**的图：用途图一张（四例）加命中的载体 / 视觉图 1–2 张，再加每个任务必读的 `anatomy.jpg`；不通读。每张记录到
`POSTER-BRIEF.md`：
看到的结构（标题位置、主视觉做法、信息层位置、系列不变项）、可迁移的规则、不可复制的资产。禁止复制任何一张
的字体、色板、图形、句式或构图。用户给了既有 campaign 资产或参考时，另存实际可查看的画面并标注哪些必须沿用。
索引与 BRIEF 里没有阅读记录，不得生成任何素材或画板。

阅读记录落成 `REFERENCE-CONTRACT`，每条关系一行：

```yaml
- fact_id: R1
  source_frame: 索引里的哪张图、哪一格（或用户给的参考文件）
  observed_relation: 看到的结构关系（如"标题占高 28%，信息层压在底部 18% 的色带上"）
  protected_axis: 迁移时不能动的轴（层级 / 面积 / 位置 / 读序）
  target_object: 本任务里承接这条关系的对象（定调帧的哪一层、系列的哪个不变项）
  representative_frame_evidence: 定调帧里它成立的像素证据
  final_frame_evidence: 终态里它仍成立的证据
  deviation_constraint: 允许偏离到哪里为止
```

至少一条宏观结构或读序、一条层级或面积关系、一条主视觉做法或系列不变项；只写颜色关系不算完成。

## 2. 立意与方向，再落到最小系统

在本节做出任何方向决定之前，完成三次阅读，顺序固定：

1. **解剖**：读取 `references/poster-examples/anatomy.jpg`。看五层怎么叠、信息层在哪、标题占多大、字号与距离
   的关系；这页决定了后面所有帧的骨架。
2. **标杆**：按索引读取用途图（四例）与命中的载体 / 视觉图。用途图里标注（Freepik）的是模板，只学版式与层级，不学占位
   文案与渐变团；真实成品连信息层与品牌落位一起学：金馬两款怎么共用一套笔触，乌镇剧目模板哪些位置不动，天猫猫头
   怎么用固定容器装 14 家品牌，BOSS 直聘怎么让文字当主视觉。
3. **风险**：按 `$review-against-ai-patterns` 第 1 节读取图鉴索引与标本。海报任务常命中 P 配色模板、B 表达块、
   D 插画画风、G 灰色小字；命中即读，不为凑页数多读。

然后建立两份工作证据，随做随记，只记会改变文件、像素或验收的决定：

**`POSTER-BRIEF.md`**——正面：要什么。包含决策卡、档位翻译、标杆阅读记录、最小系统合同、结构候选与淘汰、
定调帧证据、`KIT-MANIFEST`、生成链记录、终检段。

**`ANTI-SLOP-CHECK.md`**——负面：避什么。内容、格式与结账规则见 `$review-against-ai-patterns`；交付前对全部成品做一次全局扫描。

### 最小系统合同

候选与所有帧都从这份合同出发，写进 `POSTER-BRIEF.md`：

```yaml
画板: 触点 → 像素或毫米尺寸 → 出血 → 安全区（逐个触点）
背景层: 默认由 image_generate 生成（满版场景 / 环境 / 材质，可独立生成，也可 images=[主视觉] 外延），为主视觉服务；纯色只是例外且须从主视觉取色；一句话写它和主视觉的关系与 prompt 骨架
主视觉: 做法只选一种（满版照片 | 抠图主体 | 插画 | 抽象形态 | 纯排版）；主体是什么、占画面多大、在哪
图形元素: 系列识别用的固定形状（色块 / 椭圆 / 波纹 / 徽章 / 边框）；没有去处不建
标题: 字面、字重、字号相对画板高度的比例（1/4–1/3）、位置（顶部 | 中心）
文字层级: 标题 : 副标 : 信息层 : 细则 的字号比（如 100 : 45 : 22 : 14）；标题字距；中西文配对
信息层: 内容清单（来自决策卡）、位置（默认底部约 1/5；其他位置记录参考或阅读顺序依据）、有无 CTA 按钮 / 二维码
色: 主色 1（HEX、职责）；强调色 1；中性色 ≤ 2；深浅两种底上的文字色
系列规则: 不变项清单；可变项清单；变量来源（data.json 字段）
世界设定: 生成素材共用的场所、时段、光线、人群；所有素材发生在同一个世界
```

"高级、年轻、有冲击力"不是合同内容。颜色不能来自题材直译（音乐节就荧光、亲子就彩虹、科技就蓝紫渐变），
必须能说出主色在这个场景的近邻海报中的位置与它承担的职责。

### 结构候选

候选数量为 `1 + 未决高影响分叉数`，最多三个；先画三张 200 px 高的缩略草图（HTML 直接出小图即可），每张换
一个焦点方案。方向只有在改变主视觉做法、标题与主视觉的主次、信息层结构或系列容器时才不同；换颜色、字体、
背景纹理不构成新方向。候选用中性编号 `A / B / C`，统一尺寸与内容盲排，眯眼比较谁的焦点先被看见；分别记录
可见指纹、失败条件与淘汰理由。若区别只来自颜色或材质，全部返回。

### 字体选型（中西文都必须显式选型）

合同的字体行必须写明标题字、正文字的具体字面与理由；画板优先用真实字体文件（有网时按下表取，离线用镜像内
Noto CJK 出子集），裸用系统默认字体等于没有排版。标题的性格来自字重与字号的极端对比，不来自加粗默认黑体。

| 海报气质 | 中文标题 / 正文 | npm 包 | 拉丁配对 |
| --- | --- | --- | --- |
| 演出、节展、大促、loud | 思源黑体 Black / Heavy 当标题，Regular 正文 | `@fontsource/noto-sans-sc` | `@fontsource/anton` / `Space Grotesk` |
| 文化、戏剧、书法感、editorial | 思源宋体 Bold 标题（或手写体单字点睛） | `@fontsource/noto-serif-sc` | `EB Garamond` / `Playfair Display` |
| 人文、温度、社区、quiet | 霞鹜文楷 | `lxgw-wenkai-webfont` | `Inter` / `Source Serif 4` |
| 编号、日期、价格 | — | `@fontsource/jetbrains-mono` / `Inter Tight` | 同左 |

中文排版底线：数字与英文用拉丁字体；中西文之间留 0.25 em；标题字距收紧；标点不落行首；竖排标题用
`writing-mode: vertical-rl` 且只用于文化类。

### 画板探针 gate（生产任何素材前）

选定字体与尺寸后、生成任何图之前，先写一张只有标题、副标、信息层与色块的空画板，用 `render_file`（视口 = 画板 px，
`scale` 按触点表，`motion_mode=static`，`output_dir=proof/probe`）出图并用 `preview_file` 查看：证明所选中西文字体真的被
加载（无 tofu、无系统字体回退）、字号比例与观看距离成立、`pages/` 像素与 `document.pdf` 页面 pt 等于规格换算值（含出血）。
探针失败就停下修字体或环境，不允许"先用系统字体做完再说"。探针不是定调帧，bundle 留在 `proof/probe`。

### 图像来源纪律与清单

每一层里的每个视觉对象只选一个 route，写进 `POSTER-BRIEF.md` 的**图像来源清单**（按成品逐行：层、对象、route、
真实性边界、一句为什么是这张）：

| route | 适用对象 | 生产方式 |
| --- | --- | --- |
| `truth_asset` | 用户提供的 logo、产品照、艺人照、场地照；宣传对象是软件或网页时的真截图 | 动手前穷尽搜索任务材料并逐张查看 |
| `generated_visual` | 主视觉、场景级背景、插画、3D 物件、材质与纹理、表现型 icon、装饰形状与示意图 | `image_generate`；系列变体用 `images=[母图]` 派生 |
| `standard_symbol` | 二维码、箭头、标准操作符号；用户 logo 的矢量化 | 成熟符号家族或代码生成；位图 logo 用 `potrace` / `vtracer` 描（见 `$visual-artifact-design` `references/svg-and-vector.md`），不用代码重建 |
| `exact_graphic` | 由数据、坐标、拓扑决定的图表、地图、技术图形 | 专业库或数据驱动 renderer |

**不存在 `manual_svg`、`decorative_css`、`placeholder_as_final` 路线。SVG 是输出格式，不是路线**：手写几何做主视觉、
装饰形状、流程示意、"抽象形态"，都是图鉴 D 组病。表现型 icon 走 `generated_visual`：先生成家族母图，再用 image edit
派生，在成品尺寸下检查轮廓。色块、分隔线、网格线可以是 SVG/CSS，但它们不是视觉对象，不能顶替主视觉。

高档可得时禁止用低档：`truth_asset` 可得就不生成；无真图时 `generated_visual` 是唯一合法动作，不许留白、不许用 CSS
渐变或手写 SVG 模拟照片、材质与物件。**下面这些都不是不生成的理由**："本方向不依赖材质、灯光、场景"、"使用生成图
容易被误认成真实产品照"、"纯排版风格"、"印刷要 CMYK"、"没有产品照片"、"矢量更适合印刷"。没有产品照就生成非产品的
环境或场景级主视觉；怕误认就在 README 写来源说明。要的是让人看到上限的效果图，不是把画面降到文档级。

**生成失败不退回手绘**：出图全黑、乱码、构图不可用时重生成或用 image edit 修正，最多两轮再换 prompt 骨架；探索图不是
资产，不能当"已生成"的证据；任何情况下不许改用代码画主视觉、图形或场景来顶替。

生成图不得标注为真实产品照或真实人物，真实性边界写在 README 与 BRIEF；成品画面上不出现任何制作过程话语或
"示意 / 待替换"字样。**分辨率账**：背景与主视觉的物理像素
≥ 画板对应区域的像素（印刷件按 300 dpi、大幅面按 150 dpi 计），不够就重新生成更大尺寸或缩小显示区域，
不许拉满；交付前做一次 2 倍缩放的截图对比。生成前的艺术指导与生成后的像素检查清单，读取
`../build-polished-visual-frontends/references/assets-and-imagegen.md` 第 4、5 节，不重写。

### 素材层 gate（定调帧开始前）

`assets/generated/` 里至少有一张将作为**主视觉或场景级背景**进入成品的生成图（`image_generate` 传 `output_dir=assets/generated`），附 `prompt.txt`；无缝材质、纸纹、
噪点不满足本 gate。`POSTER-BRIEF.md` 图像来源清单有对应的 `generated_visual` 行。没有这一层不许开始定调帧，也不许以
"先排版后补图"跳过。harness 核查两件事：本任务发生过 image API 请求；生成像素在成品里达到主视觉量级（引用面积
≥ 画板 35%，且不是平铺纹理）。只有底纹整轮判败，与画面好坏无关。

### 工具清单

新建方向或更换主要工具时，在 `POSTER-BRIEF.md` 写工具清单，只回答七件事：能力与最难状态 / 候选与各一条
可观察理由 / 选择与为何例外最少 / 气质是否匹配 / 职责边界 / 如何服从最小系统合同 / 最终产物中如何证明它真的
工作。任何自建实现（自写抠图、自写字体渲染）必须先写调研过哪些现成工具与不用的一句理由；写不出就不许自建。
有网时外采字体、模板与素材是被允许且被期待的，来源记入 `THIRD_PARTY_NOTICES.md`。

## 3. 让成熟工具承担成熟能力

基底是 **HTML/CSS 画板（按物理尺寸换算成 px）+ Raven `render_file` 定尺寸出图 + `preview_file` 自检**；`image_generate`
只产素材层（背景、主视觉、抠图），从不产整张海报、从不画文字；图形元素用内联 SVG；系列与多尺寸由数据驱动的模板出图。
尺寸口径表、`scale` 取值、`render_file` 的位图回退事实与命令样式见[实现技术路由](references/implementation-routing.md)，
本节只给路由结论：

| 交付物 | 技术 | 不这样做 |
| --- | --- | --- |
| 画板与所有文字 | HTML/CSS，画板 px 由 mm 换算（96 px/in）或取平台像素，出血加进画板，五层固定 z 序，`tokens.css` 唯一色值来源，本地字体文件 | 让生成图里出现标题 / 日期 / logo；引用 CDN 字体；题目要 CMYK / 四色 / 喷绘就弃 HTML 画板改画 SVG |
| 出图与成品 | `render_file(scale=印刷 4 / 大幅面与数字 2, motion_mode=static)`，成品一律从 bundle 的 `pages/` 原样或精确缩放取得，印刷 PDF 拷 `document.pdf` | 自建截图脚本当主路径；拿 `preview/` 缩略图当成品；向用户承诺矢量 PDF |
| 背景层 | **背景层默认也是 `image_generate` 的产物**：满版场景、环境、材质都可以直接生成；主视觉定稿后用 `image_generate(images=[主视觉])` 把它的世界外延成满版背景，或另生成同一光源的环境；只有当主视觉需要留白时才用纯色，色值从主视觉取样并在 BRIEF 写明 | 渐变团、流体、发光弧当背景；不看主视觉就铺一张默认暖白纸，两个题材同一个底色 |
| 主视觉层 | `image_generate`；抠图用纯色平底生成后 ImageMagick 去底；同一世界靠 `images=[上一张]`；主视觉里要出现 logo、产品或文字实体时用多图 edit 融合（底图 + 资产 + 参考帧一次输入） | 各张各自抽卡、光线互不相干；把矢量标志或产品图贴到生成图上 |
| 图形元素 | 二维码与标准符号走 `standard_symbol`；表现型图标、装饰形状、示意图走 `generated_visual` 家族派生；只有色块、分隔线、网格线用 SVG/CSS | 每张画不同的装饰；手绘几何示意图当主视觉 |
| 系列 | `data.json` + `series.html`，`render.mjs` 填模板写 `build/`，`render_file` 逐张出图 | 手改每张 HTML |
| 多尺寸 | 每比例一份 HTML 共用 tokens；只重排、改裁切、改行长 | 同一张图直接缩放或裁切 |
| 展示物 / 户外 | mm → px 换算出大图；远看缩略测试 | 用 A4 稿放大 |
| 一致性与 proof | `montage` contact sheet；HEX 子集核对 | 人工声明"已一致" |

用户明确要求印刷厂或平台投放文件时，才读取路由文档末尾的"生产级附录"。"喷绘店要 CMYK"、"只能印四色"是交付格式要求：
HTML 画板经 Playwright `page.pdf` 出矢量 PDF，再按附录用 Ghostscript 转 CMYK；这不是放弃生成层、跳过探针或跳过 proof
的理由，也不是改用 SVG 排版面的理由。

## 4. 先完成决定成败的定调帧

在生产任何其他文件之前，先做一张定调帧：用户最主要的那个触点，真尺寸，真名称、真日期、真 logo，背景与主视觉
来自生成素材，全部文字活字，像一张已经发布的海报。

按以下顺序查看实际像素：

```text
像不像真的：真 logo、真信息、可信场景、没有模板占位感（P7）
→ 缩到 200 px 高，第一眼是不是标题或主视觉（P1）
→ 三级层级是否成立，信息层是否按合同集中组织，日期、地点与行动入口是否容易定位（P2）
→ 主视觉是否只有一个、只用一种做法（P3）
→ 逐字校对全部文字，字号是否符合观看距离（P4）
→ 尺寸与安全区是否等于规格（P6）
→ 与两张真实同类海报缩略并排，能否一眼分出是谁
```

P7 与 P1 不成立时重生成素材或回到最小系统合同，不用阴影、光效、更多装饰掩盖。定调帧未通过之前，不得生产
系列、多尺寸或展示物。通过的定调帧存入 `output/hero/`，作为后续所有帧的参考图链起点与不变项来源。

## 5. 从定调帧铺开：系列、套件与母版

定调帧稳定后，两条线并行推进，都记在 `POSTER-BRIEF.md` 的 `KIT-MANIFEST`：

```text
path / 类型（成品 | 母版 | 素材）/ 触点与尺寸 / 生成方式与参考图 / 状态 planned → built → verified / 证据
```

**成品**：按档位铺开。系列从 `data.json` 出，每张只换主视觉内容与文案；社媒三帧各自重排而不是缩放；展示物按真实
毫米换算出图。每帧过 P7、P1–P4、P6 才进入 `verified`；系列第三张完成时做一次并排缩略（P5），之后只在不变项
变化时再做。用户没点名的尺寸不做，不为"显得系统"扩张。

**母版**：`master/` 里每个比例一份 HTML，`tokens.css` 唯一色值来源，`fonts/` 真实字体，`data.json` 只含可变项，
`sizes.json` 记每份 HTML 的画板 px 与 `scale`，`render.mjs` 一条命令重出全部成品像素；`spec.md` 写画板尺寸（mm 与 px）、出血、
字号层级、色值、信息层内容与系列不变项；
`assets/generated/` 每张素材附 prompt 与参考图链。成品里每个像素都能指回母版或素材。

一致性在本节执行，不留到终检：所有成品并排缩略像一套；色值只在 `tokens.css` 定义一次；某个触点若需要新的字体、
新的图形元素或新的标题位置，返回最小系统合同。`README.md` 核对清单与文件夹一致，写明档位、每个文件的尺寸与
用途、重出图命令。

## 6. 看见这些迹象就停下来重构

制作中出现下列任一项，立即停下并更新 `ANTI-SLOP-CHECK.md`：

- 生成图里出现了文字、伪文字、水印，或干脆整张海报是一张生成图（P4、原则 3 失败）；
- 成品里没有任何位图层，全是排版与线描图形（原则 1、素材层 gate 失败）；
- 主视觉、示意图或装饰形状是手绘几何 SVG，生成图只当底纹（route 违规、图鉴 D 组）；
- 成品位图追不到任何 `render_file` bundle，版面没经 HTML 画板；场景图里的 logo 或产品是贴上去的，无厚度无光影；
- 渐变团、流体、发光弧线、粒子当背景或主视觉；抠图人物悬浮在渐变上（图鉴 P / B 组）；
- 两个抢眼视觉、两个标题、三种字体（P1、P3 失败）；
- 信息层散落在四角，日期和地点找不到，二维码是占位方块（P2、P7 失败）；
- 系列里每张的标题位置、logo 位置、图形元素都不一样；或者每张只是同一张图换颜色（P5 失败）；
- 社媒尺寸是海报直接裁切，标题被切掉一半（P6 失败）；
- 题材直译：音乐节就荧光渐变、亲子就彩虹卡通、科技就蓝紫光线、美食就暖黄光斑；
- 背景与主视觉无关：默认暖白 / 米纸底，换个题材还是同一个底色，背景没有为主视觉服务（图鉴 P 组模板病）；
- "Lorem ipsum"、"your logo here"、"image not included" 一类模板残留，名称写成"某某品牌"或"贵司"，画面上有
  "待替换 / 待填 / 预留"（P7 失败）。

海报专项标本已回填进共享图鉴：P6 素纸底开窗、B7 生成场景上压纸色参数卡、N7 参数做成柱状图、G4/G5 免责小字、
O5 英文大写加编号眉题、D4 示意图当主视觉。上述信号按组对应：纸卡压图→B、素纸底→P、手绘几何主视觉→D、占位→H。

## 7. 按风险检查，不制造审查循环

- **方向检查**：定调帧完成时，只看 P7、P1–P4、P6 与同类并排。
- **系列检查**：系列第三张或社媒第二帧完成时做一次并排缩略，之后只在不变项变化时再做。
- **最终检查**：最后一次可见修改后，打开全部成品与 contact sheet；先以首次观看者身份写下"没读过任务的人
  3 秒看到什么、20 秒内能否找到日期地点或行动入口、信不信它是真的"，记入 `POSTER-BRIEF.md` 终检段；再把
  定调帧与所读标杆格并排，写出"它仍强于本产物的三点"，每点指到一个可改的层或对象。
- **Diagnose / Audit**：只读复现和定位，不进入制作轮次。

执行六个返工测试：

- **眯眼测试**：每张缩到 200 px 高，第一眼必须是标题或主视觉；不是就回结构候选。
- **5-10-20 测试**：5 秒读懂标题、10 秒看完主视觉、20 秒内找到日期地点或二维码；超时的那一层重排。
- **逐字校对**：把成品里所有文字与决策卡的信息层原文逐字比对；生成素材里不得残留任何字形。
- **字号距离表**：按观看距离核对标题与信息层字号（每 3 m 约 25 mm 字高；社媒标题 ≥ 画面高 8%）。
- **系列 diff**：不变项逐张比对为零；把两张系列互换文案后仍成立，说明容器成立。
- **真实感测试**：任选两张给没读过任务的视角，会不会被当成真实发布的海报；被识破的原因逐条修，不解释。
- **上限测试**：把成品与所读标杆并排，问"这像一张让客户看到上限的效果图，还是像一份排版文档"；像文档就回素材层
  gate 补生成层或换主视觉做法。

reviewer 与 `SELF_REVIEW_ONLY` 规则见 `$review-against-ai-patterns` 第 3 节。

## 8. 完成条件

交付前确认：

- `POSTER-BRIEF.md` 含决策卡、档位翻译、`REFERENCE-CONTRACT`（每条有代表帧与终帧证据）、画板探针记录、最小
  系统合同、候选与淘汰、定调帧证据、`KIT-MANIFEST`、图像来源清单（逐成品）、工具清单、生成链记录与终检段
  （含首见描述与并排三点）；无"待回填 / 待检查"；
- 定调帧通过 P7、P1–P4、P6，原图在 `output/hero/`，且早于全部其他成品；
- 成品覆盖用户全部触点与档位要求的尺寸，每帧 `verified`，`output/contact-sheet.jpg` 并排像一套；
- `submission/` 与档位骨架一致；`master/tokens.css` 是唯一色值来源，`master/fonts/` 有真实字体，`spec.md` 有字号
  层级与系列不变项，`README.md` 的重出图命令 `node master/render.mjs` 真实跑过一次且尺寸对上；
- 七个返工测试有真实结论，逐字校对、真实感与上限测试没有未修的项；
- `assets/generated/` 至少一张作为主视觉或场景级背景进入成品，图像来源清单有其 `generated_visual` 行；所有新建 inline SVG
  与 `.svg` 已逐项登记归类（`standard_symbol` / `exact_graphic` / 色块网格），未登记即未完成；成品画面无"待替换"类字样，
  缺失事实在 `README.md`《替换清单》逐项列出；
- 探针帧、定调帧终帧与 contact sheet 的 `render_file` bundle 在工作区根目录 `proof/`（含 `pages/` 与 `document.pdf`），
  成品像素与 `pdfinfo` 页面尺寸都对上规格换算值；
- `ANTI-SLOP-CHECK.md` 已按 `$review-against-ai-patterns` 的完成条件结账；
- 只报告真实完成、检查范围、`SELF_REVIEW_ONLY` 与已知限制。

`campaign_full` 的 campaign record、渠道合同、权利与失效传播见[营销传播模式](references/patterns.md)；专业软件
的能力边界按需读取[专业工具能力档案](references/tool-profiles.md)。

