Communitygithub.com

bp-abe/skills-video

從主題、腳本、隨筆或指示,產出從頭到尾的動畫影片(Remotion, MP4 16:9 和/或 9:16)——根據內容發想概念(或遵循指定的風格路線),搭配在地語音(VoxCPM2 克隆語音)或 Gemini TTS、Lyria 或程式碼創作的配樂、CC0 效果,並進行多元性檢查與獨立評論家評分審查。支援離線模式(「不使用 API」)。也能編輯錄製好的影片(靜音與 NG 片段裁剪、縮放、逐字字幕、Premiere XML)。當使用者要求影片、動畫、解說、動態、Reels/Shorts、產品/行銷/傳記影片,或編輯/剪輯錄影時使用。

skills-video 是什麼?

這項技能提供了一個從頭到尾製作動畫影片的完整工作流程,以 Remotion 為核心技術。它將創意發想、腳本撰寫、語音生成(支援 VoxCPM2 本地克隆和 Gemini TTS)、配樂創作(透過 Lyria 或程式碼)、素材生成、動畫製作、評論反饋到最終渲染的整個流程整合在一起。此技能專為追求高品質、工作室級別的動態設計而設計,強調每個專案都應有獨特的概念和視覺風格,而非套用模板。它支援橫向 (16:9) 和直向 (9:16) 格式,並包含一個完整的離線模式,可在沒有 API 的情況下運行。此外,它還能處理已錄製影片的編輯任務,如裁剪靜音片段、添加縮放和逐字字幕。

相容平台✓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 的行動呼籲。 影片長度由內容決定;根據所選語音的實測速率估算(在測量之前絕不承諾)。 長片:分為多個幕,各有其功能,並將完整的工作流程分配給子代理。

導演創意簡報 (在任何程式碼之前)

按順序——先寫劇情概要與限制,再談美學,最後才是工具(從技術開始會讓技術吞噬想法)。內容放在 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. 素材審查(在視覺聖經之後、動畫之前):為此影片製作一套素材,每個腳本想法一個素材(角色、物件、場景、紋理),都經過相同的處理。生成時:在 roteiro.json 中設定 tratamento_imagem 和 imagens,第一個被批准的圖像成為其他圖像的風格 ref,recorte 用於獨立元素(使用 python3 scripts/img.py)。若無配額或離線模式:用程式碼繪製,並保持同樣的細心。生成的圖像絕不描繪真實人物或未標示「插圖」標籤的事實。這是區分工作室級作品與一般合格作品的最關鍵因素。

關卡 (不可跳過)

brief → roteiro → voz → medir → som + batidas → assets → storyboard → animatic → passe completo → crítica → render → entrega → evoluir
  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(包含 corte/wipe/zoom 或自訂轉場 TransFn 的 SceneStack、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 顯示非你所作的變更):僅進行局部交換,或使用自己的 worktree (claude --worktree) 並合併 — 絕不重寫其他工作階段的檔案。

Individual skills in this repo

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

相關技能