Communitygithub.com

smasikurr/RemotionMaster

將產品(網址、可錄製的應用程式、截圖或簡報)轉換為 SaaS 團隊在 X 平台上發布的那種 20-60 秒產品發布影片:動感標題搭配浮動視窗中的真實產品 UI,配合音樂節拍剪輯,最後顯示名稱與行動呼籲。僅使用真實 UI,絕不虛構。可與任何影片工具搭配使用(Hyperframes、Remotion、Motion Canvas、編輯器);從頭開始時建議使用 Hyperframes。提供免費本地腳本,可創作與剪輯節奏相符的背景音樂。每個版本都會在 FrameJam 中審閱。適用於產品發布、功能公告、「介紹 X」影片、網站或應用程式宣傳,或登陸頁面的主視覺影片。不適用於創始人面對鏡頭說話(創始人發布)或短篇懸疑預告(發布預告)。

RemotionMaster 是什麼?

此 AI 技能旨在自動化製作專業品質的產品發布影片,專為在 X 等社群平台發布而設計。它將使用者提供的素材(網址、應用程式錄製、截圖或簡報)轉化為 20-60 秒的影片,其風格類似於 SaaS 團隊用於新功能或產品發布的影片。核心原則是使用真實的產品 UI,並將其置於浮動視窗中,輔以動態圖文、符合節拍的音樂與音效,最後以行動呼籲(CTA)做結。該方法論固定,但工具不限;它支援 Hyperframes、Remotion、Motion Canvas 或任何編輯器。若是全新專案,它會引導使用者建立 Hyperframes 專案。技能包含一個免費的本地 Python 腳本,可根據提示清單生成背景音樂和音效。整個工作流程包含蒐集素材、撰寫故事板、設計鏡頭、組合、渲染,並透過 FrameJam 進行協作審閱與疊代,直到最終版本獲得批准。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/smasikurr/RemotionMaster/tree/HEAD/.agents/skills/framejam

在你喜歡的 AI 中提問

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

說明文件

產品發布

如何使用此劇本。 它是一份食譜,而非一組規則:以下的每種格式、長度、節奏和公式都是預設值,以使用者的要求為準。不要以提問開場:使用預設值進行建構,並在分享第一個渲染結果時,用一行文字說明你選擇的預設值(只有在缺少必要元素(例如素材本身)時才提問)。第一個渲染結果即為提案,因此無需事先批准計劃。僅在使用者要求先檢視鏡頭時才提供故事板。方法中提到的規劃文件(BRIEF.md、PLAN.md 等)是你自己的工作筆記:當它們對你有幫助時才撰寫,絕不將其作為使用者必須執行的步驟。

放入產品,產出經過打磨的發布影片。就是你在 X 上看到 SaaS 團隊發布的那種:一個點出痛點的鉤子、在重拍落下時出現的產品名稱、三個在真實介面中展示的功能、證明,以及一個乾淨的結尾卡片。以音樂驅動,通常沒有旁白,長度 20-60 秒。

參考作品:Moritz 的 Notion 發布示範影片(46 秒,16:9,無旁白,120 BPM)。九個畫面:黑暗背景中散落的工具作為鉤子、重拍落下時的標誌與旋轉標題、浮動視窗中的真實主視覺影片、三個使用真實 Notion UI 建構的功能畫面(擷取、詢問、代理)、使用案例輪播、帶有數據的標誌牆,以及行動呼籲組合。其計劃位於 references/example-notion.md。請達到該標準。

方法是固定的,工具則不是。如果專案已有影片工具,請使用它。如果沒有,請啟動一個 Hyperframes 專案(npx hyperframes init),並將 template/hyperframes/ 複製為起始合成。

<playbook> 指的就是這個資料夾(get_playbook 返回的本地路徑)。

輸入與輸出

  • 輸入: 正在發布的內容(網址、應用程式本身、截圖、錄製、簡報或貼上的腳本)、目標對象、發布位置。可選:品牌檔案、旁白腳本、音樂曲目。
  • 輸出: 一個 20–60 秒的 mp4 檔案(預設 16:9,可應要求提供 9:16 或 1:1),包含真實產品 UI、動態圖文、位於同一個節拍網格上的音樂和音效,並在 FrameJam 中審閱和批准。

預設值(使用者的要求會覆蓋其中任何一項)

