gitruck/cli/gtrk-travel-recap
Claude Code and agent skill by gitruck/cli
- community
Checking that the SKILL.md file is still in the repository.
旅拍解说一站式成片图纸——输入一个旅拍素材文件夹(长视频或素材集),AI 理解素材、写三段式解说稿、一次确认后全自动跑完配音/建工程/拆分/B-roll/字卡/BGM/字幕,直达客户端可出片工程。当用户想「旅拍解说 / 旅行视频解说 / 把这条旅行长视频做成解说视频 / 旅拍素材做成片 / 长视频二创解说 / vlog 解说化 / travel recap」时使用本 skill。凡涉及把旅拍素材(自拍或网络长视频)做成中文解说成片,优先用本 skill 编排 gtrk CLI 全链,不要手搓单命令、别让用户逐步驱动。
Install
npx vskill@latest install gitruck/cli/gtrk-travel-recapSKILL.md
gtrk-travel-recap(旅拍解说 · 组合成片图纸)
把一个旅拍素材文件夹变成一条中文解说成片工程:理解素材 → 三段式写稿 → 检查点①一次拍板 → 配音/建工程/拆分/B-roll/字卡/BGM/字幕 全自动 → 客户端出片。
定位:本 skill 是第一张 structure 级组合图纸——它不新增任何命令,只编排既有原子零件(transcript / matrix / project init / split / mg / audio lay / subtitle lay / TTS 工具)。零件的参数细节以各自 skill(gtrk-matrix/gtrk-splitter/gtrk-mg/gtrk-transcript)与--help为准,本图纸引用不复制;但编排次序、检查点、配方级参数以本图纸为准。CLI 是手,你是脑:写稿、切 beat、挑候选信号、产字卡颗粒、管检查点,都是你的活。家族归位:本图纸是解说链(gtrk-narration正本)的旅拍垂类实例。时序铺排、引用段、出处对齐等链级条款以gtrk-narration为正本;本图纸只补充旅拍要素层(贵大奇多钩子、攻略 tips、升华笔法)。素材无自带时序的题材(科普/情感/带货)走gtrk-voiceover。本 skill 已含跑通全链需要的编排信息。
一、输入契约与双场景识别
用户给一个素材文件夹(或多个,逗号分隔传 --dirs):
| 内容 | 必须性 | 说明 | |
|---|---|---|---|
| 视频/图片素材 | 必须 | 一条长视频(二创)或一堆素材(原创拍摄)皆可;图片会被自动运镜成动态上轨 | |
| BGM 音频文件 | 可选 | 没有就走素材矩阵搜索(见检查点①) | |
| 介绍类文本(txt/md) | 可选 | 有则作写稿补充素材 |
一夹多片时检索域按场景分流:二创场景一个夹里常躺着好几条互不相干的片, B-roll 检索域 MUST 收窄到正在做的那一部片本身——--dirs 既吃文件夹也吃单个素材文件,传文件即把域收窄到该素材(见 §五 ⑦ 的★铁则)。 原创(自拍素材集)那一档整夹就是这一片的素材域,传夹正确。
MUST NOT 下载二创源片 / 主体素材:网络视频二创场景下,用户提供的文件夹就是输入,下载动作归用户。平台授权素材(素材矩阵的 BGM / 空镜)可按其签名直链落地;这条例外不适用于源片与主体画面素材。
双场景识别(决定理解编排走法):
- 二创:文件夹里是网络旅行长视频(通常含博主解说语音)→ 原片文案是写稿主料;
- 原创:用户自己拍的素材集(通常无解说语音)→ 素材理解(describe)是写稿主料。
- 拿不准就 ffprobe 看时长与条数:单条 10 分钟以上大概率二创;几十条短素材大概率原创。仍拿不准,问用户一句。
- 原创场景的素材集常常通篇没有对白——那就不跑转写,下表的语种一问以「无对白 / 不转写」闭合,MUST NOT 因缺这个答案阻塞开工。
开工三问:稿源 · 声音基座 · 源片语种。三问开工时与双场景识别一并问清、一张表一次问完、MUST NOT 代猜:
| 问 | 选项与走法 | |
|---|---|---|
| 稿从哪来 | AI 代写(缺省,§三 规约写)/ 用户自备稿——跳过写稿,稿直接进检查点①过目(文风铁律不强加于用户手稿,只提示明显硬伤) | |
| 声音怎么来 | TTS 配音(缺省,检查点①挑音色)/ 用户自己念——拿念稿毛片先走 gtrk oralcut 粗剪(带稿最准;外录收音先 gtrk audio align 对轨),产出的粗剪工程即时间基座,§五 的「配音④→建工程⑤」两步跳过,从拆分⑥接入,后续铺排/字卡/BGM/字幕照旧 | |
| 源片语种 / 方言 | 取证=听一段 / 看片内有无内嵌字幕 / 看素材出处;答案定 §五 ① 的 gtrk transcript --lang(zh-CN 普通话 / `zh-HK` 粤语 / en-US / ja-JP…)。MUST 问用户、MUST NOT 代猜、MUST NOT 以缺省 `zh-CN` 静默开跑转写——转写是计费动作且早于检查点①,非中文素材传错语种会让检查点①拿到错误稿件并产生重复 ASR 成本。粤语建议如实填 zh-HK;当前 --json 路径按字级转写。素材无对白:答「无对白 / 不转写」即闭合 |
推荐面(公约 §三‴):问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取gtrk skills recommend --scene <id> --json;用户拒绝后不执行推荐动作。
精剪包装(公约 §三⁵):开工时告知一句「快速成片会在适合的段落做合成包装,最多全片四分之一,不要就说一声」——不是问题,用户说不要即零动作;gtrk composite bake --abi报烘焙浏览器没装时,在这张问询表里多问一句装不装(不装用本机 Chrome / Edge)。
一′、素材适配闸(写稿前必过)
本闸判的是题材,与「有无自带时序」正交。剧情短片、摆拍表演和单一室内场景不能直接套用旅拍要素层。
取证零新增计费(读的都是编排里本来就要产的东西,MUST NOT 为这道闸新加一次 describe 或转写):
- 原创场景:读
gtrk matrix index/gtrk matrix describe已产的desc(中文视觉描述)与tags; - 二创场景:读
gtrk transcript全文。
判据(可判定,逐条素材过一遍):
- 主判据——这一条能不能回答「这是在哪、看到了什么」(可辨认的地点 + 所见之物)。能答的占比过低 ⇒ 不适配;
- 反向命中任一即不适配:文本呈现剧情对白(人物一来一往推进情节)/ 摆拍表演(演出来的而非记录下来的)/ 单一室内场景(全片不出一个可辨认的地点)。
命中即硬停:MUST NOT 进入写稿(形制照 gtrk-vlog-docu 的立神闸)。 硬停位置是写稿之前 = TTS 计费之前——它与 §四 检查点①「未经确认 MUST NOT 发起计费动作」是同一条防线的前置一层: 检查点①拦的是「稿子对不对」,本闸拦的是「这活该不该接」。停下时 MUST 如实列出哪几条不适配 + 依据原文 (引 desc / tags / 转写里的原句,别只下结论),并给三条出路:
| 出路 | 怎么走 | |
|---|---|---|
| ① 剔除 | 把不适配的那几条摘出去,用剩下的素材继续跑本图纸 | |
| ② 改投 | 剧情 / 影视 / 游戏这类有时序但非旅拍的题材走 gtrk-narration(解说链正本);素材无自带时序的题材(科普/情感/带货)走 gtrk-voiceover | |
| ③ 照跑 | 用户坚持就照办,但 MUST 在交付说明里如实登记「素材与旅拍垂类不匹配、要素层(贵大奇多钩子 / 攻略 tips)多半落空」(降档路径如实登记,口径同《成片型图纸公约》) |
两条边界写死:agent MUST NOT 自行判死(决定权在用户,本闸只提名不宣判)、MUST NOT 静默照跑—— 静默照跑会让整条链在错误题材上完成并产生不必要的计费,因此必须在此停下。
二、全链总览(快速成片)
检查点①之后一路跑完不再打扰用户——垂类示例的承诺面就是快速成片一杆到底。 ⚠️ 这条承诺以 ①′ 适配闸通过为前提:闸命中时的那次停顿不算「打扰用户」,它是在把钱花出去之前问一句「这活该不该接」。交付后对个别环节不满意走 §七 增量重跑,对垂类玩法本身不满意走 §七 个性化出路。
三、三段式写稿规约
通用框架层(可移植——其他垂类图纸原样复用本层)
结构三段式:第一部分「钩子」抓眼球保留存 → 第二部分「干货」给内容价值 → 第三部分「升华」给情绪价值。爆款四属性贯穿:快乐+知识+共鸣+节奏。
背景检索建议:写稿信息源除了画面与音频(字幕不一定有), 建议执行 agent 对素材主题的关键词做一轮背景/上下文检索(地名典故、店家来历、片名与 公开报道等),检索所得须与素材内可见事实互证后才可入稿,并标注来源。 有检索能力就做、没有不强求(能力缺席按纯素材信息写,不算违约);检索到的外部数字与 争议性说法宁缺勿滥。
文风铁律:
- 禁模板连接词:让我们/首先/然后/最后/此外 等一律不用;
- 拒翻译腔:全部短句中文语感,无欧化从句;
- 禁「否定—转折」对举句式(最高优先级):禁的是整个家族,不只字面:
- 「这不是 X,而是 Y」/「与其说是 X,不如说是 Y」
- 「X 不仅仅是 Y,更是 Z」/「X 不只是 Y,它还是 Z」
- 「重要的不是 X,而是 Y」/「真正的 X 从来不是 Y」
- 「不是因为 X,而是因为 Y」/「X 靠的不是 Y,是 Z」
- 识别特征:先立一个没人主张过的靶子再推翻它、用对偶结构制造顿悟感、句子的信息量全在后半句而前半句只是垫脚。
- 改法:把后半句直接说出来,删掉前面那个假靶子。「这不是一条水渠,而是一条生命线」→「几百个村民用铁锤在悬崖上凿了三年,就为这一条水渠」。能直接陈述的事实,绝不用对举包装。
- 这条也适用于标题与 HashTag。
- 禁幼稚拟声与过度儿化(★ 打样校准):「轰隆隆砸下来」这类拟声,换成真实事实(「从九十多米高处坠进谷底,比尼亚加拉还高出近一倍」)——数字与事实比拟声词有力得多;
- 风格目标 = 与原素材旗鼓相当:原片多吸引人,解说就得配得上——贴着原片气质走,不加分(加分是业务化的事,走栏目风格)不减分。
成片时长 = min(内容所支撑, 素材所支撑):
- 内容支撑:有多少真东西说多少话,素材再多也不注水;
- 素材支撑:按「30% 图片×8 秒 + 70% 视频素材时长」估算上限,稿子在写稿阶段就按上限收敛(不要等铺轨时开天窗);把这个秒数换算成字数用下一条的折算口径(公式本身不动);
- 折算口径 = 挂钟语速(wall-clock:稿件字数 ÷ 合成音频总时长,含句间停顿),按检查点①选定的那条音色取值:读 catalog 该音色的 `speech_rate_cpm`(字/分钟),并把 `speech_rate_basis` 一并报给用户(`measured` = 实测 / `derived` = 由声学参数推算);catalog 没给该字段(非中文音色)或拉不到 catalog 时才用缺省 ≈330 字/分钟,并明说这是缺省估值、不是该音色的实测值。3 分钟成片 ≈ 1000 字。
缺省 330 的依据与标定方法见 references/speech-rate.md,本图纸只引用该单一真值源。
- ⚠️ MUST NOT 拿计费折算常量(240 字/分钟)推稿子字数:计费口径与写稿口径分开,计费常量只用于估算费用。
写后自校验清单(逐项过,不过重写):
- [ ] 三段结构完整、时长在 min 公式内
- [ ] 禁词零命中、无翻译腔、无幼稚拟声
- [ ] 「否定—转折」对举句式零命中(逐句扫「不是…而是」「不仅…更是」「与其…不如」及其变体;含标题与 HashTag)
- [ ] 重复字/错字扫描(★ 打样实锤:「下瀑布瀑布」重复字 TTS 会照念)
- [ ] 事实矫正:转写稿的明显错误(如数量级离谱的数字)按常识矫正或模糊处理,不确定的不引用
- [ ] 解说序 ≈ 素材序(二创场景:按原片游览顺序写,B-roll 时间窗天然可用)
- [ ] 同批产出:标题 3-5 个(≤30 字)+ HashTag 3-5 个
旅拍要素层(垂类专属)
- 钩子要素(第一部分重点找):贵大奇多 / 热门 IP / 名人名著 / 知名历史事件 / 全球 TOP 榜 / 奇闻轶事 / 脍炙人口;
- 干货要素(第二部分):攻略 tips / 游览流程 / 干货&经验 / 旅途见闻,幽默口吻、隔几句一个梗(谐音/反转/无厘头),在精不在多;
- 升华笔法(第三部分):思考/感悟/启发/感动,正能量收束;第一人称历数、物象隐喻收尾都是成熟笔法;
- 有文化衍生空间(历史典故/风俗人文)可适当发挥,但以原素材内容为锚。
三′、L1 看点 rubric · 画面投影版(供 --highlight-weight 使用)
highlight 是镜头看点分——服务端 VLM 对着一帧画面打 0–100。旅拍这一档的准则 (highlight_rubric):
分工注记(MUST 遵守):本 rubric 只判镜头可见之物。知识侧要素——地名典故、历史事件、人文背景——不进画面 rubric,它们归写稿与背景检索(§三 通用框架层已列)。分工是:画面 rubric 管「这一帧值不值得看」,写稿管「这件事值不值得讲」。平淡的过渡帧判低分不等于不可用——降权不排除,候选稀疏时照样上(留空更难看)。
传入方式:把上面代码块原样存成工程目录下的 highlight-rubric.txt,理解那一步带上它——
存成文件而非内联,除了免去多行转义,还留下「这条片用的是哪套准则」的可查痕迹。跑完 gtrk matrix lay 自动读 plan 里钉存的同一个桶,不必再传;真传了而且与 plan 钉的不同源,CLI 会硬失败(不静默择一)。 ⚠️ 换准则重新打分要重新看片(1 积分/张):客观描述缓存不被覆盖,但看点分按准则分桶,新桶没分就得重打。
四、检查点①(双模式共有,必停)
写完稿必须停下,把以下六项一次给用户拍板。未经确认 MUST NOT 发起 TTS 与 B-roll 云端编排计费动作。
本地素材的编排缺省走云端并按编排量计费。matrix lay跑前必须报告预估用量,取得同意后才能带--yes;无 TTY 且未确认时整轮中止,工程不改动,plan 可重跑。
语种不在这六项里:它在 §一 开工三问就已定,检查点①对它最多做过目复核。MUST NOT 把语种拖到这一步才问——此时 ① 的gtrk transcript已经跑完并已计费,稿子也已按错语种写出来了。
- 解说稿 + 标题:正文全文贴给用户(不是给路径),标题候选列出;
- 画幅:问目标平台——横屏 B 站/西瓜=1920x1080,竖屏抖音=1080x1920。素材几何与画幅不一致时明确提示(横素材→竖画布会裁切或留边);
- TTS 音色:拉 catalog(
GET {apiBase}/task/tts/voices,免鉴权)按内容调性挑 2-4 个候选,每个附试听链接(catalog 的 audition_url 字段,api.ai-mcn.tv:9000 静态直链)——用户在对话框里直接点开听。internal 标注的音色注明「仅内部成员」。也可按用户描述语义挑(「要个温柔女声」)。
每个候选还 SHALL 附上该音色的挂钟语速与据此推的稿件字数区间(取同一份 catalog 载荷里的 speech_rate_cpm + speech_rate_basis,零额外往返;该字段缺席就明说「用缺省 330 估」;标定方法见 references/speech-rate.md)——挑音色的同时也是在挑稿子长度,别让用户回头才发现稿子长了三成。这条是加项,MUST NOT 削弱既有的「无试听链接 = 未完成推荐」义务;
- BGM 处置(双来源):
- 用户有本地音乐 → 询问是否
gtrk tool audio_separation伴奏分离后取伴奏(缺省建议分离——TTS 配音不与歌曲人声打架); - 用户未提供 → 搜同和素材矩阵:
gtrk matrix material "<按稿件情绪+地理文化写的检索词>" --scope audio --top-k 5 --diversity --json
(检索词口径见公约 §三′:内容驱动、禁通用词、至少含一个只有这一片才成立的词;候选 MUST 给用户挑不许默认 top1;跨片避让由 audio lay 记账 + 检索缺省 --exclude-recent 自动完成(按成片时长可加 --min-duration <秒>)。身份路由与计费口径由零件持有;版权状态要如实转述——is_copyright=true = 可商用、false = 不可商用。矩阵成员档缺省搜全库并逐条给 copyright_label;用户特意说明只要可商用或商用发布时才加 --commercial-only 收紧。upsell 是独立顶层字段,不是候选。 推荐 3-5 首、每首附试听链接(结果的 download_url);audio_type:"pure" 纯音乐直接用,"song" 直接取 accompaniment_url 现成伴奏(零处理成本,两档都有);注意曲长 vs 成片时长(duration 字段):audio lay 缺省循环叠满至工程末尾、尾段裁齐(多 clip 首尾相接,命令会打 INFO 报段数),短曲只是接缝多一些、不会铺一半就静音(想少几道接缝,挑曲时加 --min-duration <秒>);要单次铺请显式传 --no-loop;
- 试听链接义务(MUST):音色与 BGM 的推荐没有试听链接=未完成推荐。
- BGM 落地一步(MUST):检索出参只给签名 URL,而
gtrk audio lay --file只收本地路径。拍板后先把选中曲落成本地文件:audio_type:"song"取accompaniment_url伴奏版,"pure"取download_url。文件名按bgm-<曲名>[-伴奏].<扩展名>,供跨片避让记账使用。
- 字幕样式:7 种样式(default/outline/cinema_yellow/immersive_box/wide_spacing/deep_shadow/boxed)× 11 色(雅黑/淡绿/森林绿/湖蓝/道奇蓝/钢蓝/浅粉红/深橙/珊瑚橙/橙红/土豪金)挑选;用户没选就用 default+雅黑(不追问不阻塞)。拍板值在 ⑪
gtrk subtitle lay落地,客户端里仍可整轨换样式(悔棋通道)。 - B-roll 编排量预估(本地素材路必报):本地素材产的 plan 走
matrix lay时缺省即云端编排并按编排量计费(--arrange local不受理)。先拿数再拍板:
``bash gtrk matrix lay --project "<工程目录>" --arrange-estimate-only --json # 停在计价确认之前:零云端调用、工程文件零改动 ``
把它与 TTS / describe 的预估同屏报给用户,一次拿到同意——§五 ⑦ 的 lay 才允许带 --yes。报不出这笔就不许开跑。
五、快速成片编排(打样验证过的真实命令)
产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节):文本产物写入 CLI 返回路径或用户显式指定的-o, --out;交付物直接写入工程目录;引用媒体用原路径,不复制到 agent 工作目录;临时文件放系统 temp,用完即删。交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/gtrk-travel-recap/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/gitruck/cli/gtrk-travel-recap)