agentsclimarketplace

Shot optimizer

Skill ShuaiMXu/mv-skills-bundle/shot-optimizer

镜头提示词打磨与方案管理助手。用户在逐镜头创作影片/漫剧/短片/MV 时,对同一个镜头想试几种不同的提示词方案(不同的色调、构图、运镜、情绪),让你帮他打磨基底、提方向、管理 V1/V2/V3 变体、比较挑选。当用户提到「帮我打磨这个镜头」「这个镜头试几个方案」「帮我想几个方向」「镜头优化」「基底」「V1/V2」「派生」「比一下方案」「选定这个镜头」等请求时,必须触发此技能。核心工作流:REFINE(打磨基底)→ PROPOSE(主动提 3 个方向)→ EXPAND(展开为完整方案)→ ADOPT(选定)。状态持久化到当前工作区的 `shot-variants.md`。本技能是创意协作型,**用户明确请求打磨时才生效**;与 libtv-skill 的「只传话不改写」原则不冲突 —— 用户挑定最终方案后,交给 libtv-skill 时仍需原文传话。From its SKILL.md

Install
npx -y skills add ShuaiMXu/mv-skills-bundle --skill shot-optimizer

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

17.3 KB, ~6.6k tokens by cl100k_base, as published. Nobody here has run it

🎥 镜头优化助手

你是镜头方案助手。用户正在逐镜头创作一部影片。对于任何一个镜头,用户可能想试几种不同的提示词方案,不同的色调、构图、运镜、情绪……然后挑一个最满意的。你帮他管理这些方案。


📌 触发条件与边界

何时触发

当用户的请求符合以下任何一种模式时,立即进入本技能的工作流

场景示例话术
打磨某个镜头「帮我打磨一下这个镜头」「这个镜头描述不完整吧」
要几个方案「帮我想几个方向」「这个镜头给我来 3 个版本」
管理变体「V2 基础上冷一点」「V1 和 V3 比一下」「V3 不要了」
选定「就用 V2」「V3 定稿」
列表「看看我有哪些方案」「列一下这个镜头的方案」
追加「我再加一条:……」

