---
name: gitruck-gtrk-cover
description: "封面工作台——把一期视频的封面从「设计诊断 + 文生图 Prompt」到「H5 排字工作台一键导出多尺寸 PNG」两阶段做完。阶段一产诊断与三尺寸中英双版 Prompt（用户拿去 Midjourney / Flux / SDXL / Nano Banana / 即梦 / 可灵 / 通义万相 等任意文生图平台抽图），阶段二收齐背景图后产可拖拽排字的单文件 H5 工作台、浏览器里导出原分辨率 PNG。这是**纯创作 skill、无 gtrk 命令**（抽图在外部平台、排字在用户浏览器，同 /gtrk-ai-drama）。当用户想「做封面 / 出封面 / 封面 prompt / 封面排版 / 封面工作台 / cover」时使用本 skill。通用封面工艺（两阶段交付 / T1 字数布局路由 / Prompt 槽位 / 工作台引擎）由本 skill 自持；栏目封面审美（色板 / 字体 / 意象体系 / T1 样本）从栏目配置 style.skills 里 produces==\"cover\" 的条目解析注入，绝不硬编某栏目风格。凡给成片配封面，优先用本 skill，别手搓 prompt、别让用户"
license: "MIT"
metadata:
  decimalai-skill-id: "9048dff3-2cf3-4256-8fbb-5bb2c342e68d"
  decimalai-version-id: "95291623-ccf1-4773-a87a-71d4709e7f18"
  decimalai-version: "1"
  decimalai-body-sha256: "dfa2828efc42a34a4d0cb9f3014ff1c1a9d810c33b4071c4e48b5882fd162d44"
  decimalai-name: "gitruck/gtrk-cover"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "design-media"
  decimalai-source: "https://app.decimal.ai/s/gitruck-gtrk-cover@1/SKILL.md"
---
# 封面工作台（gtrk-cover）

把一期视频的封面走完两阶段：**阶段一**产设计诊断 + 三尺寸中英双版文生图 Prompt，交棒用户去外部平台抽图；**阶段二**收齐背景图后产**定制化 H5 排字工作台**（单文件 HTML、可拖拽 / 方向键 / 数值 / 滚轮微调、逐尺寸与一键导出原分辨率 PNG），用户在浏览器里排字导出。

> **这是纯创作 skill、没有 gtrk 命令**——主链路「审美诊断 → Prompt → 外部平台抽图 → 用户浏览器拖字导出」里，抽图与排字两个环节的「手」在外部平台和用户手里；唯一的机械段（背景图压缩 + base64 注入模板）是一次模板文本替换，量级不足一条业务命令，且 `.gtrk` 工程没有封面槽位可写回（性质同 `/gtrk-ai-drama`）。别去找 `gtrk cover` 这条命令，它不存在也不该存在。

## 定位：管线外的「第 0 阶段」

封面**不在成片 SOP 序列内**（oralcut→split→matrix→mg→ai-drama→render 是片内的事），但它是观众看到的第 0 帧——**封面与标题共同组成完整的钩子**。随时可做，建议在成片定稿、标题确定之后做（互文检验需要标题）。封面产物不进渲染管线、不进派单，闭环 = 用户从工作台导出 PNG、自行投放。

## 三条铁律（先记死）

1. **业务分离：通用工艺归本 skill，栏目审美从配置解析。** 本 skill 只持对任何栏目都通用的封面工艺（两阶段交付、T1 字数/结构→布局路由、Prompt 槽位骨架、工作台引擎与自检）。**栏目专属的封面审美（色板与情绪轴、字体选型、概念→意象对照、T1 语气样本、材质与回避清单）从有效栏目配置解析注入**（见下节），**绝不硬编某栏目风格**。未绑封面风格资产的栏目 → 用中性默认兜底。
2. **两阶段不能合并。** 用户还没抽图就端出工作台 = 盲排（不看背景图排字，等于退回指令稿时代）；工作台的价值就在「因势象形地就着背景图排字」。阶段一交付后**停下等图**。
3. **审美决策由本 skill 做，工作台只暴露微调面。** 工作台暴露给用户的只有：图层位置 / 字号 / 文案 / 显隐、显式声明的装饰件开关、T1 全局样式滑杆（描边 / 发光 / 既定字色选项）、**T1 字体与字重档位（字体列表读用户本机已装字体，默认字仍由本 skill 定）**。色板体系、字体选型、布局拓扑、装饰件组合是审美决策——由你按注入的风格资产做出、交付时说明理由；用户想改审美层，**经对话增量改 HTML**（不推倒重来），别让他在工作台里找不存在的控件。

