Communitygithub.com

bp-abe/skills-video

从头到尾制作动画视频(Remotion,MP4 16:9 和/或 9:16),根据主题、脚本、零散笔记或指令——从内容中构思概念(或遵循所要求的风格),使用本地语音(VoxCPM2 克隆)或 Gemini TTS,Lyria 或代码创作配乐,CC0 效果,并经过多样性和独立评审检查评分。支持离线模式(“不使用 API”)。还可编辑录制的视频(静音和失误剪辑、缩放、逐词字幕、Premiere XML)。当用户提出制作视频、动画、解说、动态图形、Reels/Shorts、产品/营销/传记视频,或编辑/剪辑录制内容时使用。

skills-video 是什么?

这是一个用于生成动画视频的强大技能,基于 Remotion 框架。它能够从主题、脚本、笔记或指令中完整创建视频,包括概念构思、配音(VoxCPM2 克隆或 Gemini TTS)、配乐(Lyria 或代码创作)和视觉效果。该技能遵循严格的“导演式”工作流程:先构建概念(包括 logline、视觉圣经和分镜),再依次进行配音、测量、音效、故事板、动画样片、完整渲染和独立评审,确保视频质量达到运动设计工作室水准。它还支持编辑现有视频,如静音/失误剪辑、缩放、逐词字幕和导出 Premiere XML。核心设计理念是“基础设施而非品味”——技能提供技术工具、规则和评审流程,但视觉风格完全由每次的内容决定,避免重复和审美疲劳。支持的平台包括 Claude Code 等 AI 智能体环境。

兼容平台✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/bp-abe/skills-video/tree/HEAD/video-animado

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

动画视频(Remotion)

基础设施,不是品味。 该技能存储模型本身无法携带的内容——工具(语音、配乐、渲染、转录)、公司上下文(授权语音、密钥、防火墙、许可证)、真实规则、技术细节、评审流程以及技术教训——且不规定视频的外观。 风格、表现形式和外观每次都由内容决定。在进化技能时,切勿向始终读取的内容添加外观示例、审美配方或“默认”组件:这会导致固化与重复。

需要阅读的内容

始终阅读按需阅读
本文件 · APRENDIZADOS.md(技术) · direcao.md(专业知识)gemini.md(语音、API、能力) · assets.md(许可证、资源来源) · edicao.md(录制编辑) · critica.md(评审) · referencias.md(仅当请求提及某个已研究视频时) · biblioteca/(仅在概念选定后) · VIDEOS.md 和旧项目(仅当有明确的风格方向时——甚至不要“为了看别人用了什么语音”) · historico/(当问题看起来是已知的)

理解请求

技能充当导演的角色:理解请求的意图并采取行动。不进行问卷调查;仅询问阻塞性问题(模糊的政治/历史框架、资料无法解决的事实、不确定的使用权),并附上建议。

请求带来…执行方式
仅一个主题全部创建(调研、脚本、概念、语音、配乐)并交付成品。
一个脚本文本保持不变(建议的调整单独给出,可选的);展示简介并在确认后制作(“直接制作”跳过)。
笔记、叙述、要点根据它们编写脚本(语气、剪辑、匿名化)并在制作前展示脚本 + 简介。
不含内容的咨询(“你推荐什么动画用于…”)不选择概念:概念来自文本。解释选择取决于什么,并请求内容。
提案请求仅简介(PROPOSTA.md)。
具体指令严格遵守;仅在未指定之处保留自由度。
需要剪辑的录制内容编辑模式: edicao.md。
对现有视频的调整仅修改指定内容并重新渲染。
风格方向(“像视频 X 一样”、“系列”)加载 VIDEOS.md 中的条目,复制该项目的 tema.ts 和组件,保持外观;roteiro.linha_de_estilo。
空白页(“从零开始”、“没有现成的东西”)仅技术基础;不使用库中的任何组件或已研究的参考。
外部参考(链接、视频)逐帧研究,提取语法(节奏、技术),绝不提取内容或外观。
“不使用 API”"offline": true,本地语音,配乐使用 partitura 或 arquivo,不生成图像。