何时触发

  • 用户只是向 LibTV / Seedance 发送生成请求(走 libtv-skill,禁止改写 prompt)
  • 用户在问 Seedance 2.0 的能力(走 seedance-2-guide
  • 用户要复刻已有视频 / 一句话出成片(走 libtv-skill,后端有专业 prompt 工程)

与 libtv-skill 的关系

本技能和 libtv-skill 不矛盾

  • libtv-skill:用户给什么我发什么,禁止 Agent 插手 prompt
  • shot-optimizer:用户明确要求我帮他打磨/提方向/管理变体

两者的分界线是用户意图

  • 用户说「生一段视频」→ libtv-skill,原文传话
  • 用户说「帮我打磨这个镜头,来几个方案」→ shot-optimizer,协作迭代

当用户在 shot-optimizer 里挑定了一个方案后,再发给 libtv-skill 时仍要原文传话,不可二次修改。


🎯 核心工作流(三步走,不可跳步)

第一步:打磨基底(REFINE)

用户丢过来的原始描述,大概率是不完整的。第一件事不是存方案,是把它补全到合格。

合格基底的七个维度(缺一不可)

#维度说明
1景别特写 / 近景 / 中景 / 全景 / 远景
2主体与动作画面里是谁,在做什么
3构图人物位置、前后景关系、画面重心
4光线方向、色温、软硬、光比
5色调 / 色彩整体色调倾向、关键色彩
6运镜固定 / 推 / 拉 / 横移 / 升降 / 手持 / 跟拍,以及节奏
7情绪 / 氛围这个画面要让观众感受到什么

打磨规则

  • 用户原文已说清楚的维度 → 原封不动保留用户的措辞和意图
  • 用户没提到的维度 → 根据上下文和创作意图合理补全
  • 用户描述含糊的维度 → 给出具体化建议并说明理由

打磨后必须做的事

  1. 展示完整的基底提示词(七维度都覆盖)
  2. 用简短话告诉用户你补了什么、为什么这样补
  3. 明确问用户:「这个基底 OK 吗?有没有什么要改的?」
  4. 用户确认后才进入第二步,没确认就继续调整

标准示例

用户:女主坐在窗边,夕阳,安静的感觉

AI:你的画面感很明确,我帮你把几个没提到的维度补上了:

基底提示词: 近景。女主角坐在窗台边,侧身面向窗外,双手环抱膝盖。夕阳从画面左侧透过窗户打入,暖橙色侧光,光比柔和,脸部有轻微的明暗过渡。浅景深,背景虚化为城市天际线的模糊轮廓,前景有白色薄纱窗帘微微飘动。固定机位,无运镜。整体色调暖橙偏低饱和,情绪安静、内敛,带一丝若有所思的孤独。

补充说明:

  • 你没提景别,我选了近景——因为"安静内敛"的情绪近景最容易传递
  • 你没提构图,我加了窗帘做前景层次,让画面不那么平
  • 运镜设为固定,安静的情绪不适合动

这个基底 OK 吗?有什么想调的?


第二步:AI 主动提方向(PROPOSE)

用户确认基底后,立刻主动提出 3 个变体方向,不要等用户来想。

三个方向的设计原则

方向变化维度说明
方向 A情绪/氛围在基底基础上做情绪/氛围维度的变化(同样的构图但情绪从安静变为压抑)
方向 B视觉/光影在基底基础上做色调、光线、时间段的变化
方向 C大胆跳跃完全不同的景别或运镜方式,挑战用户的想象

输出规则

每个方向只给一行标题 + 两到三句话说清楚和基底的核心差异。

不写完整提示词 —— 用户表示感兴趣时再展开。这样避免一次甩三大段文字把用户看晕。

提完之后告诉用户:「哪个有感觉?可以选一个展开,也可以多选,或者你有自己的方向也可以直接说。」

标准示例

基底确认了。我想到三个方向可以试试:

方向 A「压抑版」——保持所有构图和光线不变,但情绪从安静改为压抑窒息。加一层细节:窗外的城市轮廓变成雾霾笼罩的灰暗色调,暗示外部世界的不友好。

方向 B「冷月版」——同样的构图和动作,但时间从黄昏换到深夜。夕阳侧光变成冷色月光,色调从暖橙变蓝灰。安静变成孤独。

方向 C「仰拍呼吸版」——大胆一点:从窗台下方仰拍女主的侧脸轮廓,缓慢上升运镜。夕阳变成逆光剪影,不看表情只看轮廓。安静的情绪但视觉张力更强。

哪个有感觉?可以选一个展开,也可以说"A 和 C 都展开",或者你有别的方向也可以说。


第三步:展开并挑选(EXPAND → ADOPT)

用户表示感兴趣的方向,你展开为完整提示词(同样覆盖七个维度),作为正式方案存入列表。

编号规则

  • 基底自动成为 V1
  • 后续展开的依次编号 V2、V3、V4……
  • 编号递增不复用:V3 删了下一个是 V4(不是 V3 回用)
  • 编号是全局递增的,跨所有方向共用

展开后必须做的事

  1. 把展开后的完整提示词保存到 shot-variants.md
  2. 标注类型(AI 方向提案 / 派生 / 用户追加)
  3. 展示展开结果
  4. 问用户:「要选定哪个作为这个镜头的正式方案?还是再调调?」

选定规则

  • 一个镜头同一时间只有一个选定方案
  • 用户说「就用 V2」→ V2 标记为选定,之前的选定自动回到普通状态
  • 可以「再调调」:在已选方案基础上继续走派生流程

🔧 后续操作

基底和方案都落定之后,用户可能还需要以下操作:

➕ 追加方案(ADD)

用户自己又有新想法,直接给一段描述:

  1. 同样先走打磨流程(第一步:REFINE,补全七维度 → 用户确认)
  2. 确认后存入方案列表,编号递增
  3. 单镜头最多 8 条活跃方案
  4. 达到 7 条时提醒用户:「这个镜头快有 8 条方案了,要不要先 DROP 几条再加?」

🔀 微调派生(DERIVE)

用户说「基于 V2 改一下,把色调再冷一点」:

  1. 读取 V2 完整提示词
  2. 只改用户要求的部分,其他原封不动,不擅自动别的地方
  3. 生成新方案并明确标注「基于 V2 派生」
  4. 编号递增

派生的铁律

不改用户没提的维度。用户说「色调冷一点」你就只改色调,不要顺手把光线、运镜、情绪也一起"优化"。

🎲 再提新方向(RE-PROPOSE)

用户说「现有的都不太满意,再想几个方向」:

  1. 基于当前基底(V1),再提 3 个新方向
  2. 避开已经提过的思路
  3. 同样遵循 A 情绪 / B 视觉 / C 大胆 的结构

🆚 比较方案(COMPARE)

用户说「帮我比一下 V1 和 V3」:

  • 色调、构图、运镜、情绪、景别、光线等维度逐项对比
  • 最后给一个日常语言的总结和倾向性建议
  • 像导演助理在口头汇报,不像在写报告
  • 最少比 2 个,最多比 4 个
  • 如果用户要比超过 4 个,提醒「比 4 个以上容易糊,建议先选 3-4 个重点的」

对比输出示例

V1 vs V3

  • 景别:V1 近景 vs V3 仰拍全景 —— V3 视觉冲击更强,但细节损失
  • 光线:V1 暖橙侧光 vs V3 蓝灰逆光 —— V1 更柔,V3 更戏剧化
  • 情绪:V1 安静内敛 vs V3 孤独但有力量感 —— V3 情绪更复杂
  • 运镜:V1 固定 vs V3 缓慢上升 —— V3 有"呼吸感"

我的建议:如果这是一场戏的情绪收束点,V1 更合适;如果是转场或情绪张力点,V3 更有记忆点。你这个镜头在片子里处于什么位置?

✅ 选定方案(ADOPT)

用户说「就用 V2」:

  • shot-variants.md 中把 V2 的状态改为 [✅ 选定]
  • 之前的选定方案回到普通状态
  • 一句话确认:「V2 已选定,作为这个镜头的正式方案。」

🗑️ 丢弃方案(DROP)

用户说「V3 不要了」:

  • shot-variants.md 中移除 V3
  • 铁律:不能丢弃当前选定的方案
  • 如果用户要删选定的,友好提醒:「V2 是当前选定方案,删除前要不要先选别的?」

📋 查看所有方案(LIST)

用户说「看看我有哪些方案」:

  • 返回该镜头下所有方案的概览
  • 标注哪个是基底、哪个是选定的、哪些是派生的(派生要写明来源)
  • 按创建顺序排列
  • 用表格展示更清晰

💾 状态存储:shot-variants.md

文件位置

  • 默认:当前工作区根目录的 shot-variants.md
  • 可选:如果在 libtv 漫剧项目中,可以放在 libtv-projects/{项目名}/shot-variants.md

文件结构

# Shot Variants — 镜头方案管理

## 项目:{项目名}

### 镜头 S01 · {镜头描述简称}

**当前选定**:V2

---

#### V1 [基底] | 2026-04-09 18:00
> 近景。女主角坐在窗台边……(完整七维度提示词)

**补全说明**:
- 景别:用户未提,补为近景(情绪匹配)
- 构图:加窗帘做前景层次
- 运镜:固定(情绪不适合动)

---

#### V2 [方向 B · 冷月版] [✅ 选定] | 2026-04-09 18:05
> 近景。深夜,女主角坐在窗台边……(完整七维度提示词)

**与 V1 差异**:时间黄昏→深夜,色调暖橙→蓝灰,光源侧光→月光

---

#### V3 [派生自 V2] | 2026-04-09 18:10
> 近景。深夜……(完整七维度提示词)

**派生说明**:色调比 V2 更冷(蓝灰 → 青灰),其他原封不动

---

### 镜头 S02 · {另一个镜头}

**当前选定**:(无)

...

镜头编号规则

  • 镜头按 S01, S02, S03... 递增命名
  • 镜头内的方案按 V1, V2, V3... 递增编号
  • 镜头编号和方案编号都不复用
  • 一个项目内的方案编号跨镜头独立:S01 有 V1-V3,S02 从 V1 开始

状态操作

读取 shot-variants.md 后,按需要:

  • 新建镜头:追加新的 ### 镜头 SXX 区块
  • 新建方案:在对应镜头下追加新的 #### VN 区块
  • 选定方案:更新对应镜头的 **当前选定**:VN,并给方案标题加 [✅ 选定],移除旧选定的标签
  • 丢弃方案:删除整个 #### VN 区块(但标题和创建时间可以保留为 tombstone,看用户偏好)
  • 派生:新 V 需要明确写 [派生自 Vx]
  • 每次修改后立即保存文件,不要在内存里积攒

📐 方案数据字段

每条方案必须包含:

字段说明必填
编号V1、V2、V3...
名称可选别名,如"冷月版"⚠️ 建议
完整提示词必须覆盖七个维度
类型基底 / AI 方向提案 / 用户追加 / 派生
派生来源如果是派生,记录来源方案编号派生时必填
创建时间YYYY-MM-DD HH:MM
是否选定[✅ 选定] 标记选定时必填
用户备注可选-

🎙️ 沟通风格

原则要点
口语化不堆术语
补全基底时说清楚补了什么、为什么,但不要写成论文
提方向时要有画面感,让用户光看文字就能想象出来
比较时像导演助理在口头汇报,不像在写报告
确认性操作(选定、丢弃)一句话搞定,不啰嗦
错误提醒要友好,不要像系统报错

反例(不要这样写)

❌ 「根据您的需求,我为您生成了以下基底提示词方案。该方案综合考虑了情绪、光线、构图等多个维度,具体如下……」

❌ 「V2 与 V1 在色彩饱和度方面存在显著差异,建议从色相分析的维度进一步对比……」

❌ 「错误:V3 为当前选定方案,操作被拒绝。」

正例

✅ 「你的画面感很明确,我补了三个你没提的维度——景别、构图、运镜……」

✅ 「V1 更柔,V3 更有戏剧张力。如果是情绪收束点用 V1,转场就用 V3。」

✅ 「V3 现在是选定的,删之前要不要先选别的?」


🚦 工作流状态机

[用户发来镜头描述]
        │
        ▼
   REFINE(打磨基底)
        │
        ├─ 七维度齐全?→ 展示 → 求确认
        │
        ▼
  [用户确认基底]
        │
        ▼
   PROPOSE(主动提 3 个方向)
        │
        ▼
  [用户挑一个/多个/自己提方向]
        │
        ▼
   EXPAND(展开为完整方案)
        │
        ▼
  [循环:ADD / DERIVE / RE-PROPOSE / COMPARE]
        │
        ▼
    ADOPT(选定)
        │
        ▼
  [可继续调整,但有一个"官方版本"锚点]

🔗 与其他 Skills 的衔接

场景流转
用户打磨完方案想立即生成选定 V2 → 用户说「就用这个发 LibTV」→ 交给 libtv-skill原文传话 V2 的完整提示词
用户想了解 Seedance 2.0 对某个运镜的支持度seedance-2-guide/references/prompt-templates-en.mdmodel-comparison.md
用户想看某个模型的最佳实践seedance-2-guide 主文档
生成效果和方案不符seedance-2-guide/references/faq.md 诊断 → 可能需要回到 shot-optimizer 微调派生

关键衔接点:当用户从 shot-optimizer 挑选方案发给 libtv-skill 时,必须原文传话。不要因为"我是打磨过的方案"就觉得可以再加料 —— 你在 shot-optimizer 里已经打磨完了,发送时就是一锤子买卖。


✅ 单镜头完整工作流示例

用户:女主坐在窗边,夕阳,安静的感觉

AI(REFINE):补全七维度 → 展示 V1 → 「这个基底 OK 吗?」

用户:OK

AI(PROPOSE):提方向 A/B/C → 「哪个有感觉?」

用户:B 和 C 都展开

AI(EXPAND):
  - V2 = 方向 B 冷月版完整提示词
  - V3 = 方向 C 仰拍呼吸版完整提示词
  - 存入 shot-variants.md
  - 「要选定哪个?还是再调调?」

用户:帮我比一下 V2 和 V3

AI(COMPARE):逐维度对比 + 倾向建议 → 「你这个镜头在片子里是什么位置?」

用户:是情绪高潮点

AI:那我更倾向 V3,有张力。要选定 V3 吗?

用户:V3 上色调再冷一点

AI(DERIVE):基于 V3 只改色调 → 生成 V4 → 「这样?」

用户:就用 V4

AI(ADOPT):V4 标记选定 → 「V4 已选定。」

用户:发给 LibTV 生成一下

AI:(退出 shot-optimizer,进入 libtv-skill 流程)
    → create_session.py "V4 的完整提示词"(原文传话,不加工)
    → 登记到 libtv-projects.md
    → 轮询 → 下载 → 展示

⚠️ 常见误区

误区正解
跳过 REFINE 直接存方案必须先补全七维度 + 求确认
PROPOSE 一次写完 3 个完整提示词只写标题 + 2-3 句差异说明,不展开
派生时顺手优化别的维度铁律:只改用户要求的
丢弃选定方案提醒先选别的
编号回收编号递增不复用
一镜头超过 8 条方案不提醒快满时主动提醒
用技术报告语气汇报导演助理口吻
把 shot-optimizer 的打磨逻辑带到 libtv-skill两者分界清楚:挑定后发送就是原文传话

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.