Skip to content
Video & Audio
Skill

/gtrk-mg

MG 动态图颗粒铺轨器——成片 SOP 第 ⑤ 步(**最后叠上**),在 B-roll 底轨三源(影视素材 / 本地素材 / AI 情景片段)全部铺齐、且 ④ 全局抽帧检查构图通过之后,把栏目的 html-particle 动态图颗粒(透明叠加 / 满屏底层)叠铺到已定稿的底轨之上。先由栏目 MG 生产 skill 按派单各槽位产颗粒,再驱动 `gtrk mg` 命令 lint + 铺进 `.gtrk` 工程的 beat_track。当用户想「铺 MG 颗粒 / 上动态图 / 铺动效 / 给这段配动画铺进工程 / 把 MG 派单铺轨 / 消费

From plugin
gtrk
96924 skills4 commands

Claude Code

$ npx -y skills add Gitruck/cli --skill gtrk-mg --agent claude-code

SKILL.md

gtrk-mg.SKILL.md
name: gtrk-mg
description: MG 动态图颗粒铺轨器——成片 SOP 第 ⑤ 步(**最后叠上**),在 B-roll 底轨三源(影视素材 / 本地素材 / AI 情景片段)全部铺齐、且 ④ 全局抽帧检查构图通过之后,把栏目的 html-particle 动态图颗粒(透明叠加 / 满屏底层)叠铺到已定稿的底轨之上。先由栏目 MG 生产 skill 按派单各槽位产颗粒,再驱动 `gtrk mg` 命令 lint + 铺进 `.gtrk` 工程的 beat_track。当用户想「铺 MG 颗粒 / 上动态图 / 铺动效 / 给这段配动画铺进工程 / 把 MG 派单铺轨 / 消费 dispatch.mg」时使用本 skill。凡涉及把 MG 动态图颗粒铺进已剪好的成片工程,优先用本 skill 驱动 gtrk CLI,别让用户自己去终端敲 `gtrk mg`。

MG 动态图铺轨(gtrk-mg)

把 `gtrk split` 派好的 **MG 槽位**(`dispatch.mg`),先由**栏目的 MG 生产 skill** 产成 html-particle 动态图颗粒,再交给 `gtrk mg` 命令 lint + 铺进 `.gtrk` 工程的 `beat_track`——**叠在已经定稿的底轨之上(B-roll 三源全落齐、构图已核)**。**CLI 是手(lint / 铺轨 / 写回),你是脑(认 SOP 位置、驱动栏目生产 skill、管用户检查点、判 lint 该不该硬铺)。栏目生产 skill 只产纯净颗粒、不知 gtrk 命令,由你驱动。**

> **本 skill 已含你需要的全部信息**(SOP 位置、业务分离、逐槽位工作流、命令参数、lint 铁律、排错、交棒)。命令参数细节以 `gtrk mg --help` 为准;颗粒的视觉/内容规范**不在这里**——那是栏目资产,由栏目 MG 生产 skill 全权负责。

你在成片 SOP 的哪一步(先认位置,别抢跑)

成片是**有序 SOP + 用户检查点**,不是并行一次铺完。全序:

> ① `/gtrk-oralcut`(剪口播)→ ② `/gtrk-splitter`(拆分派单出 `dispatch.json`)→ **③ B-roll 底轨全铺齐**(`/gtrk-matrix` 铺影视/本地素材 + `/gtrk-ai-drama` 产稿→外部出片→用户手动回铺,**两条腿同一阶段**)→ **④ 全局抽帧检查画面构图(用户确认)** → **⑤ 本 skill:MG(含 ov)最后叠上** → `gtrk subtitle lay` 上字幕(快速成片模式必做)→ `gtrk render` 收口(**会对未命中缓存的颗粒云渲、有计费**,见末节)

**你是第 ⑤ 步、也是最后一层。** MG 颗粒是**唯一的叠加层**——底下那整层底轨必须先定死(**三源全落齐**),否则你的排版避让是对着一个不完整的画面做的。

