Communitygithub.com

motion-graphics

一個自主、以設計為主導的短動態圖形製作流程(約10秒內),支援從選取類別、素材到最終渲染的完整工作流程。

motion-graphics 是什麼?

此技能(motion-graphics)是一個專為開發者與AI代理設計的自主工作流程,用於製作簡短、以設計為主導、無旁白的動態圖形(約10秒內)。它支援多種平台,如 macOS Apple Silicon 或 Linux x64,並依賴 Node.js、FFmpeg 與 HyperFrames CLI。其工作流程分為七步驟:初始化(建立專案目錄與 hyperframes.json)、規劃(由子代理 Director 決定類別與素材需求)、素材來源(依需求搜尋或生成資產)、設計(基於可用資產設計鏡頭)、建置(重用目錄中的區塊進行組合)、驗證(執行 lint、檢查與截圖)以及批准與渲染(使用者選擇預覽或最終輸出)。該技能強調「素材優先」,確保設計圍繞實際可用的資產進行,並支援多種類別,如動態文字、統計數字、圖表、Logo 展示、地圖、網頁、新聞、推文與資產融合。其 AI 代理會自動化大部分流程,僅在必要時提出一個釐清問題,並透過電源柵(user gate)等待使用者批准渲染。

相容平台~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/heygen-com/hyperframes/tree/main/skills/motion-graphics

在你喜歡的 AI 中提問

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

說明文件

外掛安裝: 在執行安裝或更新命令之前,請遵循外掛執行規則(當此技能位於 HyperFrames 外掛內部時)。獨立安裝則保留下列更新指示。

首先,保持此技能為最新狀態——請在執行前與使用者確認: npx hyperframes skills update motion-graphics。如果所有內容都是最新的,則快速執行無操作(no-op);否則會重新整理此技能及其依賴的核心領域技能。

Figma 來源:如果要從 figma.com URL 建立 Logo/資產/動畫,請先執行 /figma——包括資產匯出、品牌令牌以及 Motion→GSAP 轉換(如果圖形是 Figma Motion 匯入),然後基於其輸出進行建置。請勿直接透過原始 MCP 工具操作 Figma:這樣會跳過 SVG 清理、.media/manifest.jsonl 來源記錄以及品牌令牌 var() 繫結,導致之後的品牌變更無法傳遞而需要重新匯入。

motion-graphics — 派發入口

前門是 /hyperframes。 此技能製作簡短、以設計為主導、無旁白的動態圖形(動態即訊息;約10秒內,無配音)。任何更長、有旁白或多場景的內容——或任何不確定的情況——請先閱讀 /hyperframes:意圖層負責所有路徑決策。

此工作流程本質上是自主的——最多一個釐清問題(agents/director.md),然後在無需中間審查的情況下直接建置並驗證。意圖層(/hyperframes → references/intent-interview.md)會直接將任務路由至此,無需詢問運行形狀的問題;對於如此簡短的片段,故事板和輔助會話幾乎不會增加價值。渲染仍由使用者控制:在檢查和證明快照通過後,詢問 ../hyperframes/references/brief-contract.md 中的標準問題「先預覽,還是渲染?」。當存在 BRIEF.md 時,請在導演提問之前先讀取它。

一個以設計為主導的簡短動態圖形。資產優先:在設計鏡頭之前決定資產策略並取得真實素材,然後圍繞你擁有的資產設計鏡頭,接著透過重複使用目錄功能進行組合。所有成品都放在 PROJECT_DIR = videos/<專案名稱>/(在第0步中建立);以下所有路徑都是相對於此目錄。