> **产物落点纪律（MUST · 全文见随包 `AGENT.md` 同名一节）**：
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程；中转本身即违规，体积不是豁免理由。
> Prompt 文本与工作台 HTML 只落**用户显式指定目录**，或有工程上下文时落 `<project>/cover/`；
> **MUST NOT** 把用户媒体（背景图 / 导出的封面 PNG / 任何大文件）复制到 agent 自有工作目录（如用户文档目录下 agent 产品自建的目录、agent 家目录缓存、会话工作区）——压缩背景图时**从原路径读取**，压缩产物直接以 base64 写进工作台 HTML，不留中间副本；
> 压缩脚本等临时文件一律放系统 temp 且**用完即删**。交付物直接写入工程目录或用户显式指定的路径；引用媒体用原路径。

## 业务分离：栏目封面风格从哪来（关键）

**封面审美不是本 skill 预设的，是从栏目配置解析出来的。** 解析链路（与 `/gtrk-ai-drama` 的 Style Lock 解析同源）：

1. **定位有效栏目**：用户 `--column <id>` 口头指定的栏目，或本地 config 的 `defaultColumn`；配置文件在 `~/.gitruck/columns/<id>.json`。本 skill 无 gtrk 命令，**直接读这个 JSON 文件**。
2. **取封面风格条目**：读 `style.skills[]`，取 `produces` **大小写不敏感归一后 `== "cover"`** 的条目。
   - 命中且未声明 `routing:"none"` → 拿它的 `ref`（指向一个 skill 目录/资源）→ **读该资产的封面风格维度**——色板与情绪轴、字体选型、概念→意象对照、T1 样本、材质与回避清单、平台安全区偏好……**读到什么维度用什么**；缺某维度就只对该维度回落中性默认，不整体放弃注入。
   - 条目声明 `routing:"none"` → 跳过（退役 / 显式停用标记）。
   - **无匹配活跃条目** → 用下面「中性默认」。
3. **注入，不臆造**：读到什么用什么；没读到就中性默认，**绝不凭栏目名猜风格、绝不套用别的栏目的调性**。

> 举例（仅示意解析机制，非硬编）：某栏目配置里有 `{produces:"cover", ref:"…/my-cover-style"}` → 读它的色板表 / 字体决策 / 意象对照注入诊断、Prompt 与工作台。换个栏目、换个 ref，注入的就是另一套审美。**本 skill 正文里不写死任何一套具体风格。**

## 前置与输入

**必要输入（没给齐就问，一次不超过 3 个）**：
1. **选题 / 视频标题**（互文检验用）。
2. **T1 封面大字**——用户亲拟的那句话（典型 4~10 字：短语 / 对偶 / 哲句 / 质问）。**T1 是用户的内容，skill 只建议拆分 / 重音处理，不擅自改写**；栏目风格资产带 T1 样本库时可据其语气提候选，仍由用户拍板。
3. **尺寸集**：缺省 16:9 / 4:3 / 3:4 三种全出，用户按分发面增减。

**可选输入（没给就推导或留空）**：
- **核心意象 / 概念**（推封面视觉主体用）——没给时从 T1 与视频内容反推；栏目资产有概念→意象对照表就先查表，查不到就现场推一条（推完问用户要不要写进他的对照表）。
- **情绪基调**——没给自己判；栏目资产有情绪轴按其轴归位。
- **栏目名（品牌戳）/ 期号**——**用户没给就不放、不编造**，交付时老实标注「未提供，可省略」。

## 两阶段工作流

### 🎨 阶段一：设计诊断 + Prompt

**Step 1 · 诊断展示**（是告知不是提问）：T1 结构诊断（字数 / 逗号对偶 / 关键词可抽性）→ 情绪 / 气质归位 → 视觉意象推导 → 布局配方选择（按 T1 字数路由，见 `references/layout-recipes.md`）→ 色板选择（从栏目色板表选一档并说理由）→ 装饰件决策（用什么 / 不用什么，**不许躲**——画面再好看也要显式决定）。

**Step 2 · 出三尺寸 Prompt**（`references/prompt-templates.md`）：每尺寸一套**英文主版 + 中文辅版**，构图差异显式化（16:9 主体居中两侧留气 / 4:3 饱满可顶三边留对角气口 / 3:4 主体中段上下舒展）。铁律：**不让生图模型渲染中文字**——字全部由阶段二工作台贴，图里只留气息性软留白。

**Step 3 · 阶段一自检**（`references/checklist.md` 阶段一 5 条）→ 结束语明确交棒：「每个尺寸抽到满意的图后传回来，我生成排字工作台」。**停，等图。**

### 🛠️ 阶段二：H5 排字工作台

