Communitygithub.com

realjaymes/marketingagentskills

在 React 中創作 Remotion 影片 — 動態概念目錄、冷門受眾最佳化及技術最佳實務

marketingagentskills 是什麼?

這項技能定義了一個為行銷和內容團隊設計的結構化 8 步驟 Remotion 影片創作流程。它首先引導你識別品牌並鎖定創意簡報,然後從一個包含 18 個核心概念、8 個視覺風格修飾符和 5 個冷門受眾鉤子模式的目錄中選出 3-5 個概念,並運用冷門受眾最佳化規則來確保影片對毫無背景知識的觀眾也能立即產生影響。在編寫任何程式碼之前,需要通過場景分解和視覺設計兩個核准關卡,接著根據場景複雜度決定是採用單一檔案還是多檔案的架構。最後一哩的實作會遵守嚴格的硬性規則,例如所有動畫都必須透過 `useCurrentFrame()` 驅動,並強制使用 Remotion 的原生元件,確保動畫輸出正確。這項技能整合了動畫、媒體、文字、佈局和進階圖表等領域的完整技術參考資料,讓 AI 代理(如 Claude Code、Cursor、Codex)能夠與 Remotion API 和組件無縫協作,生成專業、高品質的動態素材。

相容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/realjaymes/marketingagentskills/tree/HEAD/skills/remotion

在你喜歡的 AI 中提問

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

說明文件

使用時機

在以下情況使用此技能:

  • 從頭開始創作新的 Remotion 影片
  • 為某個內容資產產生影片簡報變體
  • 修改現有的 Remotion 合成
  • 除錯 Remotion 動畫或渲染問題
  • 處理任何 Remotion 特有的 API 或組件

影片創作流程

創作新的 Remotion 影片時,請遵循以下 8 個步驟。第 2 步會根據簡報和冷門受眾最佳化從目錄中選出 3-5 個概念。第 4 步和第 5 步是核准關卡。在兩個關卡都通過之前,請勿撰寫任何程式碼。

如需完整的流程文件(包含範本和決策矩陣),請參閱 references/video-creation-process.md。

步驟 0:品牌識別

在進行任何創意工作之前,先識別品牌。詢問使用者:「這支影片是為哪個品牌製作的?」

如果該品牌在下方有預設設定,直接使用即可。無需進一步詢問品牌問題。

如果該品牌未在列表中,請要求使用者提供品牌網站網址或品牌指南。提取以下資訊:背景色、主要強調色、次要強調色、文字顏色、字體系列以及主題(淺色/深色)。如果沒有品牌指南,至少要求提供:主要顏色、背景色和字體偏好。

步驟 1:創意簡報

在任何創意工作開始前收集並鎖定以下資訊:

目的:[這支影片存在的理由]
觀眾:[誰在看]
核心訊息:[一句話]
內容類型:[blog-post, case-study, webinar, podcast, lead-magnet, product-update, tool-launch, industry-report, event-recap, client-testimonial, playbook, template, ai-demo, custom-gpt]
渠道:[將在哪些管道發佈]
行動呼籲:[觀眾下一步該做什麼]
來源素材:[要參考的檔案、組件或網址]
語氣:[描述感覺的詞語]
品牌:[從步驟 0 取得的品牌名稱]

步驟 2:概念選擇(建議 3-5 個概念)

鎖定創意簡報後,分析簡報並為此特定使用案例選出最佳的影片概念。請勿提供一組固定的變體。請參考 references/concept-catalog.md 中的概念目錄。

目錄中包含 18 個核心概念、8 個視覺風格修飾符和 5 個冷門受眾鉤子模式。 在提出建議之前,請務必閱讀該目錄。