> ⚠️ **AI 情景片段属于底轨 B-roll 画面家族,不是叠加层**。先完成 AI 片段回铺,再依据最终底轨构图产出 MG,避免遮挡主体。

所以动手前先过前置硬门。

前置硬门(不满足就别铺,先回上一步)

1. **影视/本地素材 B-roll 已铺且用户已确认**:若 `dispatch.film_broll` 非空,必须 ③ 已跑过 `gtrk matrix` **且用户已在 opencut 里挑选/调整确认**。没确认 → **别铺 MG**,先回 ③。(为空 = 本片没这条腿,看下一门。) 2. ★ **AI 情景片段已回铺,或用户明示先跳过**:若 `dispatch.ai_drama` 非空,必须已回铺完(用户已把外部平台出的片子拖进工程)**或**用户**明示**「先跳过 AI、先把 MG 铺上」。

  • 外部平台抽卡可能数天,严格串行会把你无限期卡住,故留这个口子。
  • **走跳过时你 MUST 付这个对价**:把**与 AI beat 相邻或重叠区间的 MG 颗粒**逐一标记为「**AI 回铺后待复查构图**」,并在交棒 `render` 时把该清单复述给用户。**MUST NOT 静默跳过** —— 用户得知道哪几颗将来可能要返工。
  • (为空 = 本片没 AI 车道,此门自动通过。)

3. ★ **④ 全局抽帧检查已过、用户已确认构图**:对**三源合并后的最终底轨**抽帧看主体位置 / 安全区 / 画面朝向 / 明暗,用户确认无误。**这与 ③ 那次「挑选 B-roll」的确认是两次不同的确认**,别拿前一次顶替。没做 → 先做 ④ 再回来。 4. **有 split 产物**:需要一个跑过 `gtrk split` 的产物目录(含 `split/dispatch.json` 与工程 `.gtrk`)。没有 → 先回 ② `/gtrk-splitter`。 5. **`dispatch.mg` 非空**:为空 = 本片没有 MG 车道 → **别硬造**,直接 `gtrk render` 收口(见末节;无颗粒 = 零计费)。 6. **CLI 在**:`gtrk` 找不到 → 让用户装 `npm i -g @gitruck/cli@latest`(需先有 Node.js)。

业务分离:谁产颗粒(栏目),谁铺轨(本 skill)

**本框架 skill 不硬编任何栏目的视觉风格/生产内容。** MG 颗粒长什么样、用什么视觉语法,全由**栏目的 MG 生产 skill** 决定;本 skill 只负责「在对的时候、按派单、驱动它产,然后把成品铺进工程」。

**车道 → 栏目生产 skill 的解析(照此,别猜)**:读**有效栏目配置**的 `style.skills[]`(配置文件 `~/.gitruck/columns/<id>.json`;栏目 id 由 `--column <id>` 或 config `defaultColumn` 选取;零配置 = L0 内置默认栏目,**不携带 style 清单** → 必然走下方「无匹配」分支)。在 `style.skills[]` 里取 **`produces` 归一后(旧 `RRV_MG` → `MG`)等于 `MG`** 的条目 → 触发它 `ref` 指向的 skill 产颗粒。

  • 命中多条 → 按栏目约定取其一(一般栏目只登记一个 MG 生产 skill)。
  • 条目带 `routing:"none"`(管线外产物,如封面)→ 跳过,不当 MG 生产 skill。
  • **无匹配** = 本栏目没有 MG 生产 skill → 别硬铺,给用户**四选一**(都不替他选):