階段執行方式主要成品詳細流程
initBashhyperframes.json步驟0
plan子代理 — 決定是否搜尋? + 分類 + 資產策略shot-plan.json(草稿:類別、asset_needs 查詢、簡報)agents/director.md(第1部分)
source ◇Bash — 媒體使用解析(如果 asset_needs 為空則跳過)assets/ + assets/index.mdphases/source/guide.md
design子代理 — 圍繞已解析資產設計鏡頭shot-plan.json(最終版:區塊 + 佈局 + 動態 + 位置)agents/director.md(第2部分)
build子代理 — 重複使用優先的組合compositions/index.htmlagents/builder.md
verifyBash — lint、check、證明快照;失敗時修復snapshots/contact-sheet.jpg步驟5
approve詢問預覽或渲染;等待回答明確的渲染批准步驟6
renderBash — hyperframes render(MP4,或使用 --format webm/mov 用於疊加)renders/video.mp4 或透明疊加步驟6

◇ source 僅在所選類別宣告有資產時執行。純程式碼/文字類別(例如 kinetic-type、大多數 charts/stat)的 asset_needs: [],將直接從規劃跳到設計。

類別 — 按搜尋決策劃分

plan 的第一個決策是:是否需要搜尋? 這個分支將類別分為兩組;然後選擇具體類別——對於搜尋驅動的類別,根據搜尋返回的內容類型。每個類別是一個 categories/<id>/module.md(包含其規劃+建置規則);共享的動態詞彙位於 references/motion-vocabulary.md(→ hyperframes-animation 規則/藍圖 + 註冊表區塊)。

表單類別 — 無需搜尋;由使用者提供內容:

類別意圖依賴於
kinetic-type引人注目的台詞/引文/標題,動態優先的文字caption-* 區塊 + 動畫規則
stat單一英雄數字 / 計數動畫 + 環狀計數器apple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
charts來自資料的長條圖 / 折線圖 / 圓餅圖 / 賽跑圖 / 百分比data-chart 區塊
logo-revealLogo 標誌 / 品牌鎖定(使用者 Logo)logo-outro / rules/svg-path-draw
lower-thirds姓名 / 標題列、提示框、社群媒體疊加caption-* + 註冊表疊加區塊
maps地理動態 — 標記區域、連接地點、縮放至位置(向量圖層或烘焙底圖圖層)us-map / world-map 家族 + bake-basemap.mjs

搜尋驅動類別 — 先搜尋,再根據內容類型動畫化(RWA 路徑):

返回內容類別動畫
網頁 / 連結webpage網頁 / UI 動畫(滾動、揭示、游標、提示框)
新聞文章news標題揭示 + 來源卡片 + 關鍵事實提示框
推文tweet動畫推文卡片
圖片 / 實體asset-fusion資產的幾何形狀變成圖表(RWA 介面融合)

建置順序:一次一個,優先覆蓋範圍(粗糙即可)。kinetic-type 從原型移植;其餘遵循。

先決條件

macOS Apple Silicon 或 Linux x64。系統工具:brew install node ffmpeg。執行一次 npx hyperframes doctor。macOS GPU 渲染:export PRODUCER_BROWSER_GPU_MODE=hardware。

可選金鑰(如果未設定則使用本機回退)——僅被那些透過媒體使用解析來來源/生成資產的類別所需:

金鑰用途回退機制
GEMINI_API_KEY / GOOGLE_API_KEY圖片生成(媒體使用解析)跳過生成 / 僅搜尋
(asset_scout / 搜尋提供者)webpage/news/tweet + asset-fusion 真實資產搜尋類別降級為無資產版本

流程

步驟 0 — 初始化

當前工作目錄為代理工作區根目錄;所有成品寫入 PROJECT_DIR = videos/<專案名稱>/。<專案名稱>:使用使用者提供的目錄名稱,否則從意圖中取一個簡短的 kebab-case 名稱(<主題>-motion)。不是工作區的基礎名稱或時間戳。

僅當 $PROJECT_DIR/hyperframes.json 不存在時:

PROJECT_DIR="${MOTION_GRAPHICS_DIR:-videos/<專案名稱>}"
mkdir -p "$(dirname "$PROJECT_DIR")"
npx hyperframes init "$PROJECT_DIR" --non-interactive --example=blank --skill=motion-graphics

