@gitruck/cli 1.0.2 → 1.0.3
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 +13 -0
- package/LICENSE +21 -21
- package/README.en.md +626 -540
- package/README.md +624 -545
- package/contracts/README.md +14 -14
- package/contracts/handoff-contracts.json +10 -10
- package/dist/index.js +5170 -2033
- package/package.json +2 -2
- package/skills/gtrk-ai-drama/SKILL.md +1 -1
- package/skills/gtrk-cover/SKILL.md +93 -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-long2short/SKILL.md +71 -68
- package/skills/gtrk-matrix/SKILL.md +40 -7
- package/skills/gtrk-mg/SKILL.md +10 -2
- package/skills/gtrk-music-visualizer/SKILL.md +76 -76
- package/skills/gtrk-splitter/SKILL.md +208 -187
- 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-splitter/references/field-schema.md +138 -134
- 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-tools/SKILL.md +132 -132
- package/skills/gtrk-transcript/SKILL.md +64 -58
- package/skills/gtrk-transcript/agents/openai.yaml +4 -4
- package/skills/gtrk-travel-recap/SKILL.md +212 -0
|
@@ -1,134 +1,138 @@
|
|
|
1
|
-
# 拆分稿字段契约 v1(JSON)
|
|
2
|
-
|
|
3
|
-
`gtrk-splitter` 的产物是**机器 JSON 拆分稿**(不是 Markdown)——`gtrk split <拆分稿.json>` 校验落地。
|
|
4
|
-
目标:LLM 可稳定产出、校验器可硬拒、下游(matrix / mg / ai-drama)可直接消费。
|
|
5
|
-
|
|
6
|
-
> 时码零触碰:拆分稿里**不含任何秒级时码字段**。轨道时码由 `gtrk split` 落地时现场投影写入 `struct_meta.split` / `dispatch.json`。
|
|
7
|
-
|
|
8
|
-
## 顶层结构
|
|
9
|
-
|
|
10
|
-
```jsonc
|
|
11
|
-
{
|
|
12
|
-
"contract_version": "v1", // 固定 "v1"
|
|
13
|
-
"transcript_hash": "<64 位 hex>", // 必填:原样透传投影视图的 transcript_hash(hash 链,错版硬拒)
|
|
14
|
-
"beats": [ /* Beat[],见下 */ ], // 必填非空
|
|
15
|
-
"queues": { /* 人读派单汇总,可选;机器侧不消费,dispatch.json 由 beats 现场生成 */ }
|
|
16
|
-
}
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
- `transcript_hash` 不匹配当前 `transcript.json` 的 `text_hash` → **硬拒**(提示转写已变更、需重新导出视图重拆)。
|
|
20
|
-
- `queues` 是给人看的四车道汇总(`a_roll/mg/ai_drama/film_broll` 各 `[{beat, note}]`),**可选**;真正的机器派单 `dispatch.json` 由落地时按 beats 现场生成,不读 `queues`。
|
|
21
|
-
|
|
22
|
-
## Beat 字段
|
|
23
|
-
|
|
24
|
-
### 必填
|
|
25
|
-
|
|
26
|
-
| 字段 | 类型 | 取值 |
|
|
27
|
-
|---|---|---|
|
|
28
|
-
| `id` | string | `B` + 两位起序号(`B01`…);同稿内唯一 |
|
|
29
|
-
| `span` | object | `{from, to}` 两端均为投影视图中存在的 utterance id;`from ≤ to`(id 序);beats 间**不重叠**(允许留空隙) |
|
|
30
|
-
| `base_track` | enum | 口播底轨三态:`真人出镜` \| `口播继续` \| `旁白主导` |
|
|
31
|
-
| `lane` | enum | 主层四选一:`A_ROLL` \| `MG` \| `AI_DRAMA` \| `FILM_BROLL`(遗留 `RRV_MG` 读旧归一为 `MG`) |
|
|
32
|
-
| `narrative` | enum | 八枚举:`mirror-hook` \| `demolition` \| `container-translation` \| `abyssal-fall` \| `holding` \| `reversal-elevation` \| `callback-closure` \| `typography-emphasis` |
|
|
33
|
-
| `container_stage` | enum | 七枚举:`none` \| `seed` \| `expand` \| `translate` \| `rupture` \| `flip` \| `callback` |
|
|
34
|
-
| `rhythm` | string | 人读节奏标签(`快剪` / `平稳` / `渐升` / `停顿` / `悬停` / `回扣` 等);**机器不消费**、只透传 |
|
|
35
|
-
| `visual_task` | string | 一句话:该 beat 让观众「看到什么变化」 |
|
|
36
|
-
| `irreplaceability` | enum | `必须真人出镜` \| `优先 MG` \| `可被 B-roll 替代` \| `可降级处理` |
|
|
37
|
-
|
|
38
|
-
### 可选
|
|
39
|
-
|
|
40
|
-
| 字段 | 类型 | 说明 |
|
|
41
|
-
|---|---|---|
|
|
42
|
-
| `handoff` | object | 按 `lane` 分型(见下)。`A_ROLL` 不应带,带了被警告忽略 |
|
|
43
|
-
| `aux_layers` | array | 辅助层(见下) |
|
|
44
|
-
| `fallback` | string | 预算/素材/AI 稳定性不足时的降级方案 |
|
|
45
|
-
| `callback_of` | string | 回扣对象 beat id(如 `B07`);前文意象后文重调时**不合并 beat**,在后文 beat 写此字段 |
|
|
46
|
-
| `note` | string | 其他对制作有帮助的信息 |
|
|
47
|
-
|
|
48
|
-
## handoff 按 lane 分型(校验器硬查)
|
|
49
|
-
|
|
50
|
-
```jsonc
|
|
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
|
-
// ⚠️ duration_hint 语义(2026-07-24 主理人硬性规定):只是「动画主叙事时长」参考,供生产 skill 排布节奏;
|
|
55
|
-
// 落轨 clip 恒占满槽位包络(track_ed − track_st),颗粒 tl 总长须 ≥ 包络、终态定格或有限循环驻留、
|
|
56
|
-
// 禁全局渐隐退场(gsap-emit v1 铁律⑦)。别把 duration_hint 当颗粒寿命写短。
|
|
57
|
-
// category(颗粒品类子类型,裁决⑩):overlay(透明叠加,叠在 A-roll/B-roll 上,不挡主体)
|
|
58
|
-
// | fullscreen(不透明满屏,旁白主导整帧);缺省=下游按颗粒 HTML 根 background 反推透明度。
|
|
59
|
-
// 二期扩 subtitle/title。供剪辑器色带按品类分层(叠加/满屏 各一行)。
|
|
60
|
-
// 读旧兼容:遗留品牌值 rrv-overlay/mg-fullscreen/explain-subtitle/op-ed-title 仍认。
|
|
61
|
-
|
|
62
|
-
// lane === "FILM_BROLL"
|
|
63
|
-
"handoff": { "queries": ["lonely person in a city apartment at night", "exhausted commuter on a crowded subway train"], "shots": 6, "per_shot_sec": 2, "exclude": ["卡通", "水印"] }
|
|
64
|
-
// queries(非空字符串数组)必填;shots / per_shot_sec / exclude 可选
|
|
65
|
-
// queries 语言规范(经真机中英 A/B 校准):
|
|
66
|
-
// - 用**英文长句场景描述**(5-12 词,谁+在哪+做什么),不是关键词堆叠——检索后端向量模型英文场景级命中明显更准
|
|
67
|
-
// - 每条 query 只装一个场景意象,多意象拆成多条
|
|
68
|
-
// - **避多义/字面义强的动词**("pointing" 会召回手指特写、"hunting" 召回猎人——改用 "giving suggestions in a meeting" 这类场景语义)
|
|
69
|
-
// - **exclude 保持中文**:负向过滤匹配的是服务端返回的中文 note,写英文会失效
|
|
70
|
-
|
|
71
|
-
//
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
"
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
-
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
-
|
|
133
|
-
|
|
134
|
-
|
|
1
|
+
# 拆分稿字段契约 v1(JSON)
|
|
2
|
+
|
|
3
|
+
`gtrk-splitter` 的产物是**机器 JSON 拆分稿**(不是 Markdown)——`gtrk split <拆分稿.json>` 校验落地。
|
|
4
|
+
目标:LLM 可稳定产出、校验器可硬拒、下游(matrix / mg / ai-drama)可直接消费。
|
|
5
|
+
|
|
6
|
+
> 时码零触碰:拆分稿里**不含任何秒级时码字段**。轨道时码由 `gtrk split` 落地时现场投影写入 `struct_meta.split` / `dispatch.json`。
|
|
7
|
+
|
|
8
|
+
## 顶层结构
|
|
9
|
+
|
|
10
|
+
```jsonc
|
|
11
|
+
{
|
|
12
|
+
"contract_version": "v1", // 固定 "v1"
|
|
13
|
+
"transcript_hash": "<64 位 hex>", // 必填:原样透传投影视图的 transcript_hash(hash 链,错版硬拒)
|
|
14
|
+
"beats": [ /* Beat[],见下 */ ], // 必填非空
|
|
15
|
+
"queues": { /* 人读派单汇总,可选;机器侧不消费,dispatch.json 由 beats 现场生成 */ }
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- `transcript_hash` 不匹配当前 `transcript.json` 的 `text_hash` → **硬拒**(提示转写已变更、需重新导出视图重拆)。
|
|
20
|
+
- `queues` 是给人看的四车道汇总(`a_roll/mg/ai_drama/film_broll` 各 `[{beat, note}]`),**可选**;真正的机器派单 `dispatch.json` 由落地时按 beats 现场生成,不读 `queues`。
|
|
21
|
+
|
|
22
|
+
## Beat 字段
|
|
23
|
+
|
|
24
|
+
### 必填
|
|
25
|
+
|
|
26
|
+
| 字段 | 类型 | 取值 |
|
|
27
|
+
|---|---|---|
|
|
28
|
+
| `id` | string | `B` + 两位起序号(`B01`…);同稿内唯一 |
|
|
29
|
+
| `span` | object | `{from, to}` 两端均为投影视图中存在的 utterance id;`from ≤ to`(id 序);beats 间**不重叠**(允许留空隙) |
|
|
30
|
+
| `base_track` | enum | 口播底轨三态:`真人出镜` \| `口播继续` \| `旁白主导` |
|
|
31
|
+
| `lane` | enum | 主层四选一:`A_ROLL` \| `MG` \| `AI_DRAMA` \| `FILM_BROLL`(遗留 `RRV_MG` 读旧归一为 `MG`) |
|
|
32
|
+
| `narrative` | enum | 八枚举:`mirror-hook` \| `demolition` \| `container-translation` \| `abyssal-fall` \| `holding` \| `reversal-elevation` \| `callback-closure` \| `typography-emphasis` |
|
|
33
|
+
| `container_stage` | enum | 七枚举:`none` \| `seed` \| `expand` \| `translate` \| `rupture` \| `flip` \| `callback` |
|
|
34
|
+
| `rhythm` | string | 人读节奏标签(`快剪` / `平稳` / `渐升` / `停顿` / `悬停` / `回扣` 等);**机器不消费**、只透传 |
|
|
35
|
+
| `visual_task` | string | 一句话:该 beat 让观众「看到什么变化」 |
|
|
36
|
+
| `irreplaceability` | enum | `必须真人出镜` \| `优先 MG` \| `可被 B-roll 替代` \| `可降级处理` |
|
|
37
|
+
|
|
38
|
+
### 可选
|
|
39
|
+
|
|
40
|
+
| 字段 | 类型 | 说明 |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `handoff` | object | 按 `lane` 分型(见下)。`A_ROLL` 不应带,带了被警告忽略 |
|
|
43
|
+
| `aux_layers` | array | 辅助层(见下) |
|
|
44
|
+
| `fallback` | string | 预算/素材/AI 稳定性不足时的降级方案 |
|
|
45
|
+
| `callback_of` | string | 回扣对象 beat id(如 `B07`);前文意象后文重调时**不合并 beat**,在后文 beat 写此字段 |
|
|
46
|
+
| `note` | string | 其他对制作有帮助的信息 |
|
|
47
|
+
|
|
48
|
+
## handoff 按 lane 分型(校验器硬查)
|
|
49
|
+
|
|
50
|
+
```jsonc
|
|
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
|
+
// ⚠️ duration_hint 语义(2026-07-24 主理人硬性规定):只是「动画主叙事时长」参考,供生产 skill 排布节奏;
|
|
55
|
+
// 落轨 clip 恒占满槽位包络(track_ed − track_st),颗粒 tl 总长须 ≥ 包络、终态定格或有限循环驻留、
|
|
56
|
+
// 禁全局渐隐退场(gsap-emit v1 铁律⑦)。别把 duration_hint 当颗粒寿命写短。
|
|
57
|
+
// category(颗粒品类子类型,裁决⑩):overlay(透明叠加,叠在 A-roll/B-roll 上,不挡主体)
|
|
58
|
+
// | fullscreen(不透明满屏,旁白主导整帧);缺省=下游按颗粒 HTML 根 background 反推透明度。
|
|
59
|
+
// 二期扩 subtitle/title。供剪辑器色带按品类分层(叠加/满屏 各一行)。
|
|
60
|
+
// 读旧兼容:遗留品牌值 rrv-overlay/mg-fullscreen/explain-subtitle/op-ed-title 仍认。
|
|
61
|
+
|
|
62
|
+
// lane === "FILM_BROLL"
|
|
63
|
+
"handoff": { "queries": ["lonely person in a city apartment at night", "exhausted commuter on a crowded subway train"], "shots": 6, "per_shot_sec": 2, "exclude": ["卡通", "水印"] }
|
|
64
|
+
// queries(非空字符串数组)必填;shots / per_shot_sec / exclude 可选
|
|
65
|
+
// queries 语言规范(经真机中英 A/B 校准):
|
|
66
|
+
// - 用**英文长句场景描述**(5-12 词,谁+在哪+做什么),不是关键词堆叠——检索后端向量模型英文场景级命中明显更准
|
|
67
|
+
// - 每条 query 只装一个场景意象,多意象拆成多条
|
|
68
|
+
// - **避多义/字面义强的动词**("pointing" 会召回手指特写、"hunting" 召回猎人——改用 "giving suggestions in a meeting" 这类场景语义)
|
|
69
|
+
// - **exclude 保持中文**:负向过滤匹配的是服务端返回的中文 note,写英文会失效
|
|
70
|
+
// anchors(可选,关键词锚 · add-keyword-anchored-broll):[{ keyword, utterance, query }] ≤2 个/beat——
|
|
71
|
+
// - keyword 照原句抄写(须为所在句 text 子串);utterance 为该句 id(须在本 beat span 内);query 写该词的英文视觉描述
|
|
72
|
+
// - 语义:铺轨把锚 query 最高分命中钉在关键词说出时刻(句级时码内插 −0.5s 提前量);无合格命中自动降级普通槽
|
|
73
|
+
// - 圈「贵大奇多」类看点实词(地名/奇观/数字头衔),虚词泛词勿圈;圈定指引见 SKILL.md「关键词锚」节
|
|
74
|
+
|
|
75
|
+
// lane === "AI_DRAMA" —— 全可选(下游框架 skill /gtrk-ai-drama 有推断默认)
|
|
76
|
+
"handoff": { "narrative": "trauma-repetition", "theme": "freud-fort-da", "emotion_stage": "abyssal", "platform": "video-gen", "shot_count": 5 }
|
|
77
|
+
|
|
78
|
+
// lane === "A_ROLL" —— 无 handoff
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 辅助层字段(aux_layers[])
|
|
82
|
+
|
|
83
|
+
```jsonc
|
|
84
|
+
{
|
|
85
|
+
"type": "quote-card", // 八类:quote-card | term-callout | network-diagram
|
|
86
|
+
// | archive-caption | pause-card | data-annotation | timeline-tag | overlay
|
|
87
|
+
"mount": { "from": "u0001", "to": "u0002" }, // 挂载范围三型:"same_beat" | {from,to} | {trigger:"uNNNN"}
|
|
88
|
+
"role": "金句提炼", // 职责:金句提炼/术语解释/关系表达/证据标注/停顿加压/情绪聚焦/回扣提示
|
|
89
|
+
"necessity": "强建议", // 可选:必须 | 强建议 | 建议 | 可省略
|
|
90
|
+
"note": "为什么加它", // 可选
|
|
91
|
+
"promote_condition": "若连续承担主要理解职责,则升级为下一个 beat 主层", // 可选
|
|
92
|
+
"fallback": "该辅助层不可做时的替代方式" // 可选
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- `mount` 里的所有 id(`from`/`to`/`trigger`)MUST 为视图中存在的 utterance id,否则硬拒。
|
|
97
|
+
- 辅助层是补充理解职责,不是装饰。满足升级规则时**切出新 beat 升级为主层**,别硬塞辅助层。
|
|
98
|
+
- 前七类是**纯建议性**(人读稿一行摘要,不承接派单);第八类 `overlay` 是**承接颗粒派单**的叠层类型(见下)。
|
|
99
|
+
|
|
100
|
+
### `overlay` 叠层颗粒 aux(第八类,承接派单)
|
|
101
|
+
|
|
102
|
+
`overlay` = 与底轨主视觉(如 `FILM_BROLL` 电影感 B-roll)**同段共存的透明概念颗粒**——想「底轨放实拍情绪镜头、其上叠一层 MG 透明图解/金句」时用它。与前七类不同,`overlay` aux 必带 `handoff`,由 `gtrk split` 落地投影成派生颗粒(进 `dispatch.mg` + 合成 `struct_meta.split.beats`),后续 `gtrk mg` 铺出透明颗粒盖在底轨上。
|
|
103
|
+
|
|
104
|
+
```jsonc
|
|
105
|
+
{
|
|
106
|
+
"type": "overlay",
|
|
107
|
+
"mount": "same_beat", // same_beat(复用当前 beat 落轨区间)| {from,to}(子区间);{trigger} 一期不支持
|
|
108
|
+
"role": "概念叠层图解",
|
|
109
|
+
"handoff": { // overlay 必带(镜像 MG lane 的 handoff)
|
|
110
|
+
"duration_hint": 6, // 必填正数秒(该 aux 要生成颗粒,无时长不成立;缺/非正数硬拒)
|
|
111
|
+
"category": "overlay", // 可选品类(软校验,非法只告警不拒;派生颗粒实际 category 恒 "overlay")
|
|
112
|
+
"slug_hint": "overfit-mirror", // 可选:颗粒 slug 提示
|
|
113
|
+
"theme": "overfitting", // 可选:主题
|
|
114
|
+
"bg": "transparent" // 可选:底色(叠层通常透明)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
- **mount 投影**:`same_beat` → 复用当前 beat 的 `track_st/track_ed`;`{from,to}` → 取该子区间存活实例的包络(全被剪则计入 `skipped` 不落)。**`{trigger}` 点挂载一期不支持**(无干净源区间,`duration_hint` 是时间线秒非源秒 → 跟随会不准):遇到计入 `skipped` + 告警,二期再补。
|
|
120
|
+
- **composition_id 命名**:派生颗粒 = `<工程slug>-<beatId>-aux<n>`(`n` 从 1,位置计数);同 beat 主颗粒仍是 `<工程slug>-<beatId>`。「一 beat 一 composition_id」松绑为「`composition_id` 全局唯一,一 beat 可派生主 + N 个 `-aux<n>` 颗粒」。
|
|
121
|
+
- **一期约束**:`FILM_BROLL` 主(底轨不产 MG 颗粒)+ 一颗 `overlay` aux 同段安全;`MG` 主 beat 再挂 `overlay` aux 会同段两颗撞一轨(后续拆轨),先避开。
|
|
122
|
+
|
|
123
|
+
## 落地产物(CLI 写,供参照)
|
|
124
|
+
|
|
125
|
+
- **`.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}]}`——投影时刻快照。
|
|
126
|
+
**谁负责重投影**:CLI 的消费方命令(`gtrk mg` / `gtrk matrix`)**每次消费都自己现场重投影**(`transcript × 当刻 .gtrk`,与 `gtrk split` 落地同一段代码),所以**用户在 split 之后继续微调口播轨是常态、无需重跑 split**;只有**拆分稿本身**变了才要重跑 `gtrk split`。快照只在重投影不可行时(transcript 缺失 / 工程定位不到 / 主轨查不到口播素材)作回退值,届时命令会显式告警并在 `--json` 里标注降级。
|
|
127
|
+
- `material_id`:口播素材 id(= transcript.material_id),消费方脱离 transcript 文件即可定位素材。
|
|
128
|
+
- `beats[].source_ranges`:`[{st, ed}]` 源时基秒(v1 恒单元素 = span 源包络,含句间静默与被剪词)——**源时基不随时间线编辑漂移**,消费方以「源区间 ∩ 当刻颗粒源窗口」投影可得实时覆盖(客户端色带跟随模式即此)。
|
|
129
|
+
- **`split/dispatch.json`**:`{mg:[{beat, composition_id, duration, category?, theme, bg, slug_hint, track_st, track_ed, span}], film_broll:[{beat, queries, shots, per_shot_sec, exclude, track_st, track_ed, span}], ai_drama:[{beat, ...handoff, track_st, track_ed, span}]}`(去品牌化前 `mg` 键为 `rrv_mg`,消费方 `mg ?? rrv_mg` 双读)。
|
|
130
|
+
- **`span:{from,to}`**:该条目对应的 utterance 区间——派单**自述「派什么」**,消费方据它现场重投影,时码不再是派单唯一的权威内容。**aux 派生条目写的是 aux 自己的 span**(`mount` 为子区间时 ≠ 主 beat span);注意 aux 条目的 `beat` 字段记的仍是**主 beat id**,所以按 `beat` 回查 `struct_meta.split` 会把 aux 错算成主 beat 的整段窗口——要回查一律用 `composition_id`。
|
|
131
|
+
- **`track_st/track_ed` 是快照**:投影那一刻的值。老档(无 `span`)消费方会回落到 `struct_meta.split.beats[].span` 定位,照样重投影。`composition_id` = `<工程slug>-<beatId>`(MG 颗粒 `data-composition-id` 直接用它,打通 beat↔颗粒命名);`overlay` aux 派生颗粒 = `<工程slug>-<beatId>-aux<n>`(`n` 从 1)——`composition_id` 全局唯一,一 beat 可派生主 + N 个 `-aux<n>` 颗粒。
|
|
132
|
+
- **`split/visual-split.md`**(`--md`):由机器 JSON 单向渲染的人读稿,不回读。
|
|
133
|
+
|
|
134
|
+
## 落地时的 dropped 处理(你要知道)
|
|
135
|
+
|
|
136
|
+
- beat 的 span 内 utterance **全部** dropped(在当前时间线被剪光)→ 该 beat 被**跳过**(不写标注、不进派单),进 result 报告。
|
|
137
|
+
- **部分** dropped → beat 轨道区间按存活 utterances 的包络**收缩**、标 `shrunk:true`,进报告提示人工复核。
|
|
138
|
+
- 所以:别把 `dropped:true` 的句子划进 span;想让某段进画面,先让用户在客户端恢复它(拉长 clip)再重导视图。
|
|
@@ -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 里就该进词表。
|