Communitygithub.com

hyperspell/release-notes-video-skill

製作發行說明或每週更新音樂影片,使用 Suno、Gemini 音訊評論、Dreamina/Seedance 動畫、Blender 和計時影片合成。可用於規劃集數、撰寫歌詞、比較不同版本、同步字幕、建構產品示範、編輯影片或準備無聲片段與發佈套件。

release-notes-video-skill 是什麼?

這個名為「Release Notes 音樂影片」的技能,為開發者與 AI 代理提供了一個端到端的工作流程,用以製作高品質、具娛樂性的產品更新影片。它整合了多種專業工具,包括 Suno(音樂生成)、Gemini(音訊比較與評論)、Dreamina/Seedance(動畫)、Blender(3D 與攝影機控制)、Playwright 與 HTML Canvas(產品畫面捕捉與合成),以及 FFmpeg(編碼與輸出)。核心特色在於從故事腳本、音樂風格、歌詞鎖定、音軌比對、節奏與字幕同步,到最終的影片合成與品質檢查,皆有詳細的階段性指導。此技能要求代理必須先確認目標觀眾、截止日期、格式(預設為社群媒體適用的 1080×1350 4:5 比例)與時長(建議 60-90 秒),並嚴格遵循不洩漏憑證、未經授權不發布、以及保留原始素材以便重建等不變原則。它透過一系列本地執行的輔助腳本(如 `new_episode.py`、`align_lyrics.py`、`render.mjs`)來管理工作目錄,確保流程可重複且資產可追溯。

相容平台~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/hyperspell/release-notes-video-skill/tree/HEAD/skills/release-notes-video

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

發行說明音樂影片

製作一部人們願意看、同時又能讓更新內容一目了然的影片。類型定義了音樂、視覺世界、字體排版和剪輯風格。實際的產品示範承擔了解說的功能;而歌曲和視覺笑料則讓它令人難忘。

使用 Suno 製作音樂,Gemini 比較錄音,OpenAI 影像生成製作靜態圖片,Dreamina/Seedance 進行動畫製作,Blender 處理 3D 與攝影機控制,Playwright 搭配 HTML Canvas 進行產品捕捉與合成,Demucs/Whisper/librosa 進行同步,以及 FFmpeg 進行混音與輸出。必要時加入 ElevenLabs 的效果。在製作前請閱讀工具與設定;它說明了各工具間的交接以及 Dreamina CLI 的工作流程。如果某個工具無法使用,請說明缺失的能力並協商替代方案,而不是默默地忽略它。

建立製作綱要

確定觀眾、截止日期、目標時長、預期的顯示格式、來源筆記、可用的工具與核准者。僅詢問那些會實質改變工作的遺漏資訊。直接採用對話中已有的選擇與授權。

  • 公開發行說明: 功能宣稱必須是已發佈、可用且已針對目標觀眾驗證過的。僅有實作或合併的變更並不足以證明其可用性。
  • 內部全員大會: 如果使用者已為該觀眾批准,且其狀態已明確說明,則可以包含計劃中的工作、實驗與指標。不要悄悄地將計劃當作已發佈功能。
  • 格式: 預設為原始 1080×1350,4:5 的比例,適用於社群媒體。對於全員大會,確認顯示格式;16:9 可能更合適。基於此原因,內部集數的腳本需要 --aspect 參數。除非要求多種格式,否則僅交付一種格式。
  • 時長: 協商一個目標時長。對於公開集數,60-90 秒是實用的初始建議;內部更新可能需要不同的長度。從一開始就為選定的時長撰寫內容。

請在使用者自己的專案目錄中工作,絕對不要在這個技能的目錄內。在指令中,<skill> 代表此技能目錄的絕對路徑。使用 python3 <skill>/scripts/new_episode.py <project>/episodes/<date>-<slug> --audience public --duration 60 建立一個集數資料夾,或使用現有的專案佈局。

維持這些不變原則

  • 使用真實的產品行為搭配虛構或已明確批准的資料。生產環境的螢幕截圖並不自動適用於外部服務或公開影片。
  • 將憑證、Session 值、未公開的商業細節與個人參考媒體排除在分發的技能之外。使用使用者選擇的帳戶與已授權的工具。
  • 將付費生成與發佈視為不同的動作。取得任何缺失的預算或發佈授權,並重複使用已授予相同範圍的授權。核准一首歌或一部影片並不等於獲得發佈它的許可。
  • 保留已鎖定的歌詞與選定的歌曲。僅在使用者授權時才更改它們。藝術家參考是用來描述創作特質;請撰寫原創的歌詞與旋律。
  • 在判斷演出表現之前,請先比較實際的音訊。測量、轉錄與聆聽判斷是不同的證據。
  • 每個被唱出的字都必須同步。每個展示的功能都有一句可讀的能力說明句來說明;它不重複歌詞。
  • 在開場的幾秒鐘內放入鉤子(Hook)。使用一個可識別的問題或引人注目的影像,並提供足夠的上下文讓觀眾知道影片在宣佈什麼。
  • 角色與效果必須有出現的意義。產品鏡頭應顯示一個動作、有用的結果,以及在相關時顯示證據。
  • 將分發技能與集數資料分開保存。不要整體封存或發佈工作目錄。

