@gitruck/cli 0.2.6 → 0.2.7
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 +2 -2
- package/README.md +116 -10
- package/contracts/README.md +1 -1
- package/contracts/handoff-contracts.json +2 -2
- package/dist/index.js +513 -26
- package/package.json +2 -2
- package/skills/gtrk-ai-drama/SKILL.md +209 -0
- package/skills/gtrk-matrix/SKILL.md +111 -0
- package/skills/gtrk-mg/SKILL.md +97 -0
- package/skills/gtrk-oralcut/SKILL.md +6 -0
- package/skills/gtrk-splitter/SKILL.md +31 -11
- package/skills/gtrk-splitter/references/example-visual-split.json +20 -20
- package/skills/gtrk-splitter/references/example-visual-split.md +11 -11
- package/skills/gtrk-splitter/references/field-schema.md +37 -9
- package/skills/gtrk-style-maker/SKILL.md +6 -0
- package/skills/gtrk-style-maker/references/seeds/seed-psych-humanities.md +1 -1
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
"irreplaceability": "可被 B-roll 替代",
|
|
44
44
|
"handoff": {
|
|
45
45
|
"queries": [
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
46
|
+
"都市独处 夜晚",
|
|
47
|
+
"地铁 疲惫 通勤",
|
|
48
|
+
"关系破裂 争吵"
|
|
49
49
|
],
|
|
50
50
|
"shots": 6,
|
|
51
51
|
"per_shot_sec": 2,
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
"irreplaceability": "可被 B-roll 替代",
|
|
71
71
|
"handoff": {
|
|
72
72
|
"queries": [
|
|
73
|
-
"
|
|
74
|
-
"
|
|
73
|
+
"深夜 失眠 闪回",
|
|
74
|
+
"伴侣 争吵 冷战"
|
|
75
75
|
],
|
|
76
76
|
"shots": 4,
|
|
77
77
|
"per_shot_sec": 2.5
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"to": "u0013"
|
|
119
119
|
},
|
|
120
120
|
"base_track": "旁白主导",
|
|
121
|
-
"lane": "
|
|
121
|
+
"lane": "MG",
|
|
122
122
|
"narrative": "container-translation",
|
|
123
123
|
"container_stage": "expand",
|
|
124
124
|
"rhythm": "平稳",
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"to": "u0016"
|
|
140
140
|
},
|
|
141
141
|
"base_track": "旁白主导",
|
|
142
|
-
"lane": "
|
|
142
|
+
"lane": "MG",
|
|
143
143
|
"narrative": "container-translation",
|
|
144
144
|
"container_stage": "translate",
|
|
145
145
|
"rhythm": "渐升",
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
"narrative": "trauma-repetition",
|
|
179
179
|
"theme": "freud-fort-da",
|
|
180
180
|
"emotion_stage": "abyssal",
|
|
181
|
-
"platform": "
|
|
181
|
+
"platform": "kling",
|
|
182
182
|
"shot_count": 5
|
|
183
183
|
},
|
|
184
184
|
"aux_layers": [
|
|
@@ -210,8 +210,8 @@
|
|
|
210
210
|
"irreplaceability": "可被 B-roll 替代",
|
|
211
211
|
"handoff": {
|
|
212
212
|
"queries": [
|
|
213
|
-
"
|
|
214
|
-
"
|
|
213
|
+
"社交媒体 评论区 对骂",
|
|
214
|
+
"手机屏幕 戾气 弹幕"
|
|
215
215
|
],
|
|
216
216
|
"shots": 5,
|
|
217
217
|
"per_shot_sec": 1.8,
|
|
@@ -244,8 +244,8 @@
|
|
|
244
244
|
"irreplaceability": "可被 B-roll 替代",
|
|
245
245
|
"handoff": {
|
|
246
246
|
"queries": [
|
|
247
|
-
"
|
|
248
|
-
"
|
|
247
|
+
"荒野 草丛 风声",
|
|
248
|
+
"都市 人群 疏离"
|
|
249
249
|
],
|
|
250
250
|
"shots": 4,
|
|
251
251
|
"per_shot_sec": 2.2
|
|
@@ -291,8 +291,8 @@
|
|
|
291
291
|
"irreplaceability": "可被 B-roll 替代",
|
|
292
292
|
"handoff": {
|
|
293
293
|
"queries": [
|
|
294
|
-
"
|
|
295
|
-
"
|
|
294
|
+
"心理疗愈 商品 广告感",
|
|
295
|
+
"打枕头 发泄 房间"
|
|
296
296
|
],
|
|
297
297
|
"shots": 5,
|
|
298
298
|
"per_shot_sec": 1.8,
|
|
@@ -325,8 +325,8 @@
|
|
|
325
325
|
"irreplaceability": "可被 B-roll 替代",
|
|
326
326
|
"handoff": {
|
|
327
327
|
"queries": [
|
|
328
|
-
"
|
|
329
|
-
"
|
|
328
|
+
"亲密关系 反复 争执",
|
|
329
|
+
"童年 阴影 家庭"
|
|
330
330
|
],
|
|
331
331
|
"shots": 4,
|
|
332
332
|
"per_shot_sec": 2.5
|
|
@@ -371,7 +371,7 @@
|
|
|
371
371
|
"to": "u0036"
|
|
372
372
|
},
|
|
373
373
|
"base_track": "旁白主导",
|
|
374
|
-
"lane": "
|
|
374
|
+
"lane": "MG",
|
|
375
375
|
"narrative": "abyssal-fall",
|
|
376
376
|
"container_stage": "rupture",
|
|
377
377
|
"rhythm": "渐升",
|
|
@@ -423,7 +423,7 @@
|
|
|
423
423
|
"to": "u0041"
|
|
424
424
|
},
|
|
425
425
|
"base_track": "旁白主导",
|
|
426
|
-
"lane": "
|
|
426
|
+
"lane": "MG",
|
|
427
427
|
"narrative": "reversal-elevation",
|
|
428
428
|
"container_stage": "flip",
|
|
429
429
|
"rhythm": "渐升",
|
|
@@ -498,7 +498,7 @@
|
|
|
498
498
|
"to": "u0048"
|
|
499
499
|
},
|
|
500
500
|
"base_track": "旁白主导",
|
|
501
|
-
"lane": "
|
|
501
|
+
"lane": "MG",
|
|
502
502
|
"narrative": "callback-closure",
|
|
503
503
|
"container_stage": "callback",
|
|
504
504
|
"rhythm": "回扣",
|
|
@@ -580,7 +580,7 @@
|
|
|
580
580
|
"note": "回到主持人,让问题停在观众心里,而不是替观众收尾"
|
|
581
581
|
}
|
|
582
582
|
],
|
|
583
|
-
"
|
|
583
|
+
"mg": [
|
|
584
584
|
{
|
|
585
585
|
"beat": "B05",
|
|
586
586
|
"note": "用训练集、噪音、测试集、错误预测的动态图把过拟合先讲清楚"
|
|
@@ -97,14 +97,14 @@ default_base_track: 真人口播打底
|
|
|
97
97
|
## B05
|
|
98
98
|
- 文稿范围:`什么是“过拟合”?……给出一个极其离谱的错误答案`
|
|
99
99
|
- 底轨:`旁白主导`
|
|
100
|
-
- 主层:`
|
|
100
|
+
- 主层:`MG`
|
|
101
101
|
- 叙事功能:`container-translation`
|
|
102
102
|
- 容器阶段:`expand`
|
|
103
103
|
- 节奏标签:`平稳`
|
|
104
104
|
- 视觉任务:`用训练集、噪音、测试集、错误预测的动态图把“过拟合”先讲清楚`
|
|
105
105
|
- 拆分理由:`这里主要任务是讲结构,不是讲情绪,最适合进入 MG`
|
|
106
106
|
- 不可替代性:`优先 MG`
|
|
107
|
-
-
|
|
107
|
+
- MG 提示:`container-translation/neural-overfit`
|
|
108
108
|
- 替代方案:`若 MG 档期不足,可降级为 A_ROLL + 简单图表动效`
|
|
109
109
|
|
|
110
110
|
### 辅助层 B05.A1
|
|
@@ -117,14 +117,14 @@ default_base_track: 真人口播打底
|
|
|
117
117
|
## B06
|
|
118
118
|
- 文稿范围:`它太想答对过去的题……你的潜意识依然乐此不疲`
|
|
119
119
|
- 底轨:`旁白主导`
|
|
120
|
-
- 主层:`
|
|
120
|
+
- 主层:`MG`
|
|
121
121
|
- 叙事功能:`container-translation`
|
|
122
122
|
- 容器阶段:`translate`
|
|
123
123
|
- 节奏标签:`渐升`
|
|
124
124
|
- 视觉任务:`把 AI 过拟合一一映射到创伤、自动化防御、现实崩溃,完成“AI -> 人类”的翻译`
|
|
125
125
|
- 拆分理由:`容器从自我解释转为心理学翻译器,职责明显升级`
|
|
126
126
|
- 不可替代性:`优先 MG`
|
|
127
|
-
-
|
|
127
|
+
- MG 提示:`container-translation/dual-pane-map`
|
|
128
128
|
|
|
129
129
|
### 辅助层 B06.A1
|
|
130
130
|
- 类型:`network-diagram`
|
|
@@ -263,14 +263,14 @@ default_base_track: 真人口播打底
|
|
|
263
263
|
## B14
|
|
264
264
|
- 文稿范围:`斯坦福大学神经生物学教授罗伯特·萨波斯基……规则与匮乏`
|
|
265
265
|
- 底轨:`旁白主导`
|
|
266
|
-
- 主层:`
|
|
266
|
+
- 主层:`MG`
|
|
267
267
|
- 叙事功能:`abyssal-fall`
|
|
268
268
|
- 容器阶段:`rupture`
|
|
269
269
|
- 节奏标签:`渐升`
|
|
270
270
|
- 视觉任务:`把神经递质、创伤印痕、代际传递、大他者压成一张逐步收紧的因果网`
|
|
271
271
|
- 拆分理由:`这里信息链条密度很高,MG 比真人或纯素材更能把结构讲明白`
|
|
272
272
|
- 不可替代性:`优先 MG`
|
|
273
|
-
-
|
|
273
|
+
- MG 提示:`abyssal-fall/grid-captured`
|
|
274
274
|
|
|
275
275
|
### 辅助层 B14.A1
|
|
276
276
|
- 类型:`archive-caption`
|
|
@@ -307,14 +307,14 @@ default_base_track: 真人口播打底
|
|
|
307
307
|
## B16
|
|
308
308
|
- 文稿范围:`在传统的机器学习理论中……展现出了不可思议的泛化能力和“涌现”出的智能`
|
|
309
309
|
- 底轨:`旁白主导`
|
|
310
|
-
- 主层:`
|
|
310
|
+
- 主层:`MG`
|
|
311
311
|
- 叙事功能:`reversal-elevation`
|
|
312
312
|
- 容器阶段:`flip`
|
|
313
313
|
- 节奏标签:`渐升`
|
|
314
314
|
- 视觉任务:`用偏差-方差权衡、插值阈值、双重下降曲线完成“过拟合 -> 泛化”的结构反转`
|
|
315
315
|
- 拆分理由:`容器的希望面在这里正式出现,最适合由动态图完成说服`
|
|
316
316
|
- 不可替代性:`优先 MG`
|
|
317
|
-
-
|
|
317
|
+
- MG 提示:`reversal-elevation/overfit-to-double-descent`
|
|
318
318
|
|
|
319
319
|
### 辅助层 B16.A1
|
|
320
320
|
- 类型:`data-annotation`
|
|
@@ -369,7 +369,7 @@ default_base_track: 真人口播打底
|
|
|
369
369
|
## B19
|
|
370
370
|
- 文稿范围:`回到之前的话题,我们该如何解决幽灵堵车?……最后所有的车流都能够慢慢起速`
|
|
371
371
|
- 底轨:`旁白主导`
|
|
372
|
-
- 主层:`
|
|
372
|
+
- 主层:`MG`
|
|
373
373
|
- 叙事功能:`callback-closure`
|
|
374
374
|
- 容器阶段:`callback`
|
|
375
375
|
- 节奏标签:`回扣`
|
|
@@ -377,7 +377,7 @@ default_base_track: 真人口播打底
|
|
|
377
377
|
- 拆分理由:`结尾回扣不只是情绪重复,而是要把前文意象结构性地翻新一次`
|
|
378
378
|
- 不可替代性:`优先 MG`
|
|
379
379
|
- 回扣对象:`B07`
|
|
380
|
-
-
|
|
380
|
+
- MG 提示:`callback-closure/recall-image-question`
|
|
381
381
|
|
|
382
382
|
### 辅助层 B19.A1
|
|
383
383
|
- 类型:`network-diagram`
|
|
@@ -417,7 +417,7 @@ default_base_track: 真人口播打底
|
|
|
417
417
|
- `B18` “认同你的症状”的主体性重构
|
|
418
418
|
- `B20` 结尾回扣式发问
|
|
419
419
|
|
|
420
|
-
##
|
|
420
|
+
## MG Queue
|
|
421
421
|
|
|
422
422
|
- `B05` 过拟合概念展开
|
|
423
423
|
- `B06` AI 结构映射到心理结构
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 拆分稿字段契约 v1(JSON)
|
|
2
2
|
|
|
3
3
|
`gtrk-splitter` 的产物是**机器 JSON 拆分稿**(不是 Markdown)——`gtrk split <拆分稿.json>` 校验落地。
|
|
4
|
-
目标:LLM 可稳定产出、校验器可硬拒、下游(matrix /
|
|
4
|
+
目标:LLM 可稳定产出、校验器可硬拒、下游(matrix / mg / ai-drama)可直接消费。
|
|
5
5
|
|
|
6
6
|
> 时码零触碰:拆分稿里**不含任何秒级时码字段**。轨道时码由 `gtrk split` 落地时现场投影写入 `struct_meta.split` / `dispatch.json`。
|
|
7
7
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
- `transcript_hash` 不匹配当前 `transcript.json` 的 `text_hash` → **硬拒**(提示转写已变更、需重新导出视图重拆)。
|
|
20
|
-
- `queues` 是给人看的四车道汇总(`a_roll/
|
|
20
|
+
- `queues` 是给人看的四车道汇总(`a_roll/mg/ai_drama/film_broll` 各 `[{beat, note}]`),**可选**;真正的机器派单 `dispatch.json` 由落地时按 beats 现场生成,不读 `queues`。
|
|
21
21
|
|
|
22
22
|
## Beat 字段
|
|
23
23
|
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
| `id` | string | `B` + 两位起序号(`B01`…);同稿内唯一 |
|
|
29
29
|
| `span` | object | `{from, to}` 两端均为投影视图中存在的 utterance id;`from ≤ to`(id 序);beats 间**不重叠**(允许留空隙) |
|
|
30
30
|
| `base_track` | enum | 口播底轨三态:`真人出镜` \| `口播继续` \| `旁白主导` |
|
|
31
|
-
| `lane` | enum | 主层四选一:`A_ROLL` \| `
|
|
31
|
+
| `lane` | enum | 主层四选一:`A_ROLL` \| `MG` \| `AI_DRAMA` \| `FILM_BROLL`(遗留 `RRV_MG` 读旧归一为 `MG`) |
|
|
32
32
|
| `narrative` | enum | 八枚举:`mirror-hook` \| `demolition` \| `container-translation` \| `abyssal-fall` \| `holding` \| `reversal-elevation` \| `callback-closure` \| `typography-emphasis` |
|
|
33
33
|
| `container_stage` | enum | 七枚举:`none` \| `seed` \| `expand` \| `translate` \| `rupture` \| `flip` \| `callback` |
|
|
34
34
|
| `rhythm` | string | 人读节奏标签(`快剪` / `平稳` / `渐升` / `停顿` / `悬停` / `回扣` 等);**机器不消费**、只透传 |
|
|
@@ -48,9 +48,13 @@
|
|
|
48
48
|
## handoff 按 lane 分型(校验器硬查)
|
|
49
49
|
|
|
50
50
|
```jsonc
|
|
51
|
-
// lane === "RRV_MG"
|
|
52
|
-
"handoff": { "slug_hint": "neural-overfit", "theme": "overfitting", "bg": "paper", "duration_hint": 12 }
|
|
53
|
-
// duration_hint(秒)必填;slug_hint / theme / bg 可选(bg 底色可由底轨态推导)
|
|
51
|
+
// lane === "MG"(遗留 "RRV_MG" 读旧兼容)
|
|
52
|
+
"handoff": { "category": "overlay", "slug_hint": "neural-overfit", "theme": "overfitting", "bg": "paper", "duration_hint": 12 }
|
|
53
|
+
// duration_hint(秒)必填;slug_hint / theme / bg / category 可选(bg 底色可由底轨态推导)
|
|
54
|
+
// category(颗粒品类子类型,裁决⑩):overlay(透明叠加,叠在 A-roll/B-roll 上,不挡主体)
|
|
55
|
+
// | fullscreen(不透明满屏,旁白主导整帧);缺省=下游按颗粒 HTML 根 background 反推透明度。
|
|
56
|
+
// 二期扩 subtitle/title。供剪辑器色带按品类分层(叠加/满屏 各一行)。
|
|
57
|
+
// 读旧兼容:遗留品牌值 rrv-overlay/mg-fullscreen/explain-subtitle/op-ed-title 仍认。
|
|
54
58
|
|
|
55
59
|
// lane === "FILM_BROLL"
|
|
56
60
|
"handoff": { "queries": ["lonely person in a city apartment at night", "exhausted commuter on a crowded subway train"], "shots": 6, "per_shot_sec": 2, "exclude": ["卡通", "水印"] }
|
|
@@ -71,8 +75,8 @@
|
|
|
71
75
|
|
|
72
76
|
```jsonc
|
|
73
77
|
{
|
|
74
|
-
"type": "quote-card", //
|
|
75
|
-
// | archive-caption | pause-card | data-annotation | timeline-tag
|
|
78
|
+
"type": "quote-card", // 八类:quote-card | term-callout | network-diagram
|
|
79
|
+
// | archive-caption | pause-card | data-annotation | timeline-tag | overlay
|
|
76
80
|
"mount": { "from": "u0001", "to": "u0002" }, // 挂载范围三型:"same_beat" | {from,to} | {trigger:"uNNNN"}
|
|
77
81
|
"role": "金句提炼", // 职责:金句提炼/术语解释/关系表达/证据标注/停顿加压/情绪聚焦/回扣提示
|
|
78
82
|
"necessity": "强建议", // 可选:必须 | 强建议 | 建议 | 可省略
|
|
@@ -84,13 +88,37 @@
|
|
|
84
88
|
|
|
85
89
|
- `mount` 里的所有 id(`from`/`to`/`trigger`)MUST 为视图中存在的 utterance id,否则硬拒。
|
|
86
90
|
- 辅助层是补充理解职责,不是装饰。满足升级规则时**切出新 beat 升级为主层**,别硬塞辅助层。
|
|
91
|
+
- 前七类是**纯建议性**(人读稿一行摘要,不承接派单);第八类 `overlay` 是**承接颗粒派单**的叠层类型(见下)。
|
|
92
|
+
|
|
93
|
+
### `overlay` 叠层颗粒 aux(第八类,承接派单)
|
|
94
|
+
|
|
95
|
+
`overlay` = 与底轨主视觉(如 `FILM_BROLL` 电影感 B-roll)**同段共存的透明概念颗粒**——想「底轨放实拍情绪镜头、其上叠一层 MG 透明图解/金句」时用它。与前七类不同,`overlay` aux 必带 `handoff`,由 `gtrk split` 落地投影成派生颗粒(进 `dispatch.mg` + 合成 `struct_meta.split.beats`),后续 `gtrk mg` 铺出透明颗粒盖在底轨上。
|
|
96
|
+
|
|
97
|
+
```jsonc
|
|
98
|
+
{
|
|
99
|
+
"type": "overlay",
|
|
100
|
+
"mount": "same_beat", // same_beat(复用当前 beat 落轨区间)| {from,to}(子区间);{trigger} 一期不支持
|
|
101
|
+
"role": "概念叠层图解",
|
|
102
|
+
"handoff": { // overlay 必带(镜像 MG lane 的 handoff)
|
|
103
|
+
"duration_hint": 6, // 必填正数秒(该 aux 要生成颗粒,无时长不成立;缺/非正数硬拒)
|
|
104
|
+
"category": "overlay", // 可选品类(软校验,非法只告警不拒;派生颗粒实际 category 恒 "overlay")
|
|
105
|
+
"slug_hint": "overfit-mirror", // 可选:颗粒 slug 提示
|
|
106
|
+
"theme": "overfitting", // 可选:主题
|
|
107
|
+
"bg": "transparent" // 可选:底色(叠层通常透明)
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
- **mount 投影**:`same_beat` → 复用当前 beat 的 `track_st/track_ed`;`{from,to}` → 取该子区间存活实例的包络(全被剪则计入 `skipped` 不落)。**`{trigger}` 点挂载一期不支持**(无干净源区间,`duration_hint` 是时间线秒非源秒 → 跟随会不准):遇到计入 `skipped` + 告警,二期再补。
|
|
113
|
+
- **composition_id 命名**:派生颗粒 = `<工程slug>-<beatId>-aux<n>`(`n` 从 1,位置计数);同 beat 主颗粒仍是 `<工程slug>-<beatId>`。「一 beat 一 composition_id」松绑为「`composition_id` 全局唯一,一 beat 可派生主 + N 个 `-aux<n>` 颗粒」。
|
|
114
|
+
- **一期约束**:`FILM_BROLL` 主(底轨不产 MG 颗粒)+ 一颗 `overlay` aux 同段安全;`MG` 主 beat 再挂 `overlay` aux 会同段两颗撞一轨(后续拆轨),先避开。
|
|
87
115
|
|
|
88
116
|
## 落地产物(CLI 写,供参照)
|
|
89
117
|
|
|
90
118
|
- **`.gtrk` 的 `struct_meta.split`**:`{contract_version, transcript_hash, projected_at, material_id, beats:[{id, lane, span, track_st, track_ed, source_ranges, narrative, container_stage, visual_task, shrunk?, handoff}]}`——投影时刻快照。**消费方要新鲜时码就重新投影**(`gtrk split --project`)。
|
|
91
119
|
- `material_id`:口播素材 id(= transcript.material_id),消费方脱离 transcript 文件即可定位素材。
|
|
92
120
|
- `beats[].source_ranges`:`[{st, ed}]` 源时基秒(v1 恒单元素 = span 源包络,含句间静默与被剪词)——**源时基不随时间线编辑漂移**,消费方以「源区间 ∩ 当刻颗粒源窗口」投影可得实时覆盖(客户端色带跟随模式即此)。
|
|
93
|
-
- **`split/dispatch.json`**:`{
|
|
121
|
+
- **`split/dispatch.json`**:`{mg:[{beat, composition_id, duration, category?, theme, bg, slug_hint, track_st, track_ed}], film_broll:[{beat, queries, shots, per_shot_sec, exclude, track_st, track_ed}], ai_drama:[{beat, ...handoff, track_st, track_ed}]}`(去品牌化前 `mg` 键为 `rrv_mg`,消费方 `mg ?? rrv_mg` 双读)。`composition_id` = `<工程slug>-<beatId>`(MG 颗粒 `data-composition-id` 直接用它,打通 beat↔颗粒命名);`overlay` aux 派生颗粒 = `<工程slug>-<beatId>-aux<n>`(`n` 从 1)——`composition_id` 全局唯一,一 beat 可派生主 + N 个 `-aux<n>` 颗粒。
|
|
94
122
|
- **`split/visual-split.md`**(`--md`):由机器 JSON 单向渲染的人读稿,不回读。
|
|
95
123
|
|
|
96
124
|
## 落地时的 dropped 处理(你要知道)
|
|
@@ -14,6 +14,7 @@ description: "能生产 skill 的 meta skill——通过启发式访谈引导视
|
|
|
14
14
|
3. **种子是案例,不是模板。** `references/seeds/` 里的种子演示「产出长什么样」,结构随栏目而异。用户的栏目跟种子不像时,从零引导,绝不套种子结构。
|
|
15
15
|
4. **产出必须可执行。** 最终交付的是标准 skill 目录(新会话即可触发干活),不是一份风格描述文档。
|
|
16
16
|
5. **管线接口全权威。** 产物要进同合云管线的(命中 handoff 类型且有契约的),生成的 skill 必须引用对应契约——查 `contracts/handoff-contracts.json` 映射表(随本 CLI 分发),**不要**自己记映射。
|
|
17
|
+
6. **生产 skill = 纯生产者,零包工头职责。** 你产的栏目 skill 只做一件事:按栏目视觉语法**产内容**(颗粒 HTML / 分镜提示词 / 检索偏好…)。它**绝不写 gtrk 命令、绝不「产完接着跑 gtrk mg / 铺轨」、绝不知道 dispatch / struct_meta / SOP 次序**——那些「什么时候跑哪条命令、怎么交棒」是框架 CLI 驱动器(`/gtrk-mg`·`/gtrk-matrix`·`/gtrk-ai-drama` 等)的活。**CLI 驱动栏目 skill,不是反过来**;栏目 skill 独立触发时也只产内容、不假设有工程/派单上下文。理由:把编排焊进栏目 skill = 业务耦合 + 不通用(换个栏目又得重焊),且违背「框架对审美零预设」的对偶——**审美归你、编排归框架**。你只暴露产物**经 `style.skills[].produces` 绑定到哪条车道**,让框架据此调用。
|
|
17
18
|
|
|
18
19
|
## 访谈工艺 · 七招
|
|
19
20
|
|
|
@@ -84,5 +85,10 @@ description: "能生产 skill 的 meta skill——通过启发式访谈引导视
|
|
|
84
85
|
- [ ] 卡壳追问 ≤3 条且每条有触发语记录?
|
|
85
86
|
- [ ] 产出 skill 有:触发器 description / 铁律(含禁令)/ 可判定自检清单 / exemplar 或判例计划?
|
|
86
87
|
- [ ] 契约绑定查了映射表(而不是凭记忆)?
|
|
88
|
+
- [ ] 产出 skill 是**纯生产者**——正文里没有任何 gtrk 命令、没有「产完接着跑…」、不碰 dispatch/struct_meta/SOP 编排(铁律 6)?
|
|
87
89
|
- [ ] 栏目配置登记是**追加**语义,既有条目一条没丢?
|
|
88
90
|
- [ ] 已提醒用户:skill 是他的资产,留本地即可用;上传云端(claude.ai)是可选分发,非必需?
|
|
91
|
+
|
|
92
|
+
## 下一步(回成片管线)
|
|
93
|
+
|
|
94
|
+
建栏目是**一次性装修厨房**,装完就该开始做菜。栏目 skill 家族 + 词表 + 栏目配置就绪后,告诉用户「风格体系已就绪,给我一条口播毛片就能开工」,顺势回到成片管线起点:用户给毛片 → 触发 `/gtrk-oralcut`(agent 跑 `gtrk oralcut`)→ `/gtrk-splitter` 拆分派单 → 各车道用你**刚建的生产 skill** 产内容 + agent 跑 `gtrk mg`/`matrix` 铺轨 → `gtrk render` 出片。往后每片都在这套厨房里做,不用重新装修。**agent 替用户跑 CLI,用户只对话。**
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
| skill | 产什么 | produces | 契约 |
|
|
21
21
|
|---|---|---|---|
|
|
22
22
|
| 拆分派单器 | 全片 beat 派单文档 | —(管线文档生产者,不登记) | — |
|
|
23
|
-
| 动态图生成 | HTML 动画颗粒 |
|
|
23
|
+
| 动态图生成 | HTML 动画颗粒 | MG | gsap-emit v1(合规项进自检) |
|
|
24
24
|
| AI 再现分镜 | 双语分镜提示词文本 | AI_DRAMA | 暂无契约 |
|
|
25
25
|
| 封面设计 | 文生图 prompt + 排字工作台 | cover + routing:"none" | 管线外 |
|
|
26
26
|
|