封面工作台——把一期视频的封面从「设计诊断 + 文生图 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、别让用户裸排版。
npx skills add https://github.com/Gitruck/cli --skill gtrk-cover
把一期视频的封面走完两阶段:阶段一产设计诊断 + 三尺寸中英双版文生图 Prompt,交棒用户去外部平台抽图;阶段二收齐背景图后产定制化 H5 排字工作台(单文件 HTML、可拖拽 / 方向键 / 数值 / 滚轮微调、逐尺寸与一键导出原分辨率 PNG),用户在浏览器里排字导出。
> 这是纯创作 skill、没有 gtrk 命令——主链路「审美诊断 → Prompt → 外部平台抽图 → 用户浏览器拖字导出」里,抽图与排字两个环节的「手」在外部平台和用户手里;唯一的机械段(背景图压缩 + base64 注入模板)是一次模板文本替换,量级不足一条业务命令,且 .gtrk 工程没有封面槽位可写回(性质同 /gtrk-ai-drama)。别去找 gtrk cover 这条命令,它不存在也不该存在。
封面不在成片 SOP 序列内(oralcut→split→matrix→mg→ai-drama→render 是片内的事),但它是观众看到的第 0 帧——封面与标题共同组成完整的钩子。随时可做,建议在成片定稿、标题确定之后做(互文检验需要标题)。封面产物不进渲染管线、不进派单,闭环 = 用户从工作台导出 PNG、自行投放。
> 产物落点纪律(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 个):
可选输入(没给就推导或留空):
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 条)→ 结束语明确交棒:「每个尺寸抽到满意的图后传回来,我生成排字工作台」。停,等图。
Step 4 · 收齐背景图后实例化工作台(references/workbench-guide.md + assets/workbench-template.html):
T1_KEYS 常量驱动,5 字就 5 个逐字图层,不写死 4 字);<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(阶段一:意象与视频核心概念一致 / 情绪与视觉对齐 / 封面-标题互文 / 材质层 / 生成图低级错误提示;阶段二补:字的主视觉重量 / 留字位落点 / 身份锚不编造 / 分发平台安全区按平台适配)。逐条输出结果,不合格直说,不静默跳过。
/gtrk-mg/gtrk-ai-drama/gtrk-style-maker/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 命令参考。
> 本节只指路不搬手册 —— 搬过来就会长出会漂移的副本。
Take gitruck/gtrk-cover from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.