init 會檢查已安裝的技能是否與 GitHub 上的最新版本一致,並更新全域集合(如果任何技能過期)。

限制: 永遠不要在 workspace 根目錄執行 hyperframes init;永遠不要在 PROJECT_DIR 內部嵌套另一個 hyperframes/ 目錄;每個 Bash 命令(主代理 + 子代理)都必須在 (cd "$PROJECT_DIR" && ...) 子 shell 中執行——永遠不要直接使用 cd。

步驟 1 — 規劃(子代理:導演第1部分)

分派一個子代理。提示詞 = 完整的 agents/director.md + ## Dispatch context(SKILL_DIR / PROJECT_DIR / 使用者請求 / Schema: <SKILL_DIR>/references/shot-plan-ir.md)。它必須:

  1. 決定:是否需要搜尋?(第一個分支)
  • 否 → 選擇一個表單類別(kinetic-type / stat / charts / logo-reveal / lower-thirds);內容由使用者提供;asset_needs: []。
  • 是 → 將一個搜尋計畫輸出到 asset_needs[](新聞 / 網頁 / 推文 / 圖片;兩極查詢)。具體的搜尋驅動類別(webpage / news / tweet / asset-fusion)由步驟2中返回的內容類型確認,並在步驟3中最終確定。
  1. 寫入一個草稿 shot-plan.json(信封 + 所選表單類別 或 搜尋意圖 + asset_needs + 一段鏡頭簡報)。架構:references/shot-plan-ir.md。

驗證:[ -s "$PROJECT_DIR/shot-plan.json" ] && echo ok || echo missing。

步驟 2 — 素材 ◇(Bash:媒體使用,條件執行)

如果 shot-plan.json.asset_needs 不為空,則解析資產(搜尋 / 生成 / 獲取 → 凍結的專案本地路徑 + 分類帳)。請參閱 phases/source/guide.md(包裝了 media-use resolve;搜尋驅動類別使用新聞/網頁/推文/圖片搜尋)。如果 asset_needs 為空,則跳到步驟3。

# 僅供說明——請參閱 phases/source/guide.md
(cd "$PROJECT_DIR" && node <SKILL_DIR>/phases/source/resolve.mjs --plan ./shot-plan.json --out ./assets)

優雅降級:如果搜尋/提供者不可用,則類別回退到無資產版本(在 context.log 中註明)。

步驟 3 — 設計(子代理:導演第2部分)

分派一個子代理(提示詞 = agents/director.md 第2部分 + 分派上下文,包括已解析的 assets/index.md(如果步驟2已執行)+ catalog-map.md)。它根據可用的資產設計鏡頭:選擇目錄區塊 + hyperframes-animation 規則/藍圖、佈局、動態、節拍,以及(對於 asset-fusion)element_positions + 滴管調色板。最終確定 shot-plan.json(content.block + content.customize + 按類別區分的內容)。

步驟 4 — 建置(子代理:建置器,重複使用優先)

分派一個子代理。提示詞 = 完整的 agents/builder.md + 分派上下文(shot-plan.json、catalog-map.md、該類別的 module.md、references/motion-vocabulary.md、references/builder-contract.md)。重複使用優先:npx hyperframes add <block> + 就地自訂;僅手寫間隙 + 資產融合功能。輸出 compositions/index.html,需遵守 HF 合約(暫停的 GSAP 時間軸在 window.__timelines 上、class="clip" + 穩定的 ID、tl.seek(0)、確定性)。

步驟 5 — 驗證(Bash → 失敗時修復子代理)

(cd "$PROJECT_DIR" && npx hyperframes lint .)
(cd "$PROJECT_DIR" && npx hyperframes check .)
(cd "$PROJECT_DIR" && npx hyperframes snapshot --at <證明時間點>)