執行製作

使用以下流程,並根據已可用的工具與授權進行調整:

  1. 選擇故事。 驗證每個候選項目的來源視窗與狀態。偏好一個有意義的主要標題搭配支援性的能力,或一小組實質的更新。在鎖定之前,提出提議的故事以供核准。閱讀簡報與文案。
  2. 選擇音樂世界。 提出三種截然不同的方向,每個方向都包含一個可識別的參考、精確的聲音、開場影像、敘事者與格式笑點。讓使用者選擇。閱讀類型與故事。
  3. 鎖定歌詞。 草擬一首簡短完整的歌曲,包含具體細節、令人難忘的鉤子、以及服務於更新的笑點。指出每個主張的來源。在 Suno 中生成一批歌曲之前,先解決編輯問題。歌詞與錄音選擇:歌曲。
  4. 生成並比較錄音。 在授權的預算內,使用 Suno 製作意義上不同的編曲與演唱方式。當可存取且獲得許可時,讓最新的具備音訊能力的 Gemini 模型一起比較完整的錄音;如果沒有 Gemini,則使用其他可以在一次請求中聆聽數個完整錄音的模型。先確認可用性,而不是編造一個模型名稱。使用者的選擇優先於推薦。
  5. 建立時間資料。 保留選擇的原始檔案,記錄任何裁剪/淡入淡出,對齊歌詞,並建立節拍網格。閱讀同步並使用隨附的製作輔助工具進行節拍/起音分析與對齊。在接受時間軸之前,檢查每一個未解析的字詞。
  6. 規劃並建構畫面。 在填充動畫之前,先為整個時間軸製作分鏡腳本。使用 Playwright 捕捉產品示範,生成第一幀靜態圖片,並使用 Dreamina/Seedance 對選定的鏡頭進行動畫處理。對於需要受控 3D 幾何或攝影機運動的鏡頭,使用 Blender,無論是最終渲染還是動作參考。先建構產品說明,再加入類型世界、已批准的角色和有意的視覺荒誕元素。閱讀畫面。
  7. 混音、渲染與檢查。 使用輕柔且有目的性的音效。檢查每一個剪輯點、字幕、暫停點和片段邊界,然後導出全品質的審查版本。閱讀聲音與交付和品質檢查。
  8. 修改與交付。 處理回饋意見,但避免不必要地更改已鎖定的歌曲。獲得核准後,將已核准的位元組提升到穩定的最終檔案名稱。如果需要,製作獨立的無聲產品示範與發佈套件。記錄來源庫存並在清理前驗證封存。更新私有的類型/裝置歷史記錄,並在相關的參考資料中保存可重複使用的經驗教訓,但不要匯入私有的回饋記錄。

不要在未解決的故事、類型、歌詞或歌曲決定上進行,這些需要使用者的選擇。一旦做出決定,就在已核准的範圍內繼續進行,無需再次詢問。內部發佈與公開發佈仍是兩個不同的選擇。

可選公用程式

所有隨附的腳本都在本地執行,不需要任何服務憑證:

腳本用途
scripts/new_episode.py建立集數資料夾、綱要與套件清單
scripts/inspect_media.py報告串流/尺寸/時長,並驗證無聲片段或預期的輸出
scripts/contact_sheet.py使用 FFmpeg 和 Pillow 製作帶有時間戳的聯絡表
scripts/build_posting_kit.py建立離線 HTML 套件和 ZIP,內含原始的無聲示範片段
scripts/analyze_audio.py擬合 kick 對齊的節拍網格或測量人聲的起音/包絡
scripts/align_lyrics.py對齊歌唱表,保留時間證據,並標記未解析的字詞
scripts/render.mjs在精確的歌曲時間捕捉集數的合成;渲染靜態圖片、無聲畫面和示範
scripts/master_audio.py複製畫面並使用測量到的單純增益來混入一個時長匹配的音軌
scripts/flicker.py標記稀疏聯絡表遺漏的空間閃爍、脈衝和波動
scripts/asset_manifest.py為還原的集數封存建立並驗證 checksum 庫存

代理使用 HTML Canvas 和 Playwright 創作集數的合成;隨附的渲染器會捕捉它,而 FFmpeg 則進行編碼與混合輸出。指令與輸入/輸出合約在製作輔助工具中。當使用者選擇其他編輯器時,請使用它。保留時間模型與原始素材資產,以便另一個代理可以重建該集數。

相關技能