封面工作台(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、自行投放。
三条铁律(先记死)
- 业务分离:通用工艺归本 skill,栏目审美从配置解析。 本 skill 只持对任何栏目都通用的封面工艺(两阶段交付、T1 字数/结构→布局路由、Prompt 槽位骨架、工作台引擎与自检)。栏目专属的封面审美(色板与情绪轴、字体选型、概念→意象对照、T1 语气样本、材质与回避清单)从有效栏目配置解析注入(见下节),绝不硬编某栏目风格。未绑封面风格资产的栏目 → 用中性默认兜底。
- 两阶段不能合并。 用户还没抽图就端出工作台 = 盲排(不看背景图排字,等于退回指令稿时代);工作台的价值就在「因势象形地就着背景图排字」。阶段一交付后停下等图。
- 审美决策由本 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 解析同源):
- 定位有效栏目:用户
--column <id> 口头指定的栏目,或本地 config 的 defaultColumn;配置文件在 ~/.gitruck/columns/<id>.json。本 skill 无 gtrk 命令,直接读这个 JSON 文件。
- 取封面风格条目:读
style.skills[],取 produces 大小写不敏感归一后 == "cover" 的条目。
- 命中且未声明
routing:"none" → 拿它的 ref(指向一个 skill 目录/资源)→ 读该资产的封面风格维度——色板与情绪轴、字体选型、概念→意象对照、T1 样本、材质与回避清单、平台安全区偏好……读到什么维度用什么;缺某维度就只对该维度回落中性默认,不整体放弃注入。
- 条目声明
routing:"none" → 跳过(退役 / 显式停用标记)。
- 无匹配活跃条目 → 用下面「中性默认」。
- 注入,不臆造:读到什么用什么;没读到就中性默认,绝不凭栏目名猜风格、绝不套用别的栏目的调性。
举例(仅示意解析机制,非硬编):某栏目配置里有 {produces:"cover", ref:"…/my-cover-style"} → 读它的色板表 / 字体决策 / 意象对照注入诊断、Prompt 与工作台。换个栏目、换个 ref,注入的就是另一套审美。本 skill 正文里不写死任何一套具体风格。
前置与输入
必要输入(没给齐就问,一次不超过 3 个):
- 选题 / 视频标题(互文检验用)。
- T1 封面大字——用户亲拟的那句话(典型 4~10 字:短语 / 对偶 / 哲句 / 质问)。T1 是用户的内容,skill 只建议拆分 / 重音处理,不擅自改写;栏目风格资产带 T1 样本库时可据其语气提候选,仍由用户拍板。
- 尺寸集:缺省 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):
- 按各图宽高比归位到尺寸档(归不上就问,别硬塞);
- 压缩 + base64 注入模板占位符(压缩参数与体积红线见 guide;临时脚本落系统 temp、用完即删);
- 按 T1 实际字数实例化 T1 图层(模板
T1_KEYS 常量驱动,5 字就 5 个逐字图层,不写死 4 字);
- 注入色板 CSS 变量、T1 字体与发光、装饰件、各图层默认坐标(按布局配方 + 实际画面气口微调)、T2/T5/品牌戳等附加图层初始文案;
- 命名
<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:
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 命令参考。
本节只指路不搬手册 —— 搬过来就会长出会漂移的副本。