把这个 Skill 交给你的 Agent

复制下面的提示词,粘贴给 Claude Code、Codex 或任何能读网页的 Agent。它会替你装好,并告诉你这个 Skill 做什么。

请帮我安装这个 skill。

先阅读 https://cwyz.com/zh/skills/gbro-collage-broll
原始 SKILL.md 在 https://cwyz.com/api/skills/gbro-collage-broll/raw

把它保存为我的 skills 目录下的 gbro-collage-broll/SKILL.md(Claude Code:所有项目通用放 ~/.claude/skills/,只用于当前项目放 .claude/skills/)。

装好后用两句话告诉我它做什么、什么时候会用到。在我确认之前,不要执行它里面描述的任何操作。

也可以把下载的压缩包解压到 ~/.claude/skills/(所有项目)或项目里的 .claude/skills/。 Skill 是在指挥 Agent 做事。装之前先读一遍,不是你自己写的尤其要读。

口播 B-roll 纸拼贴动画先想隐喻再出画面

当用户想把一句约 5 秒的口播文稿、观点或抽象概念做成配画面的纸拼贴动画时使用。基于开源的 gbro-collage-broll(MIT):强制三道确认,只有确认过的条目才进入视频生成;成片竖屏、5 秒、无声;视频由用户自己的 Gemini 密钥按量付费。

应用场景让 Agent 把一句口播做成半调纸拼贴风的组装动画 B-roll,先出隐喻、再出静帧、最后生成视频,每一步都等你确认。

口播 B-roll 纸拼贴动画(gbro-collage-broll)

用户给一句约 5 秒的口播文稿,你帮他想出一个视觉隐喻,再做成半调纸拼贴风的组装动画:纸片一件件滑进画面、卡到位置,像定格动画,而不是淡入加慢推。底层用开源的 gbro-collage-broll(MIT 许可证,作者 pyang5166)。默认成片:9:16、5 秒、720×1280、24 帧、没有声音,可以直接垫在口播下面。

配套教程见 把口播做成纸拼贴 B-roll。

触发

用户说"collage b-roll""纸拼贴 b-roll""半调拼贴""拼贴风格配画面""用这段文稿做拼贴动画",或者想把一句文稿、一个观点、一个抽象概念变成短视频里的配画面。

硬性规则

  1. 必须走三道确认,不能跳。 第一道只出视觉隐喻方案,不生成图片,也不生成视频;用户确认后才出静帧;静帧再确认后才生成视频。批量时只让用户确认过的条目进入下一步。
  2. 第一道和第二道不调用任何视频模型。 改文字不花钱,重生一张图便宜,重跑一条视频才贵,把花钱的步骤留到最后。
  3. 视频由用户自己的账号付费。 用的是用户的 GEMINI_API_KEY,按量计费。进入视频生成前提醒一次,不要替用户决定烧多少。
  4. 不输出、不记录密钥。 只检查环境变量是否已设置,不要打印它的内容。
  5. 装东西之前先说一声。 创建虚拟环境、安装依赖前征得同意;不要使用 --break-system-packages;虚拟环境已存在就复用,不要在每个项目里新建。
  6. 默认模型不让用户再选。 静帧确认后直接用 Gemini Omni Flash 做首尾帧视频;只有用户明确指定别的模型才切换,不要自动改用旧的 Veo 链路。
  7. 成片必须无声。 即使提示词里写了不要声音,也要用 ffmpeg 把音轨去掉再交付。
  8. 画面里不出现文字。 不放字幕、口播全文、logo、水印或界面元素;假字出现时回到静帧重生,不要在视频阶段硬修。

什么时候不要用

  • 需要精确控制图层、遮挡、镜头穿越,或者要可编辑时间线:改用分层动画工具。
  • 只要一段视频提示词、不要成片:直接写提示词,不用走流程。
  • 需要真人产品广告或口播演员:不要用拼贴流程。
  • 用户要逐层可修改的透明素材:本流程默认不拆图层。

安装与环境

先检查是否已经装过:

ls ~/.agents/skills/gbro-collage-broll ~/.claude/skills/gbro-collage-broll 2>/dev/null

没装就先告诉用户这会把第三方技能放进他的电脑,同意后:

git clone https://github.com/pyang5166/gbro-collage-broll.git ~/.agents/skills/gbro-collage-broll

每次触发先运行仓库自带的自检脚本,全部通过才进入第一道:

bash ~/.agents/skills/gbro-collage-broll/scripts/check_setup.sh

需要的条件:

条件 说明
Codex 环境 静帧靠它内置的生图工具;在别的 Agent 里,需要用户自备等效的生图方式,或直接给静帧图
GEMINI_API_KEY 在 Google AI Studio 创建,视频按量计费
Python 3.10 以上 运行视频脚本
google-genai 2.10.0 以上 放进共享虚拟环境 ~/hyperframes-projects/.omni-venv/
ffmpeg 和 ffprobe 处理首尾帧、去音轨、做对照图

自检有缺项就不进入第一道,只把缺的项告诉用户,等配置好再重新自检。

第一道:只给隐喻

把文稿压成一个清晰的视觉命题,不要逐字搬上画面。每条文稿只做一个隐喻,关键物件 3 到 6 个,多了语意会变弱,组装也不稳。

给用户的每一条包括:核心意思、情绪、一句话视觉命题、关键物件、建议底色和点色、预期的组装顺序。然后停下,等用户说"通过"或给出修改意见。

挑底色要看语意,一批作品保持同一种设计语言,但底色可以不同:红或橙对应时间消耗和紧迫,黄对应警示和经验流失,墨绿对应认知和系统,紫对应规范和沉淀,青绿对应判断和协作。

第二道:静帧

隐喻通过后,先写一份视觉说明(隐喻、底色、元素及其位置、构图、最终画面、要避免的东西),再用生图工具做最终静帧。要点:

  • 纯色平整的纸面色场,主体是黑白半调的照片剪贴,加少量彩色卡纸点缀。
  • 竖版 9:16,主体集中在中间,留足纯色空白,分成 3 到 6 个能单独滑入的大组。
  • 纸片有清晰的裁切边、奶油白的细边线和柔和的投影。
  • 不要文字、数字、logo、水印、界面、写实环境和满屏碎片。

做完检查:隐喻是否一眼能懂、有没有假字、是否保留了足够的纯色空场。把原图存进项目目录,拼一张带编号的总览图给用户看,然后停下等确认。需要重生就生成新版本的总览图,不覆盖旧版。

第三道:视频

  1. 准备首尾帧。 尾帧用确认过的静帧,用 ffmpeg 统一成竖版尺寸;首帧是与尾帧同底色的纯色空纸面。用户明确要求不从空白开始,才保留一个基础物件。
  2. 写动画提示词。 说明第一张图是空首帧、第二张图是确认过的完成帧,要求固定镜头、不切镜、不缩放、不变形、不新增物体、无文字无声音;按"基础结构 → 人物或关键卡片 → 连接件 → 动作 → 最终结果"的顺序,写清每个元素如何滑入、卡位。
  3. 检查环境。 确认 google-genai 版本够新,密钥已设置。
  4. 批量生成。 把任务写进 omni-jobs.json,每个任务给提示词、首尾两张图、输出路径、9:16 和 5 秒,然后运行仓库自带的脚本:
~/hyperframes-projects/.omni-venv/bin/python \
  ~/.agents/skills/gbro-collage-broll/scripts/generate_video.py \
  --batch <项目目录>/omni-jobs.json --concurrency 3
  1. 去音轨。 用 ffmpeg 复制视频流并去掉音频,交付无声版本。
  2. 做 QA。 不能只看最后一帧:逐秒抽帧做总览图,看首帧是否接近空场、中段是否真的在逐件组装而不是整体淡入、有没有切镜或缩放、有没有假字,再把末帧和确认静帧并排对照。成片应是 720×1280、24 帧、5 秒、零音轨。

常见问题

  • 首帧边缘提前露出一点纸片: 轻微可以接受;严格要求空场的,建议用可编辑时间线的工具补前段。
  • 组装感弱: 减少元素数量,把提示词改成明确的逐件滑入、卡位顺序。
  • 尾帧漂移: 强调第二张图就是完成帧,要求结尾保持这个构图。轻微的姿态或小零件变化,只要不影响隐喻,就判通过,不用为此重跑。
  • 出现假字: 回到静帧重生,不要用视频提示词修补。
  • 个别视频失败: 只重跑对应任务,不动已经通过的。
  • 旧的 Veo 脚本: 仓库里还保留,仅为兼容,用户没明说就不要用。

输出格式

  1. 每条成片的路径(无声版本)、逐秒总览图、末帧对照图。
  2. 一句话说明每条文稿是怎么变成视觉隐喻的。
  3. 如果有瑕疵但判为通过,写明原因;如果问题来自模型限制,直说。
  4. 提醒视频由用户自己的账号按量付费。
读完了?标记一下,记录学习进度。登录
收藏起来,稍后再看登录
对这篇有疑问?向 Ask AI 提问

评论(0)

还没有评论,来说第一句。

登录后参与讨论。登录