请求可以组合。默认值:参考时长约 45–60 秒 · 16:9 + 9:16 · 使用授权参考的 VoxCPM2 克隆语音 ("voz": "voxcpm",已在模板中) 仅限内部使用 —— 面向公众的视频(营销活动、社交媒体、客户)需要其他语音:在简介时询问并给出建议。其他语音的请求:名称 → 直接使用;描述 → 参考 gemini.md;“选项” → 提供样本 · 仅当目标为销售时才使用带 URL 的 CTA。 时长由内容决定;根据所选语音的实测速率估算(切勿在测量前承诺)。 长视频:每个部分都有功能,并且完整的传递由子智能体分担。

导演简介(在任何代码之前)

按顺序——先确定核心卖点和限制,然后是美学,最后才是工具(从技术开始会让技术吞噬创意)。放入 PROPOSTA.md(收到脚本/提案时)或 ANALISE.md 顶部。 标准始终: 运动设计工作室的作品集作品——追求最高的完成度,而非仅能工作的基本版本。这适用于任何风格(极简或繁复);区别在于完成度体现在何处。

  1. 核心卖点:用一句话概括视频 + 目标受众 + 投放渠道 + 观众在结束时应有的感受/行动。
  2. 限制:时长、格式、真实性(来源;什么是插图)、权利、API 预算。
  3. 无偏见构思:3 个截然不同的概念,仅基于内容(不要打开库或之前的视频),每个概念完整:表现形式、视觉世界、材料、调色板、排版、运动、声音调色板和配乐。在 conceitos.json 中声明并运行 python3 scripts/diversidade.py --conceitos——模型会表现出即使不看历史记录也重复出现的世界反射;脚本(仅它读取记录)会指出。少于 2 个自由概念 → 重新构思。每个概念快速生成一帧放入 out/conceitos/,通过查看选择;当有简介需要批准时,3 帧一起附上。记录 3 个概念及其原因;所选概念的材料放入 roteiro.conceito.materiais。
  4. 视觉圣经,包含每项选择的原因和一个质量标准短语 → src/tema.ts。 重复出现的角色 → 角色圣经(比例、调色板、表情、永远不变的元素)。
  5. 分镜:逐个区块,每个区块的功能、出现内容、转场、声音。
  6. 工具:语音;配乐;资产——来自网络的需有许可证(assets.md,CREDITOS.md),生成(scripts/img.py,Veo:参考 gemini.md)或代码绘制。
  7. 资产传递(在圣经之后,动画之前):为本视频制作一套资产,每个脚本想法对应一个资产(角色、物体、场景、纹理),所有资产采用相同的处理方式。生成的:tratamento_imagem + roteiro.json 中的 images,第一个获批的图像成为其他图像的风格 ref,recorte 用于独立元素(python3 scripts/img.py)。没有配额或离线时:用代码同样仔细地绘制。生成的图像绝不能在未标明“插图”的情况下描绘真实人物或事实。这是区分工作室作品与普通作品最关键的一点。

关卡(不可跳过)