根據要求與檔案來制定。若未提及任何內容,則使用預設值並繼續進行;僅在缺少必要元素時才提問。

  • 一句話承諾。 觀眾應記住的內容。其他一切都是為了佐證它。
  • 長度與格式: X 動態消息 30–45 秒 16:9(預設);登陸頁面主視覺 30–45 秒 16:9,預設靜音優先;Reels 9:16 ≤ 30 秒。
  • 聲音: 僅音樂(預設,自動播放時靜音,因此由文字承載故事)或旁白加音樂。
  • 真實 UI 來源: 正在執行的應用程式(錄製它)、網站(擷取螢幕截圖及其主視覺影片),或使用者提供的檔案。如果沒有真實內容可展示,請說明;不要憑空發明一個介面。
  • 風格: 使用為此影片選擇的風格(如果有的話)(來自 wait_for_pick 或 get_preset)。如果使用者選擇了 FrameJam 風格,它將設定整體外觀(色板、字體、動態感覺、轉場)。無風格:從產品自身的品牌(顏色、字體、UI 表面)推導出外觀。
  • 事實: 統計數據、客戶標誌和聲明僅來自產品自己的網站或使用者。沒有虛構的數字。
  • 音樂: 預設使用包含的免費腳本(scripts/launch_bed.py)、使用者擁有的曲目,或已授權的素材庫曲目。產生的音樂服務是付費的;在使用前請暫停並詢問。

使用其他工具建立的現有專案: 繼續使用該工具。該方法(節拍網格、故事板、視窗中的真實 UI、節奏式揭露、驗證、FrameJam 循環)和腳本(launch_bed.py、sheet.sh)適用於任何工具。

當未指定任何內容時:僅音樂、16:9、約 40 秒、使用品牌風格。在分享第一個渲染結果時,說明你使用的預設值。

工作流程

1. 蒐集真實產品

在撰寫任何一行程式碼之前,先蒐集素材。詳細資訊請參閱 references/assets.md。

  • 應用程式: 錄製每個功能的簡短、乾淨的片段(每個動作一個片段,寬度至少 2880 像素,無通知,使用 realistic 的示範資料)。保留事件時間(點擊發生的時間、結果出現的時間)。
  • 網站: 儲存主視覺影片、全頁和區塊的 2 倍螢幕截圖、標誌(SVG)、字型、確切的標題、統計數據和客戶標誌。Hyperframes 使用者可以執行 npx hyperframes capture <url> -o capture。
  • 撰寫 ASSETS.md:每個檔案一行,說明其內容、大小,以及影片的關鍵時刻(以秒為單位)。
  • 品牌真實性:顏色(主色、底色、一個強調色)、顯示字體和內文字體、UI 的外觀(圓角、陰影、邊框)。

2. 故事與節拍網格

閱讀 references/story.md。然後撰寫 STORYBOARD.md:

  • 選擇一個敘事弧線(問題→平台、示範循環、之前/之後、功能串聯)。用一句話寫下承諾。
  • 6–10 個畫面。每個畫面有一個任務:鉤子、產品介紹、功能、益處、證明、行動呼籲。功能應以真實介面上的簡短序列呈現(輸入→動作→結果),而不是靜態截圖。
  • AI 代理和助手: 展示一個完整的真實請求:輸入並發送、變成訊息、代理的步驟一個一個出現(較早的步驟變暗)、結果以帶有精確事實和勾選標記的卡片形式出現、畫面在鎖定前停留在結果上。請求和結果應具體(包含名稱、時間、數量),絕不使用預留位置文字。
  • 鉤子長度 3-4 秒,在靜音情況下也能運作:使用觀眾自己的語言表達他們的痛點或渴望,絕不使用「X 是一個…的平台」。
  • 先建立節拍網格。 選擇一個節奏(110–128 BPM;120 BPM 時一個拍子為 0.5 秒,一個小節為 2 秒)。每個畫面從強拍開始,持續整數個小節。標記重拍點:通常是產品名稱和證明部分。每個畫面中的每次揭露都落在一個拍子上。
  • 有旁白時:用簡短的提示(每個畫面 6-20 個字)撰寫 SCRIPT.md,讓旁白決定畫面長度;音樂仍遵循底層的網格。
  • 在頂部撰寫一次 ## 影片方向 區塊:色板角色、文字角色、視窗進入方式、動態規則、哪些畫面是黑暗的「衝擊」畫面、永遠不該出現什麼。

然後開始建構;第一個渲染結果即為提案。如果使用者想先看畫面,可以先繪製草稿,並在 FrameJam 中以故事板形式審閱:使用 open_review 搭配 panelsDir(每個畫面一個圖片,命名為 01-hook.png…),然後 wait_for_feedback。

3. 鏡頭設計

針對每個畫面,根據節拍網格撰寫一個帶有時間碼的鏡頭清單(references/shots.md): 場景 1(0.0–0.5 秒):… 包含螢幕上顯示的內容、位置以及移動方式。規則:

  • 在 t=0 時僅顯示第一個元素。其他每個元素都在其拍子(或口語單詞)上出現。切勿在前四分之一時間內傾倒整個畫面,然後讓其靜止不動。
  • 真實 UI 位於浮動的產品視窗內(品牌圓角、極細邊框、柔和的層疊陰影),進入時帶有 3D 沉降效果。切勿在單字中間裁剪 UI 文字。僅重建必須移動的元件(例如會打字的搜尋框)。
  • 每個畫面使用一個強調色,每個標題使用一個強調詞。
  • 每個畫面以一個可閱讀的靜止畫面結束。靜止勝過懶惰的呼吸或飄移的鏡頭。
  • 畫面間轉場:預設在拍子上使用硬切;章節變換時使用縮放穿越;一系列功能時使用推拉滑動。