**Step 4 · 收齐背景图后实例化工作台**（`references/workbench-guide.md` + `assets/workbench-template.html`）：
1. 按各图宽高比归位到尺寸档（归不上就问，别硬塞）；
2. 压缩 + base64 注入模板占位符（压缩参数与体积红线见 guide；临时脚本落系统 temp、用完即删）；
3. 按 **T1 实际字数**实例化 T1 图层（模板 `T1_KEYS` 常量驱动，5 字就 5 个逐字图层，不写死 4 字）；
4. 注入色板 CSS 变量、T1 字体与发光、装饰件、各图层默认坐标（按布局配方 + 实际画面气口微调）、T2/T5/品牌戳等附加图层初始文案；
5. 命名 `<T1>_封面排版工作台.html`，落用户指定目录或 `<project>/cover/`。

**Step 5 · 合规检查 + 交付**：占位符零残留 / 三尺寸 DEFAULTS 齐 / T1 初值两处一致 / `T1_DEFAULT_FONT` 与 CSS `.t1` 一致 / 浏览器打开控制台零报错、三尺寸切换正常（能验就验）。交付时讲清：工作台能做什么（拖拽 / 方向键 / 滚轮微调 / 文案编辑 / 显隐 / 恢复默认 / 换背景 / **换字体与字重（读本机字体）** / 逐尺寸与一键导出）、默认布局按什么选的、审美决策为什么这么做（含默认字的选型理由）；补一遍阶段二自检 4 条。

**Step 6 · 迭代三分支**：用户自己微调位置字号文案 → 工作台已支持，不用回来；**审美层要改**（换色板 / 换字体 / 去装饰件）→ 对话告诉你，增量改 HTML 重新交付；**图要重抽** → 回阶段一只改相关槽位，其余不动。

## 中性默认（未绑封面风格资产时）

栏目配置里没有 produces=="cover" 的活跃条目时，别停、别硬套别的栏目，用这套克制通用的兜底：

> **中性封面基调**：深色沉稳底 + 高对比单主体构图；T1 用无衬线特黑（系统可得的中文黑体族），纯白字 + 暗晕托底、描边不加（特黑字体加描边会镂空）、不加发光；无装饰件；Prompt 风格锚点用 cinematic illustration, clean composition, strong single subject，材质串用 subtle film grain；负面词用通用兜底（photorealistic face 之外按题材增删）。

中性默认下**不设色板情绪轴、不设概念→意象对照体系**（那些是栏目资产）。用完顺带提醒：**想要这条栏目有自己的封面视觉 DNA，去 `/gtrk-style-maker` 沉淀一套封面风格资产，登记进栏目配置 `style.skills`（`produces:"cover"`，活跃条目不加 `routing:"none"`）**，之后每期封面自动注入。

## 交付前自检

两阶段各自过 `references/checklist.md`（阶段一：意象与视频核心概念一致 / 情绪与视觉对齐 / 封面-标题互文 / 材质层 / 生成图低级错误提示；阶段二补：字的主视觉重量 / 留字位落点 / 身份锚不编造 / 分发平台安全区按平台适配）。逐条输出结果，不合格直说，不静默跳过。

## 这个 skill 不做什么 → 找谁

- **视频内的 MG 动态图 / 颗粒** → 栏目 MG 生产 skill + `/gtrk-mg`
- **AI 情景动画分镜稿** → `/gtrk-ai-drama`
- **建栏目风格体系（含封面风格资产）** → `/gtrk-style-maker`
- **成片剪辑 / 拆分 / 铺轨 / 渲染** → 成片 SOP 各步（`/gtrk-oralcut` 起）
- **替用户抽图、替用户拖字导出** → 做不到也不该做：抽图在外部平台、排字在用户浏览器，这两步是用户检查点，交代清楚后**停下等用户**。

---

## 改工程：走 `gtrk patch`，不要裸手改 JSON

跑完之后要**微调某个片段**（挪位置 / 改时长 / 切开 / 改音量）时，一律用 `gtrk patch`：

```bash
gtrk patch move --project <dir> --clip <clip_id> --to 5.0
gtrk patch trim --project <dir> --clip <clip_id> --out -1s
```

**MUST NOT 直接编辑 `.gtrk` 的 JSON。** 片段时码是两套并存的（`clip_st`+`clip_ed` 与
`clip_st`+`duration`）：改一份不改另一份，客户端优先读 `clip_ed`、后端又不强校验它 ⇒
**没人报错，成片却用了陈旧出点**。`gtrk patch` 替你做恒等式同步 + 帧对齐 + 写前全档校验。

> 参数手册在 `AGENT.md` 的「元素级编辑：`gtrk patch`」一节与 README 命令参考。
> 本节**只指路不搬手册** —— 搬过来就会长出会漂移的副本。
