@gitruck/cli 1.0.3 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENT.md +120 -0
- package/LICENSE +21 -21
- package/README.en.md +674 -626
- package/README.md +667 -624
- package/contracts/README.md +14 -14
- package/contracts/handoff-contracts.json +10 -10
- package/dist/index.js +6121 -4155
- package/package.json +2 -2
- package/skills/gtrk-ai-drama/SKILL.md +239 -221
- package/skills/gtrk-cover/SKILL.md +111 -93
- package/skills/gtrk-cover/assets/workbench-template.html +955 -955
- package/skills/gtrk-cover/references/checklist.md +81 -81
- package/skills/gtrk-cover/references/layout-recipes.md +337 -337
- package/skills/gtrk-cover/references/prompt-templates.md +119 -119
- package/skills/gtrk-cover/references/workbench-guide.md +99 -99
- package/skills/gtrk-food-recap/SKILL.md +72 -0
- package/skills/gtrk-live-slicing/SKILL.md +227 -0
- package/skills/gtrk-long2short/SKILL.md +94 -71
- package/skills/gtrk-matrix/SKILL.md +392 -354
- package/skills/gtrk-mg/SKILL.md +223 -182
- package/skills/gtrk-music-visualizer/SKILL.md +94 -76
- package/skills/gtrk-narration/SKILL.md +145 -0
- package/skills/gtrk-oralcut/SKILL.md +22 -0
- package/skills/gtrk-splitter/SKILL.md +226 -208
- package/skills/gtrk-splitter/references/example-visual-split.json +638 -638
- package/skills/gtrk-splitter/references/example-visual-split.md +439 -439
- package/skills/gtrk-style-maker/references/ammo.md +16 -16
- package/skills/gtrk-style-maker/references/contracts-ref.md +9 -9
- package/skills/gtrk-style-maker/references/seeds/README.md +4 -4
- package/skills/gtrk-style-maker/references/seeds/seed-ecom-home-goods.md +37 -37
- package/skills/gtrk-style-maker/references/seeds/seed-psych-humanities.md +35 -35
- package/skills/gtrk-talking-head/SKILL.md +157 -0
- package/skills/gtrk-tools/SKILL.md +12 -1
- package/skills/gtrk-transcript/agents/openai.yaml +4 -4
- package/skills/gtrk-travel-recap/SKILL.md +249 -212
- package/skills/gtrk-vlog-docu/SKILL.md +325 -0
- package/skills/gtrk-voiceover/SKILL.md +72 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# 卡壳弹药(受 SKILL.md 铁律 2 严格约束)
|
|
2
|
-
|
|
3
|
-
> **用法边界**:仅当用户明确卡壳时取用;单次访谈 ≤3 条;每条必须挂上用户已说内容作触发语并记录;**禁止逐条顺次遍历**(那是疑问句版表单)。这些问句问的是「某类证据在你这里存不存在」,不是让用户认领维度——他说「没有/不重要」就放下,绝不追销。
|
|
4
|
-
|
|
5
|
-
历史上有的栏目沉淀过以下几类资产。对应的开放式问法:
|
|
6
|
-
|
|
7
|
-
- **参考锚点类**:「有看了就想抄的片子/导演/画师吗?——你刚说想要 XX 的感觉,有现成的东西长这样吗?」
|
|
8
|
-
- **禁忌清单类**:「有没有哪种效果,一出现你就想关掉?」
|
|
9
|
-
- **色彩纪律类**:「你刚提到颜色——你的画面里颜色是谁说了算?有数量限制吗?」
|
|
10
|
-
- **重复仪式类**:「有没有什么东西你每期都会做一遍?(开场方式/某个符号/某种收尾)」
|
|
11
|
-
- **强调手段类**:「你想让观众'看这里'的时候,通常怎么做?这招用得多吗、有没有用滥的担心?」
|
|
12
|
-
- **文字出场类**:「文字在你画面里是什么身份——主角、旁注、还是尽量不出现?」
|
|
13
|
-
- **节奏习惯类**:「你剪东西时,什么时候觉得'该停一下了'?」
|
|
14
|
-
- **质感偏好类**:「你刚说不喜欢 XX 的廉价感——那你觉得'贵'的画面贵在哪?」
|
|
15
|
-
|
|
16
|
-
> 注意:以上是**证据探测方向**,不是维度清单。若用户对某方向给出实质回答,维度命名仍然用**他的原话**。
|
|
1
|
+
# 卡壳弹药(受 SKILL.md 铁律 2 严格约束)
|
|
2
|
+
|
|
3
|
+
> **用法边界**:仅当用户明确卡壳时取用;单次访谈 ≤3 条;每条必须挂上用户已说内容作触发语并记录;**禁止逐条顺次遍历**(那是疑问句版表单)。这些问句问的是「某类证据在你这里存不存在」,不是让用户认领维度——他说「没有/不重要」就放下,绝不追销。
|
|
4
|
+
|
|
5
|
+
历史上有的栏目沉淀过以下几类资产。对应的开放式问法:
|
|
6
|
+
|
|
7
|
+
- **参考锚点类**:「有看了就想抄的片子/导演/画师吗?——你刚说想要 XX 的感觉,有现成的东西长这样吗?」
|
|
8
|
+
- **禁忌清单类**:「有没有哪种效果,一出现你就想关掉?」
|
|
9
|
+
- **色彩纪律类**:「你刚提到颜色——你的画面里颜色是谁说了算?有数量限制吗?」
|
|
10
|
+
- **重复仪式类**:「有没有什么东西你每期都会做一遍?(开场方式/某个符号/某种收尾)」
|
|
11
|
+
- **强调手段类**:「你想让观众'看这里'的时候,通常怎么做?这招用得多吗、有没有用滥的担心?」
|
|
12
|
+
- **文字出场类**:「文字在你画面里是什么身份——主角、旁注、还是尽量不出现?」
|
|
13
|
+
- **节奏习惯类**:「你剪东西时,什么时候觉得'该停一下了'?」
|
|
14
|
+
- **质感偏好类**:「你刚说不喜欢 XX 的廉价感——那你觉得'贵'的画面贵在哪?」
|
|
15
|
+
|
|
16
|
+
> 注意:以上是**证据探测方向**,不是维度清单。若用户对某方向给出实质回答,维度命名仍然用**他的原话**。
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# 契约库引用(正本不在这里)
|
|
2
|
-
|
|
3
|
-
框架契约库**正本** = `@gitruck/cli` 包内 `contracts/` 目录(管线资产归管线位置):
|
|
4
|
-
|
|
5
|
-
- `contracts/README.md` — 收录双轴边界(管线性 + 脱敏)
|
|
6
|
-
- `contracts/handoff-contracts.json` — handoff 类型 → 契约映射表(**查表,不硬编码**)
|
|
7
|
-
- `contracts/gsap-emit-v1.md` — HTML 动画颗粒逐帧 seek 合规契约 v1(**含「回调与 seek 语义」一节**:颗粒可用 `onUpdate` 等时间线回调驱动画面,回调可达性由**引擎侧** MUST 条款保证,颗粒不应自加 `tl.seek` 垫片;该节是本主题的唯一口径来源)
|
|
8
|
-
|
|
9
|
-
定位方式:本 skill 经 `gtrk skills install` 安装时,CLI 包根即 `gtrk` 命令所属包(`npm root -g` 下的 `@gitruck/cli`,或开发仓根)。找不到包时,让用户跑 `gtrk doctor` 确认安装。
|
|
1
|
+
# 契约库引用(正本不在这里)
|
|
2
|
+
|
|
3
|
+
框架契约库**正本** = `@gitruck/cli` 包内 `contracts/` 目录(管线资产归管线位置):
|
|
4
|
+
|
|
5
|
+
- `contracts/README.md` — 收录双轴边界(管线性 + 脱敏)
|
|
6
|
+
- `contracts/handoff-contracts.json` — handoff 类型 → 契约映射表(**查表,不硬编码**)
|
|
7
|
+
- `contracts/gsap-emit-v1.md` — HTML 动画颗粒逐帧 seek 合规契约 v1(**含「回调与 seek 语义」一节**:颗粒可用 `onUpdate` 等时间线回调驱动画面,回调可达性由**引擎侧** MUST 条款保证,颗粒不应自加 `tl.seek` 垫片;该节是本主题的唯一口径来源)
|
|
8
|
+
|
|
9
|
+
定位方式:本 skill 经 `gtrk skills install` 安装时,CLI 包根即 `gtrk` 命令所属包(`npm root -g` 下的 `@gitruck/cli`,或开发仓根)。找不到包时,让用户跑 `gtrk doctor` 确认安装。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 种子案例库
|
|
2
|
-
|
|
3
|
-
> **种子是案例,不是模板。** 每个种子演示「一次成功的风格接生最终长什么样」——注意看的是**产出的形态**(维度有名字、铁律带自检、家族互相路由、词表单点定义),不是维度本身。不同栏目的维度截然不同:用户的栏目跟任何种子都不像时,从零引导(七招),绝不套种子结构。
|
|
4
|
-
> 种子一律**削减版**(组织维度 + 词表 + 自检结构),且已脱敏(无外部供应商/平台名——完整版在各栏目主自己的作坊,不随框架分发)。
|
|
1
|
+
# 种子案例库
|
|
2
|
+
|
|
3
|
+
> **种子是案例,不是模板。** 每个种子演示「一次成功的风格接生最终长什么样」——注意看的是**产出的形态**(维度有名字、铁律带自检、家族互相路由、词表单点定义),不是维度本身。不同栏目的维度截然不同:用户的栏目跟任何种子都不像时,从零引导(七招),绝不套种子结构。
|
|
4
|
+
> 种子一律**削减版**(组织维度 + 词表 + 自检结构),且已脱敏(无外部供应商/平台名——完整版在各栏目主自己的作坊,不随框架分发)。
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
# 种子 · 家居好物带货栏目(「李姐严选」削减版)
|
|
2
|
-
|
|
3
|
-
一人主理的家居好物口播带货号。访谈收敛出的家族:**1 个 skill(单产线不切)+ 词表并入 SKILL.md**。
|
|
4
|
-
|
|
5
|
-
## 组织维度(全部来自栏目主自己的语言)
|
|
6
|
-
|
|
7
|
-
- **Step 1 = 痛点**:她的第一判断是「这货到底解决啥难受」——痛点必须**能拍出来**(一滩酱油/一声「咔」/一个乱抽屉),开头三秒戳它;且次序铁定「先戳痛点再亮卖点,反了人就划走」。痛点找不着,这单不接。
|
|
8
|
-
- **第二维度 = 上手**:信任感的唯一来源是「真人上手」——手 + 货 + 使劲的动作同画面,环境必须是过日子的地方;演不出来的卖点降级为嘴上带过,不给镜头。
|
|
9
|
-
- **第三维度 = 砸价**:价格是一个「出场动作」,不是一条信息——三选一判定(手上动作 / 憋一下再喊 / 全屏只剩一个大数),且砸之前全篇不许漏价。
|
|
10
|
-
- **第四维度 = 现在就买的理由**:结尾闭环,最后一句必须给一个说得出口的理由(马上用得上的场景 / 限时 / 赠品),不许只说「喜欢的拍」。
|
|
11
|
-
- **负面护栏 = 廉价感**:她说不出「风格是什么」,但对「什么显得廉价」秒答——七条禁令(综艺花字/满屏贴纸/「duang」类音效/抠图假背景/磨皮到看不清货/机器人配音/价格缩在角落小字)是全套规矩里最硬的资产。
|
|
12
|
-
|
|
13
|
-
## 铁律(禁令先行的产物,节选)
|
|
14
|
-
|
|
15
|
-
- 廉价感七条禁令,中一条即重剪。
|
|
16
|
-
- 前三秒只许出现「难受」:不许品牌、自我介绍、价格、参数。
|
|
17
|
-
- 砸价三选一,占零样 = 念价格,返工;砸前漏价 = 白砸。
|
|
18
|
-
- 字幕最多两行大白字;真人原声,带口音也不换机器配音。
|
|
19
|
-
- 每条铁律配自检问句(例:「只看前三秒,看没看见一个具体的难受?」「砸价那一秒,三样占了几样?」「最后五秒能不能一句话复述那个现在就买的理由?」)。
|
|
20
|
-
|
|
21
|
-
## 家族切分
|
|
22
|
-
|
|
23
|
-
单产线不切家族:只有一条产线(带货片子),封面从片中截帧、不单独生产 → 1 个 skill 足够。`produces` = 自造串「带货台本」,查 handoff 映射表未命中注册集 → 无契约绑定,登记加 `routing:"none"`。
|
|
24
|
-
|
|
25
|
-
## 词表(并入 SKILL.md 一节)
|
|
26
|
-
|
|
27
|
-
已沉淀自造词,但家族仅 1 个 skill、无跨文件漂移面 → 词表并入 SKILL.md,并写明「出现第二个 skill 时整节迁出为 `_shared` 词表,各 skill 引用不复制」。词条(全部她的原词):
|
|
28
|
-
|
|
29
|
-
**痛点 / 卖点 / 上手 / 砸价 / 信任感 / 廉价感 / 划走 / 台本**(产物名)。
|
|
30
|
-
|
|
31
|
-
## 自检结构
|
|
32
|
-
|
|
33
|
-
自检清单逐条对应铁律,问句全部可判定、且用她的词(「砸价那一秒三样占了几样?」而非「价格强调是否充分?」)。给不出判定阈值的主张(「亮堂」「干净」「东西少」——她的原话「说不上数,凭眼睛」)降级为「倾向」,单列一节,不进铁律、不进自检硬条目。
|
|
34
|
-
|
|
35
|
-
## 这个种子教你什么
|
|
36
|
-
|
|
37
|
-
维度名(痛点/上手/砸价/廉价感/划走)**只属于这个栏目**。可迁移的是形态:①**负面维度可以当第一等组织维度**——说不出「我是什么」但秒答「什么绝对不行」的创作者,禁令清单就是骨架;②**次序本身可以是铁律**(先痛后卖),不只是内容主张;③判定不了的主张降级为倾向,绝不硬凑阈值;④单产线绝不硬拆家族;⑤`produces` 写自造串完全合法——框架静默登记,管线外加 `routing:"none"` 即可,不逼创作者学管线词汇。
|
|
1
|
+
# 种子 · 家居好物带货栏目(「李姐严选」削减版)
|
|
2
|
+
|
|
3
|
+
一人主理的家居好物口播带货号。访谈收敛出的家族:**1 个 skill(单产线不切)+ 词表并入 SKILL.md**。
|
|
4
|
+
|
|
5
|
+
## 组织维度(全部来自栏目主自己的语言)
|
|
6
|
+
|
|
7
|
+
- **Step 1 = 痛点**:她的第一判断是「这货到底解决啥难受」——痛点必须**能拍出来**(一滩酱油/一声「咔」/一个乱抽屉),开头三秒戳它;且次序铁定「先戳痛点再亮卖点,反了人就划走」。痛点找不着,这单不接。
|
|
8
|
+
- **第二维度 = 上手**:信任感的唯一来源是「真人上手」——手 + 货 + 使劲的动作同画面,环境必须是过日子的地方;演不出来的卖点降级为嘴上带过,不给镜头。
|
|
9
|
+
- **第三维度 = 砸价**:价格是一个「出场动作」,不是一条信息——三选一判定(手上动作 / 憋一下再喊 / 全屏只剩一个大数),且砸之前全篇不许漏价。
|
|
10
|
+
- **第四维度 = 现在就买的理由**:结尾闭环,最后一句必须给一个说得出口的理由(马上用得上的场景 / 限时 / 赠品),不许只说「喜欢的拍」。
|
|
11
|
+
- **负面护栏 = 廉价感**:她说不出「风格是什么」,但对「什么显得廉价」秒答——七条禁令(综艺花字/满屏贴纸/「duang」类音效/抠图假背景/磨皮到看不清货/机器人配音/价格缩在角落小字)是全套规矩里最硬的资产。
|
|
12
|
+
|
|
13
|
+
## 铁律(禁令先行的产物,节选)
|
|
14
|
+
|
|
15
|
+
- 廉价感七条禁令,中一条即重剪。
|
|
16
|
+
- 前三秒只许出现「难受」:不许品牌、自我介绍、价格、参数。
|
|
17
|
+
- 砸价三选一,占零样 = 念价格,返工;砸前漏价 = 白砸。
|
|
18
|
+
- 字幕最多两行大白字;真人原声,带口音也不换机器配音。
|
|
19
|
+
- 每条铁律配自检问句(例:「只看前三秒,看没看见一个具体的难受?」「砸价那一秒,三样占了几样?」「最后五秒能不能一句话复述那个现在就买的理由?」)。
|
|
20
|
+
|
|
21
|
+
## 家族切分
|
|
22
|
+
|
|
23
|
+
单产线不切家族:只有一条产线(带货片子),封面从片中截帧、不单独生产 → 1 个 skill 足够。`produces` = 自造串「带货台本」,查 handoff 映射表未命中注册集 → 无契约绑定,登记加 `routing:"none"`。
|
|
24
|
+
|
|
25
|
+
## 词表(并入 SKILL.md 一节)
|
|
26
|
+
|
|
27
|
+
已沉淀自造词,但家族仅 1 个 skill、无跨文件漂移面 → 词表并入 SKILL.md,并写明「出现第二个 skill 时整节迁出为 `_shared` 词表,各 skill 引用不复制」。词条(全部她的原词):
|
|
28
|
+
|
|
29
|
+
**痛点 / 卖点 / 上手 / 砸价 / 信任感 / 廉价感 / 划走 / 台本**(产物名)。
|
|
30
|
+
|
|
31
|
+
## 自检结构
|
|
32
|
+
|
|
33
|
+
自检清单逐条对应铁律,问句全部可判定、且用她的词(「砸价那一秒三样占了几样?」而非「价格强调是否充分?」)。给不出判定阈值的主张(「亮堂」「干净」「东西少」——她的原话「说不上数,凭眼睛」)降级为「倾向」,单列一节,不进铁律、不进自检硬条目。
|
|
34
|
+
|
|
35
|
+
## 这个种子教你什么
|
|
36
|
+
|
|
37
|
+
维度名(痛点/上手/砸价/廉价感/划走)**只属于这个栏目**。可迁移的是形态:①**负面维度可以当第一等组织维度**——说不出「我是什么」但秒答「什么绝对不行」的创作者,禁令清单就是骨架;②**次序本身可以是铁律**(先痛后卖),不只是内容主张;③判定不了的主张降级为倾向,绝不硬凑阈值;④单产线绝不硬拆家族;⑤`produces` 写自造串完全合法——框架静默登记,管线外加 `routing:"none"` 即可,不逼创作者学管线词汇。
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# 种子 · 心理学人文栏目(《实在界漫游指南》削减版)
|
|
2
|
-
|
|
3
|
-
一人公司的心理学/人文知识口播频道。访谈收敛出的家族:**4 个 skill + 1 份共享词表**。
|
|
4
|
-
|
|
5
|
-
## 组织维度(全部来自栏目主自己的语言)
|
|
6
|
-
|
|
7
|
-
- **Step 1 = 叙事功能**:栏目主的第一判断是「这段话在叙事里干什么」——七个功能各占三阶段结构的一个位置(钩子/打击/翻译/坠落/抱持/升华/回扣),另有一个不占位置的修辞强调(金句大字)。**组件按叙事职责分类,不按形状分类**——这是他自己说出的核心取向。
|
|
8
|
-
- **第二维度 = 主题变体**:每期有一个「容器概念」(借一个学科意象翻译心理理论),容器决定当期强调色;跨期不变项(字体/间距/单点强调色纪律)与可变项(accent/底色)显式两栏。
|
|
9
|
-
- **第三维度 = 时间**:长段叙事按内部 Act 切分 + 元素生命周期表(哪个元素哪一刻入场/退场)。
|
|
10
|
-
|
|
11
|
-
## 铁律(禁令先行的产物,节选)
|
|
12
|
-
|
|
13
|
-
- 绝不引入平台角标水印;绝不用渐变/3D/投影(涵容类软轮廓除外)。
|
|
14
|
-
- 单点强调色纪律:一个画面最多一个红点,**且不是每个画面都要有**——只有需要明显强调的画面才加(稀缺性=强调的前提,实测泛滥即审美疲劳)。
|
|
15
|
-
- 概念词首次亮相 = 衬线 Heavy 大字加宽字距的固定仪式,第二次出现即降回正文。
|
|
16
|
-
- 每条铁律配自检问句(例:「这一镜真的需要红点吗?」「同画面字号层级 ≤3?」)。
|
|
17
|
-
|
|
18
|
-
## 家族切分(按 handoff 类型)
|
|
19
|
-
|
|
20
|
-
| skill | 产什么 | produces | 契约 |
|
|
21
|
-
|---|---|---|---|
|
|
22
|
-
| 拆分派单器 | 全片 beat 派单文档 | —(管线文档生产者,不登记) | — |
|
|
23
|
-
| 动态图生成 | HTML 动画颗粒 | MG | gsap-emit v1(合规项进自检) |
|
|
24
|
-
| AI 再现分镜 | 双语分镜提示词文本 | AI_DRAMA | 暂无契约 |
|
|
25
|
-
| 封面设计 | 文生图 prompt + 排字工作台 | cover + routing:"none" | 管线外 |
|
|
26
|
-
|
|
27
|
-
每个 skill 开头声明「这个 skill 不做什么 → 找谁」。
|
|
28
|
-
|
|
29
|
-
## 共享词表(漂移的解药)
|
|
30
|
-
|
|
31
|
-
叙事功能枚举曾在 6 处独立定义、数目口径打架;颜色 token 双份硬编码。收口后:一份 `_shared/<栏目>/vocab.md` 单点定义(枚举/色值/叫法/悬置区),各 skill 引用不复制,「新词先入表再用」。
|
|
32
|
-
|
|
33
|
-
## 这个种子教你什么
|
|
34
|
-
|
|
35
|
-
维度名(叙事功能/容器/红点)**只属于这个栏目**。可迁移的是形态:①用户的 Step 1 就是 skill 的 Step 1;②禁令比正面描述硬;③铁律必配自检;④多产线才切家族、切了就要互相路由;⑤共享词一旦出现在两个 skill 里就该进词表。
|
|
1
|
+
# 种子 · 心理学人文栏目(《实在界漫游指南》削减版)
|
|
2
|
+
|
|
3
|
+
一人公司的心理学/人文知识口播频道。访谈收敛出的家族:**4 个 skill + 1 份共享词表**。
|
|
4
|
+
|
|
5
|
+
## 组织维度(全部来自栏目主自己的语言)
|
|
6
|
+
|
|
7
|
+
- **Step 1 = 叙事功能**:栏目主的第一判断是「这段话在叙事里干什么」——七个功能各占三阶段结构的一个位置(钩子/打击/翻译/坠落/抱持/升华/回扣),另有一个不占位置的修辞强调(金句大字)。**组件按叙事职责分类,不按形状分类**——这是他自己说出的核心取向。
|
|
8
|
+
- **第二维度 = 主题变体**:每期有一个「容器概念」(借一个学科意象翻译心理理论),容器决定当期强调色;跨期不变项(字体/间距/单点强调色纪律)与可变项(accent/底色)显式两栏。
|
|
9
|
+
- **第三维度 = 时间**:长段叙事按内部 Act 切分 + 元素生命周期表(哪个元素哪一刻入场/退场)。
|
|
10
|
+
|
|
11
|
+
## 铁律(禁令先行的产物,节选)
|
|
12
|
+
|
|
13
|
+
- 绝不引入平台角标水印;绝不用渐变/3D/投影(涵容类软轮廓除外)。
|
|
14
|
+
- 单点强调色纪律:一个画面最多一个红点,**且不是每个画面都要有**——只有需要明显强调的画面才加(稀缺性=强调的前提,实测泛滥即审美疲劳)。
|
|
15
|
+
- 概念词首次亮相 = 衬线 Heavy 大字加宽字距的固定仪式,第二次出现即降回正文。
|
|
16
|
+
- 每条铁律配自检问句(例:「这一镜真的需要红点吗?」「同画面字号层级 ≤3?」)。
|
|
17
|
+
|
|
18
|
+
## 家族切分(按 handoff 类型)
|
|
19
|
+
|
|
20
|
+
| skill | 产什么 | produces | 契约 |
|
|
21
|
+
|---|---|---|---|
|
|
22
|
+
| 拆分派单器 | 全片 beat 派单文档 | —(管线文档生产者,不登记) | — |
|
|
23
|
+
| 动态图生成 | HTML 动画颗粒 | MG | gsap-emit v1(合规项进自检) |
|
|
24
|
+
| AI 再现分镜 | 双语分镜提示词文本 | AI_DRAMA | 暂无契约 |
|
|
25
|
+
| 封面设计 | 文生图 prompt + 排字工作台 | cover + routing:"none" | 管线外 |
|
|
26
|
+
|
|
27
|
+
每个 skill 开头声明「这个 skill 不做什么 → 找谁」。
|
|
28
|
+
|
|
29
|
+
## 共享词表(漂移的解药)
|
|
30
|
+
|
|
31
|
+
叙事功能枚举曾在 6 处独立定义、数目口径打架;颜色 token 双份硬编码。收口后:一份 `_shared/<栏目>/vocab.md` 单点定义(枚举/色值/叫法/悬置区),各 skill 引用不复制,「新词先入表再用」。
|
|
32
|
+
|
|
33
|
+
## 这个种子教你什么
|
|
34
|
+
|
|
35
|
+
维度名(叙事功能/容器/红点)**只属于这个栏目**。可迁移的是形态:①用户的 Step 1 就是 skill 的 Step 1;②禁令比正面描述硬;③铁律必配自检;④多产线才切家族、切了就要互相路由;⑤共享词一旦出现在两个 skill 里就该进词表。
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gtrk-talking-head
|
|
3
|
+
description: 通用口播视频创作图纸(口播链)——把一条或一组真人出镜的口播毛片,做成完整包装的可出片工程:外录音轨对齐换轨 → 多段拼接 → oralcut 粗剪 → 拆分派单 → B-roll/MG 字卡 → BGM → 字幕 → 客户端出片。当用户想「口播视频从毛片做到成片 / 口播完整包装 / 我拍了几段口播帮我做成一期 / 领夹麦音轨怎么合进去 / 口播加 B-roll 加字卡 / talking head 成片」时使用本 skill。凡涉及真人口播的完整成片编排,优先用本图纸驱动全链,别只跑一句 oralcut 了事、也别手搓 ffmpeg。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# gtrk-talking-head(通用口播 · 组合成片图纸)
|
|
7
|
+
|
|
8
|
+
把**真人出镜的口播毛片**(一条或一组)变成**完整包装的可出片工程**:双轨换声 → 拼段 → 粗剪 → 检查点① → 拆分 → B-roll → 字卡 → BGM → 字幕 → 客户端出片。
|
|
9
|
+
|
|
10
|
+
> **定位**:第四张 **structure 级组合图纸**。本图纸自身不新增命令,只编排零件(audio align / oralcut / split / matrix / mg / audio lay / subtitle lay——其中对轨零件 `gtrk audio align` 与本图纸同批交付)。零件参数细节以各自 skill(`/gtrk-oralcut`、`/gtrk-splitter`、`/gtrk-matrix`、`/gtrk-mg`)与 `--help` 为准,**本图纸引用不复制**;编排次序、检查点、双轨与多段规约以本图纸为准。**CLI 是手,你是脑。**
|
|
11
|
+
|
|
12
|
+
**与另外三张图纸的分野**(先对号入座再开工):
|
|
13
|
+
|
|
14
|
+
| 图纸 | 内容从哪来 | 产物 |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| 旅拍解说 | 素材 + **AI 写稿 + TTS 配音**(无真人出镜) | 完整包装工程 |
|
|
17
|
+
| 直播切片 | 直播回放,**只粗剪不包装** | 一批粗剪工程 |
|
|
18
|
+
| **口播链(本图纸)** | **真人已把内容讲完**,AI 只做剪与包装 | 完整包装工程 |
|
|
19
|
+
|
|
20
|
+
> 用户只要「剪干净」不要包装 → 那是一句 `/gtrk-oralcut` 的事,别拉全链。
|
|
21
|
+
|
|
22
|
+
## 一、输入契约与开工五问
|
|
23
|
+
|
|
24
|
+
**输入**:口播毛片本地文件(一条或多条),可带独立外录音轨(wav / MP3 / m4a / flac),可带文稿 txt。
|
|
25
|
+
|
|
26
|
+
| # | 问 | 怎么取证 | 决定什么 |
|
|
27
|
+
|---|---|---|---|
|
|
28
|
+
| ① | 一条还是多条?多条是**一期分段**还是**各自成片**? | **问用户,MUST NOT 代猜**(同日多条两种都常见) | 走不走拼段(§三) |
|
|
29
|
+
| ② | 有无独立外录音轨? | 看目录配对(每条视频旁的音频文件)+ ffprobe 时长比对 | 走不走双轨换声(§二) |
|
|
30
|
+
| ③ | 有没有文稿? | 问用户。**⚠️ 即兴内容禁传事后整理稿**——oralcut 会把「终稿外内容」当废话剪掉,即兴场景必须走无稿智能重建 | `--script` 传不传 |
|
|
31
|
+
| ④ | 毛片几何 | ffprobe | 画幅随片(**非拍板项**,与旅拍不同——那边是无中生有须拍板画幅);非标帧率会被吸附到标准值,属预期 |
|
|
32
|
+
| ⑤ | **B-roll 素材来源**(主理人 2026-08-27 真机挑刺拍板) | **问用户,MUST NOT 硬塞**:有没有本地素材文件夹(要路径)?要不要用云端素材填充? | §五 matrix 走法三选一:本地(`--local --dirs`)/ 云端 / **都不要 = 不铺 B-roll**(纯 A_ROLL + MG 字卡也是完整成片形态) |
|
|
33
|
+
|
|
34
|
+
## 二、双轨收音:对轨 → 换轨(本图纸最大的新东西)
|
|
35
|
+
|
|
36
|
+
真实口播几乎都是**双轨收音**:相机内录只是参考声,领夹麦/录音笔的外录才是成片要用的。而粗剪链吃的是视频文件里的音轨 ⇒ **先把外录换进去,转写和成片就都是外录声**。
|
|
37
|
+
|
|
38
|
+
**对轨是可选前置**:用户给的毛片若已换好轨(或本就单轨无外录),本节整体跳过、后续零差别——链路不检查任何「对轨凭据」。
|
|
39
|
+
|
|
40
|
+
### 一条命令,不用人判两态
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
gtrk audio align "<毛片>" "<外录>"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
已对齐、未对齐**都直接跑自动分支**——已对齐的素材会测出 offset≈0 且高置信(真机实证:三段等长 wav
|
|
47
|
+
全测得 0、置信度 8.8–13.6)。**测出 0 比假设 0 更稳**:万一素材其实没对齐,假设 0 会静默错轨。
|
|
48
|
+
`--offset 0` 只在你确知偏移时用(跳过检测省几秒)。
|
|
49
|
+
|
|
50
|
+
命令自动互相关测偏移并给**置信度**,按置信度分流:
|
|
51
|
+
|
|
52
|
+
1. **置信度 ≥ 阈值** → 直接换轨产 `<名>_extaudio.mp4`,回执打印偏移/置信度,**零人工**。
|
|
53
|
+
2. **置信度 < 阈值** → 不猜、不硬上:命令产一个**对齐工程** `<名>_align.gtrk`(视频 + 外录双素材)——让用户在**客户端时间线上拖音轨对齐**(有波形有预览,比任何抽听都直观),保存后:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
gtrk audio align --resume "<名>_align.gtrk"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
读回人工确认的偏移,完成换轨。
|
|
60
|
+
|
|
61
|
+
> 命令面细节(`--offset` / `--threshold` / `-o` / `--json`)以 `gtrk audio align --help` 为准,本节不搬手册。
|
|
62
|
+
|
|
63
|
+
### 三条纪律
|
|
64
|
+
|
|
65
|
+
- ⚠️ **换轨产物是新文件,且是后续工程的素材——用户必须留存**,删了工程就素材脱机(同直播切片的切段警告)。
|
|
66
|
+
- **内录不丢弃**:原毛片原地不动就是保底轨,外录出问题(爆音/断录)随时回退重跑。
|
|
67
|
+
- 闭环:oralcut 产的工程本来就进客户端 ⇒ **对齐效果(唇音同步)最终以客户端预览为准**——兜底与验收用同一个工具。
|
|
68
|
+
|
|
69
|
+
## 三、多段一期:concat-first
|
|
70
|
+
|
|
71
|
+
一期内容由多段毛片构成时(分场景拍摄、换机位重启录制),**先拼后剪**:
|
|
72
|
+
|
|
73
|
+
1. **参数一致性四查**:编码 / 几何 / 帧率 / 音频采样率(`ffprobe` 逐段比对)。同机位同期拍摄基本都一致。
|
|
74
|
+
2. 一致 → `-c copy` 无损拼接(先逐段完成 §二 换轨再拼):
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
printf "file '%s'\n" seg1_extaudio.mp4 seg2_extaudio.mp4 seg3_extaudio.mp4 > list.txt
|
|
78
|
+
ffmpeg -f concat -safe 0 -i list.txt -c copy "<工作区>/inputs/<期名>_full.mp4"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
3. 对拼接产物跑**一次** oralcut——一份工程、一次计费、粗剪自然跨段(段间的重录/垫场会被当停顿剪掉)。
|
|
82
|
+
4. **参数不一致**(罕见)→ 逐段各跑 oralcut 出 N 份工程、拼接归用户在客户端做。**MUST NOT 静默转码统一参数**。
|
|
83
|
+
5. 拼接产物同受「留存」警告。
|
|
84
|
+
|
|
85
|
+
## 四、粗剪与检查点①(必停)
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
gtrk oralcut "<inputs/…_full.mp4>" --lang zh-CN [--script 稿.txt] [--preset concise]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
命令与参数细节归 `/gtrk-oralcut`,本节只管**走查什么**:
|
|
92
|
+
|
|
93
|
+
1. **粗剪回执走查**:时长压缩比是否合理(口播毛片通常剪去 20–50%)、report 剪除项抽查 2–3 处是否真是废话。**剪错了真内容** → 换 `--preset steady` 或开 `--visual-assist` 重跑,MUST NOT 带着错误粗剪往下铺。
|
|
94
|
+
2. **BGM 拍板(双来源,推荐必附试听链接)**:用户自带音乐 → 问是否 `audio_separation` 分离取伴奏;没带 → 素材矩阵按内容基调搜 3–5 首附试听直链。
|
|
95
|
+
3. **字幕样式拍板**:给样式候选,用户没选用 default。
|
|
96
|
+
|
|
97
|
+
以上三项一次确认完 = 检查点①收口。
|
|
98
|
+
|
|
99
|
+
## 五、拆分与铺轨:三车道,无 AI 再现
|
|
100
|
+
|
|
101
|
+
口播链拆分**只派三车道**(拍板:口播场景不需要 AI_DRAMA):
|
|
102
|
+
|
|
103
|
+
- **A_ROLL 主导**:真人出镜是叙事主体——大部分 beat 就该是 A_ROLL,别为了「丰富」硬切走人。
|
|
104
|
+
- **FILM_BROLL 辅助**:只在**需要视觉支撑**处切出(提到具体事物/场景/数据来源时),切出必回。
|
|
105
|
+
- **MG 字卡强调**:金句、要点列举、数字——叠加强调,不抢主体。
|
|
106
|
+
|
|
107
|
+
流程与制片顺序(遵既有定序,细节归各车道 skill)。**B-roll 步按开工⑤的确认结果走**:
|
|
108
|
+
用户给了本地素材夹 → `gtrk matrix --local --dirs`;同意云端 → `gtrk matrix`;都不要 →
|
|
109
|
+
**跳过 matrix,拆分稿不派 FILM_BROLL**(对应 beat 改 A_ROLL + MG 强调)——别给用户硬塞素材。
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
gtrk split(投影 → 你写拆分稿 → 落地)→ gtrk matrix(按⑤走或跳过)
|
|
113
|
+
→ 全局抽帧检查构图 → gtrk mg(字卡,§六风格)→ gtrk audio lay(BGM,-20dB 口径)
|
|
114
|
+
→ gtrk subtitle lay(检查点①拍板样式)→ 客户端打开出片
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
拆分稿写完自查两条:
|
|
118
|
+
- **lane 里出现 AI_DRAMA 即改派**(机检 grep 即可);
|
|
119
|
+
- **字卡要产颗粒的,aux 必须用 `type:"overlay"` + handoff(含 duration_hint)**——`quote-card` 等
|
|
120
|
+
前七类 aux 只是语义标注、**不产派单**(真机踩过:五张字卡全写成 quote-card,dispatch.mg 为空)。
|
|
121
|
+
|
|
122
|
+
## 六、MG 风格:内容驱动的临场泛化(成片型图纸通用条款)
|
|
123
|
+
|
|
124
|
+
> 横切原则**正本已迁仓内《成片型图纸公约》§三**(`docs/成片型图纸公约.md`,主理人 2026-08-27 拍板,射程 = 所有含 MG 铺轨面的成片型图纸);本节是口播链的执行文本,改公约须同批同步。旅拍图纸 §六「因势象形」是它的旅拍实例。
|
|
125
|
+
|
|
126
|
+
- **有栏目风格 skill** → 走栏目(经栏目配置注入),本节不适用。
|
|
127
|
+
- **没有栏目风格 skill** → **按当下这片的内容,现场泛化一套自洽风格直接用**:
|
|
128
|
+
1. 先从内容调性推**风格基调**:讲什么(严肃知识 / 情感陪伴 / 轻快种草)→ 定配色倾向(沉稳深色系 / 暖色低饱和 / 高亮对比)、字体气质(书卷 / 圆润 / 利落)、动效克制度(知识类稳、情绪类柔、种草类快);
|
|
129
|
+
2. 基调定了**全片贯彻**:同片所有颗粒同一套色板与字体气质,MUST NOT 逐颗粒各自为政;
|
|
130
|
+
3. **两个 MUST NOT**:不把某套固定「通用默认风格」死板套在所有片子上(那是换了个形态的强行锚定);不因为没有栏目 skill 就放弃风格一致性(那是没有风格)。
|
|
131
|
+
- 一句话:**风格必须有,但不强行锚定**——锚在这一片的内容上,而非某个预设模板上。
|
|
132
|
+
|
|
133
|
+
## 七、文风铁律(继承通用框架层,射程 = 一切 AI 产文本)
|
|
134
|
+
|
|
135
|
+
口播链**没有写稿环节**(内容是用户自己讲的),三段式写稿规约不适用。但你产出的**每一段文本**——字卡文案、标题、HashTag、简报——全量适用通用框架层的文风铁律(正本见 `gtrk-travel-recap` §三通用框架层):
|
|
136
|
+
|
|
137
|
+
- **禁「否定—转折」对举句式家族**(「不是 X 而是 Y」「不仅…更是」「与其…不如」及全部变体;含标题与 HashTag)——能直接陈述的事实绝不用对举包装;
|
|
138
|
+
- 禁模板连接词、拒翻译腔、禁幼稚拟声;
|
|
139
|
+
- **裁剪版自校验**(产出前逐项过):对举句式零命中 / 重复字错字扫描 / 字卡文案与用户原话事实一致(**别替用户改口径**——他说「大概三成」你别写「30.2%」)。
|
|
140
|
+
|
|
141
|
+
## 八、双模式
|
|
142
|
+
|
|
143
|
+
| 模式 | 停点 |
|
|
144
|
+
|---|---|
|
|
145
|
+
| **快速成片** | 开工五问 → 检查点①(§四,必停一次)→ 一杆到底(含 SOP 既有的「B-roll 铺完抽帧检查」,归入快速语义不再单独打扰用户) |
|
|
146
|
+
| **逐步推进模式** | 每步停:对齐/拼段确认 → 粗剪回执 → 拆分稿 → B-roll 候选 → 字卡 → BGM/字幕逐项确认 |
|
|
147
|
+
|
|
148
|
+
双轨低置信度兜底(§二)在两种模式下都会停——那是数据正确性问题,不归模式管。
|
|
149
|
+
|
|
150
|
+
## 九、计费与排错
|
|
151
|
+
|
|
152
|
+
- 跑前 CLI 自动查实时价并打印,**原样转述**;计费按上传物音频时长(≈毛片时长)。
|
|
153
|
+
- **concat-first 的计费含义**:拼成一条跑一次 ≈ 各段分别跑的总和(时长相加),差别在**工程份数与人的操作量**,价钱差别不大——别拿「省钱」当拼段理由,拿「一份工程」当理由。
|
|
154
|
+
- 排错以 `/gtrk-oralcut` 排错节为准,本图纸只补双轨/多段特有的:
|
|
155
|
+
- **成片人声与口型错位** → 偏移错了。回 §二用客户端对齐工程重测,换轨重跑;
|
|
156
|
+
- **拼接产物在某段交界处画面卡顿/音画渐飘** → 段参数其实不一致(四查漏了帧率的分数形式差异),改走逐段兜底;
|
|
157
|
+
- **粗剪把段间垫场剪得太狠/不够** → 那是节奏预设的事,回 §四换 preset。
|
|
@@ -48,7 +48,7 @@ description: gtrk 单点工具与媒体转换能力的调用向导,覆盖 `gtr
|
|
|
48
48
|
| `piano_audio_to_midi` | 「钢琴扒谱 / 钢琴音频转 MIDI / 提取 MIDI」 | 单条音频 | MIDI 文件 `.mid` | 运行前实时查询 | 已上线 |
|
|
49
49
|
| `piano_audio_enhance` | 「钢琴录音修复 / 增强钢琴音质」 | 单条音频 | 高质量 WAV + 配套 MIDI(双产物) | 运行前实时查询 | 已上线 |
|
|
50
50
|
| `image_to_square` | 「长图转方图 / 把长图变方的」 | 单张图片;可选 `--max-line`(≤20000) | 方形图片 | 运行前实时查询 | 已上线 |
|
|
51
|
-
| `image_to_live` | 「图片变 LivePhoto / 静图微动 /
|
|
51
|
+
| `image_to_live` | 「图片变 LivePhoto / 静图微动 / 让照片动起来 / 要能长按播放的动态照片」 | 单张图片;可选 `--output-format`(见下文) | 约 4 秒短视频 `.mp4`(无声);或安卓动态照片 `.jpg` + 附带同一条 `.mp4` | 运行前实时查询 | 已上线 |
|
|
52
52
|
| `image_classic_template` | 「做封面 / 智能拼图 / 标题配图出封面图」 | **多张图片**(可传多个路径,文件顺序即拼装顺序);**`--main-title <标题>` 必填**;可选 `--sub-title`、`--template-mode`、`--aspect`、`--quality`、`--output-pic-count`(服务端钳制 ≤20)、`--output-text-count`(≤20)、`--title-layout` | 封面/拼图成品(text/pic/render 三组、各组可空可多张) | 运行前实时查询 | 已上线 |
|
|
53
53
|
| `image_vertical_stitch` | 「拼长图 / 多图竖拼 / 截图接成一张长图」 | **多张图片**(可传多个路径,顺序=自上而下拼接顺序) | 一张垂直拼接长图 | 运行前实时查询 | 已上线 |
|
|
54
54
|
| `audio_tts_clone` | 「配音 / 文字转语音 / TTS / 用 xx 音色念这段 / 把这段稿子合成音频」 | **无文件**:`--text <短文本>` 或 `--text-file <txt>` 二选一(≤2000 字,服务端为真相)+ **`--speaker <音色代号>` 必填**(可用音色见官网文档,传错时报错会列出全部可用项);可选 `--text-lang`/`--output-format wav\|mp3`/`--speed`/`--split-method`/`--batch-size`(speed/切分法缺省跟随该音色调好的参数)。**计费按文本字数折算分钟(约 200 字/分钟)** | 配音音频(wav/mp3) | 运行前实时查询 | 已上线 |
|
|
@@ -108,6 +108,17 @@ description: gtrk 单点工具与媒体转换能力的调用向导,覆盖 `gtr
|
|
|
108
108
|
| 放大 9(值=画布锚点方位) | `zoom_in_center` `zoom_in_up` `zoom_in_down` `zoom_in_left` `zoom_in_right` `zoom_in_left_up` `zoom_in_right_up` `zoom_in_left_down` `zoom_in_right_down` | 以中心 / 边中点 / 角为锚点推近 |
|
|
109
109
|
| 缩小 9(锚点同上) | `zoom_out_center` 及 `zoom_out_` 同九方位 | 以对应锚点拉远 |
|
|
110
110
|
|
|
111
|
+
智能 LivePhoto 可选交付格式:`gtrk tool image_to_live ./photo.jpg --output-format motion_photo --json`。两个取值——
|
|
112
|
+
|
|
113
|
+
| 取值 | 产物 | 什么时候用 |
|
|
114
|
+
|---|---|---|
|
|
115
|
+
| `mp4`(缺省,不传即此) | 一个约 4 秒的短视频(无声) | 要拿去剪辑、投放、当 B-roll 素材 |
|
|
116
|
+
| `motion_photo` | **一个 `.jpg`**(静图末尾内嵌该视频,相册里长按即播)**外加**同一条 `.mp4` | 用户明说要「像手机拍的那种动态照片」「能长按播放的一张图」「发相册/发朋友的一个文件」 |
|
|
117
|
+
|
|
118
|
+
两种格式**同价**(交付格式只决定产物怎么封装,不改生成参数、不改计费),所以选哪个纯看用户想要什么形态。`motion_photo` 时那条附带的 `.mp4` 是白给的,不必为了拿视频再跑一次。
|
|
119
|
+
|
|
120
|
+
⚠️ **兼容边界,用户问起时如实说,别打包票**:支持该标准的安卓相册可识别并长按播放;**iOS 不识别**,在 iPhone 上就是一张普通静态图片(能正常打开、不报错);少数安卓机型可能只显示静图。用户若明确要 iPhone 上能动的,这个格式满足不了,如实讲。
|
|
121
|
+
|
|
111
122
|
这七个公共视频工具(去黑边、比例转换、防抖、蒸汽波、净化、超分、插帧)都只接本地文件,允许扩展名为 `.mp4/.avi/.mpg/.mov/.flv/.mxf/.mpeg/.ogg/.3gp/.wmv/.h264/.m4v/.ts`;不要把 `.mkv`、`.webm` 或 URL 交给它们。
|
|
112
123
|
|
|
113
124
|
- 视频比例转换:`gtrk tool video_canvas_adapt ./clip.mp4 --canvas-width 1080 --canvas-height 1920 --canvas-type rectangle --clip-start 12 --clip-end 60 --without-audio --json`。`--clip-start/--clip-end` 传起止帧序号;省略选项就沿用服务端默认,需要保留音轨时不要传 `--without-audio`。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface:
|
|
2
|
-
display_name: "视频转文字稿"
|
|
3
|
-
short_description: "将本地视频整理为带总结与时间戳的单一 Markdown"
|
|
4
|
-
default_prompt: "Use $gtrk-transcript to turn my local video into one Markdown transcript with an Agent-written summary."
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "视频转文字稿"
|
|
3
|
+
short_description: "将本地视频整理为带总结与时间戳的单一 Markdown"
|
|
4
|
+
default_prompt: "Use $gtrk-transcript to turn my local video into one Markdown transcript with an Agent-written summary."
|