選擇能顯示開啟狀態、標誌性動作和最終停頓的證明時間點。在繼續之前檢查生成的聯絡人或快照表。如果 lint、check 或快照失敗,則分派修復子代理(agents/finalize.md)進行一次就地修復,然後重新執行失敗的閘門。切勿為了隱藏缺陷而更改固定時長。

步驟 6 — 批准與渲染(Bash)

提出一個問題:「先預覽,還是渲染?」如果使用者選擇預覽,則開啟 Studio 並在修訂後返回同一個批准閘門:

(cd "$PROJECT_DIR" && npx hyperframes preview --background)

僅在收到明確的渲染回答後才渲染:

(cd "$PROJECT_DIR" && npx hyperframes render . --skill=motion-graphics -q high -o ./renders/video.mp4)
# 透明疊加變體:--format webm(或 mov)

驗證輸出是否存在、不為空且具有預期時長。最終交接時需註明成品、實際時長、合成或影格 ID、證明時間點以及檢查過的聯絡人或快照表。標誌位於 /hyperframes-cli → references/preview-render.md。

恢復表

狀態從哪裡繼續
沒有 shot-plan.json步驟1(規劃)
shot-plan.json 包含 asset_needs,但沒有 assets/步驟2(素材)
shot-plan.json 已最終確定,但沒有 compositions/index.html步驟3/4(設計+建置)
compositions/index.html 存在,但缺少證明快照步驟5(驗證)
檢查和證明快照通過,但沒有批准的渲染步驟6(批准)
批准的渲染存在驗證輸出,然後回報結果

設計備註(維護者——執行時不會閱讀此部分)

  • 資產優先的理由: 素材獲取被前置,並為鏡頭設計提供資訊(RWA 流程:分析 → 搜尋 → 審查 → 組合)。確保每個動畫都基於實際可用的真實內容。
  • 類別正規化: 所有類別最終都會產生一個 shot-plan.json,供建置器消費,從而允許跨類別共用建置邏輯。
  • 無旁白: 此技能專為純視覺動態圖形設計;旁白內容應使用 /hyperframes 路由。

Individual skills in this repo

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

general-video

>

heygen-com/animejs

Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.

heygen-com/claude-design-hyperframes

Use when running inside Claude Design specifically. Produces a valid, brand-accurate HyperFrames video draft using pre-valid skeletons. For Claude Code / Cursor / Codex, use the `hyperframes` skill instead.

heygen-com/contribute-catalog

Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.

heygen-com/css-animations

CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.

heygen-com/gsap

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

heygen-com/hyperframes

Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 variables.

heygen-com/hyperframes

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

heygen-com/hyperframes

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

heygen-com/hyperframes

Glass shards fly in through fog and tile themselves into the headline. HyperFrames block, 1920×1080, 12.16s, 19 variables.

heygen-com/hyperframes

A single feature card orbits a dot sphere on approved Blender camera motion. HyperFrames block, 1920×1080, 10s, 4 variables.

heygen-com/hyperframes

A wireframe portal bursts open, the title comes through, then its letters swap into a second phrase. HyperFrames block, 1920×1080, 8s, 9 variables.

heygen-com/hyperframes

An orbiting camera follows an ice logo as it breaks apart, reforms into two text moments, and fades. HyperFrames block, 1920×1080, 22.5s, 216 variables.

heygen-com/hyperframes

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

heygen-com/hyperframes

name: embedded-captions

heygen-com/hyperframes

A chain of bevelled cuboids rides a travelling wave as a content carousel. HyperFrames block, 1920×1080, 6.666666666666667s, 40 variables.

heygen-com/hyperframes

A tiled headline surface flips cell by cell under a sweeping depth field to reveal the rear headline. HyperFrames block, 1920×1080, 8s, 18 variables.

heygen-com/hyperframes

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

heygen-com/hyperframes

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

heygen-com/hyperframes

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

相關技能