選擇流程

  1. 根據簡報對概念評分。 針對目錄中的每個概念,評估:

    • 該概念的「最佳適用」是否與內容類型相符?
    • 核心訊息能否在 15-30 秒內以此結構傳達?
    • 該概念是否符合目標時長和尺寸?
    • 簡報是否提供了該概念所需的數據/視覺元素?
  2. 套用冷門受眾過濾器。 針對每個已評分的概念,評估:

    • 一個完全沒有背景知識的觀眾能否在開頭 3 秒內理解其價值?
    • 該概念是否在開場節拍中創造出引人注目的視覺動態?
    • 該概念是否避免了需要預先了解品牌、產品或問題領域?
    • 如果概念本身會自然地在前段展示成果或數據點(例如指標計數器、動態資訊圖表、前後對比),則對於冷門受眾來說,它天生就比需要鋪陳時間的敘事型概念更強勢。
  3. 選擇鉤子模式。 針對每個推薦的概念,從目錄中配對一個鉤子模式:

    • 包含數據的內容 → 成果優先
    • 產品上市與工具 → 模式中斷
    • 思想領導力與教育 → 好奇心缺口
    • 建立信任的內容 → 社會證明鉤子
    • 競爭與定價內容 → 損失規避
  4. 以單頁簡報形式呈現 3-5 個推薦概念。 每個概念需包含:

    • 概念名稱(來自目錄)及一句話描述
    • 為何適合這份簡報(1-2 句,須參考具體內容和受眾)
    • 推薦的鉤子模式與開場節拍描述
    • 逐場景表格(根據目錄範本,並針對此內容客製化)
    • 選擇性的視覺風格修飾符(若能強化該概念)
  5. 為推薦進行排名。 標記出最佳推薦,並說明原因。

  6. 使用者選擇一個(或兩個概念的混合體)。 在進入步驟 3 之前,鎖定所選的概念。

冷門受眾最佳化規則

這些規則適用於所有概念推薦,並在衝突時覆蓋內容類型的預設值:

  • 預設假設:冷門受眾。 除非簡報明確說明觀眾是已知的(例如再行銷、既有使用者、電子報訂閱者),否則假設品牌認知度為零。
  • 冷門受眾的開場場景要求:
    1. 視覺模式中斷(動態、色彩對比或比例變化)
    2. 文字內容需命名一個觀眾無需知道品牌就能識別的問題或成果
    3. 場景 1 中不要出現品牌識別(將品牌卡牌留到場景 2 或之後)
  • 冷門受眾的鉤子模式限制: 使用模式中斷、成果優先或損失規避。除非該統計數據/主張無需品牌背景就能普遍理解,否則避免使用好奇心缺口。
  • 概念靈活性: 如果目錄中沒有任何概念能很好地符合針對冷門受眾的簡報,則建立混合體或改編現有概念。目錄是起點,而非限制。

步驟 3:格式與規格

根據簡報和所選變體,使用格式決策矩陣來解決:

渠道尺寸時長
LinkedIn/Instagram 動態1080x108015-30s
網站/簡報1920x108015-60s
Reels/TikTok/Stories1080x192015-60s
電子郵件 (GIF)600x600 或 800x4505-10s

預設 FPS:30。只有在需要流暢動態時才使用 60。

尺寸:[寬]x[高]
時長:[X] 秒 ([X * fps] 幀)
FPS: 30
合成 ID:[PascalCase]
循環:[是/否]
輸出格式:[mp4, gif, webm]
所選概念:[概念 ID(來自目錄),或混合體]

步驟 4:場景分解(核准關卡)

在撰寫任何程式碼之前,先定義每個場景。使用所選變體的場景範本作為起始結構,然後針對具體內容進行客製化。

呈現場景表格以供核准。

場景表格格式:

#名稱時間文字稿動畫目的
1鉤子0-3s確切文字動態描述存在的理由

時間指南:

時長場景數量平均每個場景
10s3-42.5-3.3s
15s4-62.5-3.75s
30s8-122.5-3.75s
60s12-203-5s

在繼續之前,鎖定文字稿、時間安排和敘事結構。

步驟 5:視覺設計(核准關卡)

在實作之前鎖定以下項目:

調色盤(最少需要的角色):

  • 背景色、主要強調色、次要強調色
  • 主要文字、次要文字、第三層文字
  • 邊框/分隔線