1. **建栏目**:`/gtrk-style-maker` 沉淀自己的 MG 生产 skill(一次性,长期资产); 2. **换栏目**:`--column <id>` 指向已配置的栏目; 3. **用中性块**:Hyperframes registry 的中性颗粒骨架(`gtrk mg fetch`,见下节「中性块工作流」)——没建栏目也能当场出 MG,但**骨架不是成品**,内容与审美 MUST 改写。 4. **用文字模板**:同合云自家的文字特效模板库(`gtrk mg fetch --source text`,见下节「文字模板工作流」)。改字走 `gtrk mg compile`、改效果走 `gtrk mg edit --say`。 ⚠️ **它的适用面由派单的 `visual_job` 决定,不由「省不省事」决定**(见下「按 visual_job 路由」)。 另可查推荐目录(公约 §三‴):`gtrk skills recommend --scene mg-explainer` 列第三方 MG 生产 skill,装完 `gtrk skills add <owner/repo> --produces MG` 登记即被本节解析到——本 skill 正文不点名任何仓、不点名任何块。 推荐目录另有一方**排版技法族**(`gtrk skills recommend --scene technique`):技法不是生产者、不登记为 MG 车道(`routing:none`),某槽位的内容形态命中某技法(如引用文献页 / 截图局部强调)时由你按槽位取用——内容与节奏按口播定、栏目色未定时用技法自带的中性底;本 skill 正文同样不点名仓。

  • **有匹配时中性块与文字模板缺省都不用**:只当栏目 skill 明显不擅长某类(如数据图表 / 界面拟物 / 纯文字入场)时可**提议**「这一槽用中性块」或「这一槽用文字模板」,用户点头才用。技法族同理——槽位内容形态命中某技法时可**提议**「这一槽用技法」(`gtrk skills recommend --scene technique`),栏目色板与字体照栏目注入,用户点头才用。

★ 按 `visual_job` 路由(不是按省事路由)

每个 MG 槽位的派单里都有一个必填的 `visual_job`(`gtrk split` 判的,四档)。 **它决定这一槽的候选集里有什么**:

| `visual_job` | 这段是什么 | 候选集 | |---|---|---| | `statement` | 单一陈述:一句话 / 一个词 / 一个标题 | 文字模板优先 | | `relation` | 有关系:对比 / 并置 / 因果 / 包含 / 递进 / 聚合 / 循环 | **文字模板不在候选集里**——手做,或栏目 skill | | `data` | 具体的量、步骤或拓扑 | 同上 | | `decor` | 不承载信息(转场 / 角标) | 中性块 / 栏目 skill |

⚠️ **`relation` / `data` 两档,`gtrk mg lint` 会硬拒文字模板颗粒**(判据取产物内嵌的 `v:"text-v0"` IR,改名骗不过去)。这不是建议,是闸。

⚠️ **被禁的是「从库里捞一个套上」,不是「用文字」。** 用排版画关系的手写颗粒 ——并置两列、中间破折号连起来、右列更重——**正是这一档要的东西**,它没有内嵌 IR,闸不拦。 区别不在媒介,在**有没有为这个意思专门做设计**。

`relation` 档的手做样例(照着改,别去库里找)

一块半透明面板,小标题 + 两行并置 + 落款:

┌─────────────────────────────┐
│        边界的姿态            │  ← 小标题,字重轻,字距开
│                             │
│    温柔  —  坚定             │  ← 两列同基线,中间破折号把它们连起来
│    和善  —  有立场           │     右列字重更重(它是「立场」那一侧)
│                             │
│  语气可以柔软,立场必须清楚    │  ← 落款,最小号
└─────────────────────────────┘

**它是纯文字画的,但它表达的是一个关系**(语气 vs 立场的对照)。 关系靠三样东西成立:**同基线的两列**、**把两列连起来的破折号**、**右列更重的字重**。 去掉任意一样,它就退回成四行不相干的字。

⚠️ **模板库给不出这个**:103 件全是单 / 双槽位的标题与字幕, **结构化排版不在它的表达力射程内**。这不是库没做好,是这一档本来就该手做。

⚠️ 这个样例留在图纸里是有目的的:**没有样例,「自己做一个」那块肌肉会随图纸一起萎缩**。 (正本:`gitruck-infra/docs/同合云顶层设计文档/模板化对自由创意的侵蚀.md` §三 第二种损失。)

⚠️ 排产顺序:先原创,后套用