brief → 脚本 → 语音 → 测量 → 音效 + 节拍 → 资产 → 故事板 → 动画样片 → 完整传递 → 评审 → 渲染 → 交付 → 进化
  1. 项目:bash ~/.claude/skills/video-animado/novo.sh ~/videos/<slug>。项目的 ANALISE.md 已包含关卡清单:每通过一个就标记;仅在请求允许的情况下跳过,并注明原因。
  2. 脚本 在 roteiro.json 中(唯一来源)+ 附带来源的 ROTEIRO.md。在语音前始终进行事实核查。
  3. 语音:python3 scripts/tts.py(仅重新录制更改的区块)。检查:~/.venvs/tts-local/bin/python scripts/check_voz.py。
  4. 测量:python3 scripts/tighten.py;自然语音或注意 → ~/.venvs/tts-local/bin/python scripts/align.py(cueW)。
  5. 音效 + 节拍:配乐(lyria → scripts/music.py;arquivo;partitura 用代码编写,带有每个区块的 intensidade 和场景的 eventos)和 python3 scripts/sound.py(时间线、效果、峰值、乐谱的 beats.json)。配乐就绪 → ~/.venvs/tts-local/bin/python scripts/beatmap.py。效果按类别分组(biblioteca/sfx/INDEX.md),根据材料选择,通过 sfxVar 使用(峰值自动与动作对齐)。
  6. 故事板:每个脚本时刻一个静帧,对照圣经和“哪些可以去掉?”进行评审。
  7. 动画样片:快速渲染(npx remotion render Video-9x16 out/animatic.mp4 --scale=0.4)以在完成前调整节奏和节拍。
  8. 完整传递 在 src/Video.tsx 中(模板示例仅为同步;替换掉;构建概念所需的组件)。长视频:将场景组分配给子智能体,并附上 tema.ts 和核心规则。
  9. 评审:python3 scripts/qa_folhas.py out/<mp4> + 干净的子智能体评分(参考 critica.md),直到所有项目 ≥ 8(最多 3 轮;评审者对照视频圣经进行评判,而非个人喜好)。 python3 scripts/diversidade.py 通过(如果指定了连续性:roteiro.linha_de_estilo)。
  10. 渲染:bash scripts/render.sh(两遍处理 -14 LUFS,脚本中的格式);在 qa_folhas.py 的 relatorio.txt 中检查(-14 ± 1)。
  11. 交付:MP4 文件 + 封面帧(npx remotion still … out/capa.png)+ 审阅表 + ANALISE.md(简介、决策、来源、评审分数、需要人工聆听的部分)+ 在 Finder 中显示的文件(open -R)。 最终消息请求评分(1–5) 以及会改变什么。
  12. 进化技能:请求者的评分 → diversidade.py --registrar → 将技术教训记录到 APRENDIZADOS.md(简短;添加时合并或删除),美学选择记录到 VIDEOS.md,可重用且与主题无关的组件放入 biblioteca/(+ INDEX.md),模板错误修复并在两种格式中测试,新能力记录到 gemini.md。 在 2 个视频中重复出现的专业教训 → direcao.md(无外观示例)。

代码契约

  • 时间绝不作为单独数字出现:使用 cue、cueW、blockStart、naBatida(frame)、batida(i)、virada()。
  • 格式:使用 useFmt() + pick(paisagem, retrato);每个场景在两种格式下运行(重新构图,而非裁剪)。
  • 运动:使用 mola(frame, at, 'ui'|'padrao'|'pesada'|'viva');规则见 direcao.md。
  • 模板的核心中性部分:tema.ts(视频的颜色和字体)、lib.ts(时间、格式、节拍、弹簧)、stage.tsx(SceneStack 包含 corte/wipe/zoom 或自定义转场 TransFn、Sheet、Soundtrack、sfxVar)、acabamento.tsx。现成组件位于 biblioteca/componentes/,可选,仅在概念之后开放。
  • 所有动画都从帧开始(useCurrentFrame + interpolate/mola);interpolate 始终使用 extrapolateLeft/Right: 'clamp';从不使用 CSS 的 transition/animation(它们不会出现在渲染中)。
  • 模板中的 @remotion/* 包为 4.0.528(transitions、paths、shapes、noise、motion-blur、lottie、three、media-utils、layout-utils);新包使用相同版本。

硬性规则

  • 密钥在 ~/.config/secrets.env 中(先 source;绝不打印)。无配额/预算上限:使用本地语音和 partitura。
  • 语音克隆必须有书面授权;克隆真实人物的语音仅限内部使用,除非明确授权公开使用。
  • 第三方资源必须有明确的许可证,记录在 CREDITOS.md 中;绝不使用没有法律依据的真实人物照片、商业音乐或模仿官方作品的第三方标志。
  • 真实性:数据必须注明来源或标注为“插图/示例”;屏幕上或帖子标题中不得出现编造内容。
  • MP4 和音频文件不得上传到公共仓库。未经询问不得提交。
  • 并行会话 修改技能时(git status 显示非您所做的更改):仅做临时交换,或使用自己的工作树(claude --worktree)并合并——绝不重写其他会话的文件。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能