品牌主題預設(用於已知品牌,跳過顏色問題):

品牌背景色主要強調色次要強調色主要文字次要文字字體主題
FunnelEnvy#FFFFFF / #1a1a2e(終端)#3B82F6(藍色)#8B5CF6(紫色)#000000#6B7280Inter, system淺色
Reform#FFFFFF / #1a1a2e(終端)#48EC80(綠色)#EDE630(黃色)#000000#6B7280Inter, system淺色
GrowthNode#0f0a1a(所有場景)#8B5CF6(紫色)#3B82F6(藍色)#FFFFFF#a1a1aaInter, system深色
MIA#F7F4FA / #1c1422(深色)#F1DE71(黃色)#7184F1(紫色)#1c1422 / #f7f4fa(深色)rgba(28,20,34,0.62)system-ui, -apple-system, Segoe UI淺色

MIA 強調色調色盤:藍色 #71C4F1、紫色 #7184F1、粉紅色 #F171C4、綠色 #71F19E

自訂品牌:如果品牌未在上面列出,請根據步驟 0 提供的品牌網站或指南來定義顏色。填寫相同的角色:背景色、主要強調色、次要強調色、主要文字、次要文字、字體、主題。

字體排印學:字體系列、字重層級、目標解析度下的尺寸。

動畫風格:彈簧(彈跳/平滑/乾脆)、線性或基於淡入淡出。選擇一種主導風格。

事實來源:如果要符合現有設計,請參考來源檔案。

步驟 6:架構決策

AI 代理根據場景複雜度來決定:

條件方法
少於 15 個場景單一檔案
15 個以上場景或可重複使用的部分多檔案,使用 scenes/ 目錄
跨場景共享的元件使用透明度信封的持久圖層

始終使用集中的時間常數(const T = { ... })。

步驟 7:實作

根據鎖定的決策來撰寫程式碼。所有動畫都必須遵守 Remotion 規則(請參閱下方的技術參考)。

步驟 8:輸出文件

生成一份參考文件,內容涵蓋:規格、所選變體、預覽/渲染指令、場景分解、調色盤、時間設定、架構說明、迭代指南。


技術參考

請閱讀個別規則檔案以了解 API 細節和程式碼範例。

核心動畫與時間設定

媒體

  • rules/assets.md - 使用 staticFile() 處理 public 資料夾中的素材
  • rules/videos.md - <Video> 搭配修剪、音量、速度、循環、音高
  • rules/audio.md - <Audio> 搭配修剪、音量、速度、音高
  • rules/images.md - <Img> 組件(確保在渲染前載入)
  • rules/gifs.md - 使用 <AnimatedImage> 處理 GIF/APNG/AVIF/WebP
  • rules/fonts.md - 透過 @remotion/google-fonts 使用 Google 字體,透過 @remotion/fonts 使用本地字體

文字與字幕

合成與中繼資料

進階

媒體工具 (Mediabunny)

佈局


參考資料


硬性規則

以下規則適用於所有 Remotion 程式碼。違反將導致輸出結果不正確。

  1. 所有動畫都由 useCurrentFrame() 驅動。禁止使用 CSS 轉場、Tailwind 的 animate-* 或 transition-* 類別,以及 React Three Fiber 的 useFrame()
  2. 使用 Remotion 組件(<Img>、<Video>、<Audio>),而非原生 HTML 元素
  3. 使用 staticFile() 處理 public/ 資料夾中的所有素材
  4. 時間以秒為單位:乘以來自 useVideoConfig() 的 fps 以獲得幀數
  5. 禁止使用第三方動畫庫來驅動動態(停用它們的動畫,改用 useCurrentFrame())
  6. 每個概念都必須不言自明。一個在無任何背景知識下瀏覽的觀眾,應能僅從影片本身理解其價值。沒有任何場景應依賴外部知識。文字稿必須獨立完整地承載訊息。除非簡報另有說明,否則始終假設受眾是冷門的。

Individual skills in this repo

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

相關技能