`gtrk mg fetch --source text`(派单模式)在本片仍有 `relation` / `data` 槽位**没产出源 HTML** 时会**拒绝执行**,并列出是哪几个 beat。

为什么是顺序:连着看过十几颗现成品之后,「MG 该长什么样」的默认印象已经被那批东西定住了; 这时再自由发挥,发挥出来的多半还是它们的形状。**顺序本身就是一道隔离。**

⚠️ 它**牺牲了「先铺一批模板看整体效果」这种工作法**。要保留只能走 `--allow-template-first --why "<一句话>"`(一次性例外,不是开关)。 理由会写进 `<工程>/split/mg-exceptions.json`——**终端会消失,工程文件不会**, 日后翻这条片子的人查得出当初为什么按了例外。

文字模板工作流(同合云自家模板 → 改字/改效果 → lint → 铺)

> 与中性块是**两条路,别混**。中性块来自第三方、是骨架,要改字体换色板才合规(机械改写八条); > 文字模板是我方 clean-room 重写的**成品**,**MUST NOT 做机械改写、MUST NOT 直接改 HTML**。

**为什么不能直接改 HTML**:每颗文字模板都内嵌了产生它的 IR 与两个哈希,颗粒因此自带 「我是由这份 IR 编出来的」的证明(三态:`ir` 可云调 / `detached` 已脱离 / `html` 普通颗粒)。 手改一个字节,它就从 `ir` 掉到 `detached`——`gtrk mg edit` 和客户端属性面板都会拒绝它, 云端再也调不动。`gtrk mg lint` 会报非致命的 `x-ir-detached` 提醒你这件事。

逐槽位:

1. **候选**:`gtrk mg fetch --source text "<检索词>" --top 3 --json`(中文词可用:开场 / 字卡 / 标题 / 字幕 / 强调 / 打字机 / 字条 / 引用 / 气泡 / 故障 / 竖排 / 闪光 / 清单 / 计数 …)

Read more
@gitruck
Ships withgtrk

一条命令,把口播毛片变成可二次精修的剪辑工程。

Stars on GitHub

Momentum

stars in total
969
Star history of Gitruck/cli on GitHub, a chart by star-history.com

Other skills on gtrk.

openspec-apply-change

openspec-apply-change

Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through…

@gitruck@gitruckInstall Skill
openspec-archive-change

openspec-archive-chang…

Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after…

@gitruck@gitruckInstall Skill
openspec-explore

openspec-explore

Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the…

@gitruck@gitruckInstall Skill
openspec-propose

openspec-propose

Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to…

@gitruck@gitruckInstall Skill
gtrk-ai-drama

gtrk-ai-drama

AI 情景动画分镜稿生成器——把成片 SOP 第③步(B-roll 底轨阶段)分到 AI_DRAMA 车道的 beat,逐个产**四段朴素描述(故事背景 / 角色 / 分镜 / 原文文稿)+ 独立视觉基调段 + 时长预算**,中英双版;Markdown…

@gitruck@gitruckInstall Skill
gtrk-composite

gtrk-composite

合成层包装(合成颗粒)——粗剪、B-roll、字幕都定了之后,把选定时间窗做成「合成」:一段时间内的整个画面由一颗代码颗粒接管(画中画拼贴、逐句换画面、对照并排、并列卡片、字幕排版),讲者与 B-roll 作为槽位画进去。三种入口:整片铺满 / 让 AI…

@gitruck@gitruckInstall Skill

More skills from other plugins.

captions-overlay

captions-overlay

Overlay doctrine for captions in HyperFrames videos — the caption MODEL (drop / rail / embed) and the rule that captions are an…

@heygen-com@heygen-comInstall Skill
acestep

acestep

AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when…

@calesthio@calesthioInstall Skill
seedance-antislop

seedance-antislop

This skill should be used when a Seedance 2.0 prompt contains generic AI filler, hollow superlatives, vague cinematic language,…

@emily2040@emily2040Install Skill

Questions about gtrk-mg.

Which coding agents can use gtrk-mg?
gtrk-mg installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.