4. 音樂與音效

閱讀 references/music.md。預設路線(免費):從故事板撰寫 cues.json(以小節為單位的段落、重拍點,以及每個重擊、彈出、點擊、打字聲和視窗進入的音效),然後執行 uv run <playbook>/scripts/launch_bed.py cues.json --out assets/music/bed.wav(或使用 python3 搭配 numpy、scipy 和 soundfile)。音效來自於同一個提示表,因此它們會精準地落在剪輯點上。如果使用者提供曲目:測量其節奏,將網格調整為該節奏,並從曲目最強烈的部分開始,而不是緩慢的開場。

5. 建構

在專案的工具中逐個畫面建構。Hyperframes 的注意事項(及其碰到的陷阱)位於 references/hyperframes.md;起始模板為 template/hyperframes/。

  • 每個畫面一個合成,或對於較短的片段使用一個檔案搭配每個畫面一個圖層。保持畫面內部的本地時間。
  • 使用明確的起始狀態(編輯安全)、長尾緩動(power3/expo.out)來製作動畫,不要使用彈跳、無限循環或隨機性。
  • 產品影片:為每個 <video> 指定一個 id;移動包裝用的 div 以實現相機移動,而不是直接移動影片元素。
  • 如果有可用的平行子代理,則分配給每個代理一個畫面:其故事板區塊、## 影片方向、使用的資產行,以及「僅編輯你的檔案」。否則請自行按順序建構。

6. 檢查、渲染、審閱

  • 在工具中進行 lint/檢查,然後將每個版本渲染到一個新檔案(renders/v1.mp4、v2.mp4…)。
  • 執行 bash <playbook>/scripts/sheet.sh renders/v1.mp4 來製作一個 2 fps 的聯絡表;閱讀它。查看每個畫面的中點以及每個剪輯點的兩側。檢查:沒有前置加載、沒有文字被裁剪或位於字幕帶下方、沒有接縫處的彈出現象、重拍與名稱一起落下、結束卡片持續 ≥ 1.5 秒。
  • 執行 ffmpeg -i renders/v1.mp4 -vf freezedetect=n=0.003:d=2 -f null - 來標記靜止片段;只有在你計劃暫停的地方,靜止才是可以接受的。
  • 在 FrameJam 中審閱: open_review 搭配 videoPath = 渲染結果(絕對路徑),在內建瀏覽器中打開 URL,wait_for_feedback。根據時間戳將每個註記對應到其畫面,進行修正,渲染 v2,再次驗證,然後使用 add_version 並附上一行說明,然後再次等待。重複直到獲得批准。
  • 交付最終的 mp4 檔案(X:H.264,≤ 2:20,≤ 512 MB),並附上其持續時間和畫面清單。

品質標準

  • 產品真實,誠實呈現: 每個 UI 鏡頭都是真實的錄製或截圖。文案、統計數據和標誌來自產品自身的來源。第三方標誌僅在產品本身展示它們時(例如整合、客戶)才能出現。
  • 承諾在第二個畫面內確立。 鉤子針對觀眾的痛點或渴望說話;名稱在重拍落下時出現。
  • 每次揭露都落在拍子上(或其口語單詞上),並且音樂、音效和剪輯共用一個網格。
  • 一瞥即可閱讀: 每個標題 1-7 個詞,1080p 時 ≥ 64 px,每個畫面一個焦點。
  • 高級動態: 平滑的沉降、具有深度感的視窗、速度匹配的接縫;沒有彈跳、沒有螢幕保護程式式的浮動、沒有代替產品的通用形狀。
  • 在靜音模式下也能運作: 故事僅透過文字和 UI 就能被理解。
  • 自行觀看(聯絡表 + 剪輯檢查)在每一輪 FrameJam 之前。

此劇本中的檔案

  • references/story.md:敘事弧線、畫面角色、鉤子類型、每個角色的實證行話模式、旁白規則。
  • references/shots.md:發布畫面的鏡頭形狀、佈局和動態規則、接縫、一個實際操作的鏡頭清單。
  • references/assets.md:錄製應用程式、擷取網站、資產清單、權利。
  • references/music.md:節拍網格、cues.json 格式、使用自己的曲目。
  • references/hyperframes.md:在 Hyperframes 中從頭開始、產品視窗、影片和音訊、陷阱。
  • references/example-notion.md:Notion 發布示範的計劃,逐個畫面。
  • scripts/launch_bed.py:根據提示表生成免費的本地背景音樂和音效。
  • scripts/sheet.sh:任何渲染結果的聯絡表。
  • template/hyperframes/:一個起始合成(節拍網格輔助工具、產品視窗、動態文字行、晶片、行動呼籲卡片)。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能