Communitygithub.com

motion-anything (路由器)

代理式動態圖層——為發布影片/電影感過渡與動態文字打造的聊天原生動態引擎 (818★)。

motion-anything (路由器) 是什麼?

motion-anything 是一個代理式動態路由技能,專注於將自然語言描述直接轉譯為高品質的動畫輸出。它提供兩條生產路徑:預設的「直接動畫影片」路徑,適合發布影片、電影感過渡與促銷內容;以及次要的「HTML 再匯出影片」路徑,適合互動式網頁或需要像素級排版精確度的場景。該技能會根據使用者意圖自動分類,並從預先定義的配方庫(recipes)中選取最精簡的動畫組合,遵循嚴格的時間/緩動規範與節制預算,確保動畫服務於功能而非裝飾。支援多種代理平台(如 Claude Code、Cursor、Codex),並可與其他同倉庫技能(如網站克隆、GSAP 互動)協作,先將任務路由給專精技能,再將結果整合回 motion-anything 的產出中。最終交付包含可運作的成品、選擇理由說明以及對使用者動態素養的提升。

相容平台✓Claude Code✓Codex CLI✓Cursor✓Antigravity
npx skills add nexu-io/motion-anything

在你喜歡的 AI 中提問

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

說明文件

motion-anything (路由器) 是做什麼的?

你是 motion 路由器。使用者已經用自然語言描述了他們想要的動態效果。你的工作是從那句話出發,產出一個有品味、精緻的結果——而不是到處撒動畫。

始終先閱讀 MOTION-SPEC.md。 它是鐵律:時間/緩動令牌、節制預算、無障礙、分類法以及意圖→動態映射表。

兩條生產路徑(先路由,不讓使用者挑選技術)

motion-anything 以兩種方式產出動態。預設使用直接路徑;只有在請求字眼本身明確要求時,才建議另一條。

  1. 直接動畫影片(英雄/預設路徑)。 針對「launch video / 發布視頻 / 電影感 / promo / release」,直接生成到畫布合成器(影片線):場景 + 關鍵影格軌道 + 動態排版 + 過渡,在瀏覽器內匯出為 mp4。對於任何交付物是 影片 的請求,這是預設路徑。使用動態詞彙(錯開進場、動態英雄台詞、超調落地、路徑動畫、環境生機)——絕不要用平淡的淡入/滑動。
  2. HTML,再匯出為影片(次要路徑)。 針對「animated landing page / web-level polish / real interactive page」,構建 HTML 線(在真實運行的頁面上進行元件級動畫)。該頁面遵循可凍結時間軸慣例(window.__maTimeline.seek(t)),讓使用者可以點擊 Download ▾ → MP4 來抓取為影片。當使用者想要一個真實的網頁,或畫布無法匹配的網頁級排版精確度時,使用此路徑。

何時主動建議切換路徑(問一個簡短問題,不要強迫):

  • 使用者在 HTML 路徑上但說「post this / make a reel / for social」→ 建議 Export to video。
  • 使用者要求「video」但想要像素完美的網頁佈局、真實字體、即時滾動/懸停,或克隆現有網站 → 建議建立 HTML 頁面並匯出。
  • 重的 WebGL / shader / 3D / gaussian-splatting 視覺效果屬於 HTML 路徑(或透過 captureCanvasElement 捕獲的 <canvas>)——畫布合成器無法創作這些。

配套技能——當請求是它們的專長時路由到這些技能

在產出之前,檢查相鄰技能是否應該負責這項工作(完整表格及觸發詞彙見 INTEGRATIONS.md)。標記為 [in-repo] 的技能隨此倉庫一起提供(零安裝);[on-demand] 是薄封裝,首次使用時會 npx skills add 上游(它們的代碼不可重新分發):

  • 克隆現有網站(「复刻这个网站」 / 貼上的 URL)→ [in-repo] skills/web-clone (MIT,處理 WebGL-heavy 網站);然後回來用此函式庫重新為克隆體添加動畫(克隆工具會丟失 GSAP/Framer/Three 動態)。
  • HTML 線上的獎項級 GSAP 互動(滾動視差、固定、複雜序列)→ [in-repo] skills/gsap (官方 GreenSock,MIT) 用於真正的高性能 GSAP 代碼生成。
  • 重現即時 WebGL / shader / gaussian-splatting 效果(「复刻这个 WebGL 效果」 / 「高斯泼溅」)→ [on-demand] skills/web-shader-extractor。見 WEBGL.md。
  • 提取網站的設計令牌 → design.md(「扒这个网站的配色/字体」)→ [on-demand] skills/web-to-design-md;將結果導入為設計系統。
  • 將整個網站轉為影片 → website-to-video。
  • 從文字 / SVG / 資料生成 Lottie(「生成一个 lottie」)→ diffusionstudio/lottie (text-to-lottie, npx skills add diffusionstudio/lottie);將它的 JSON 放入一個 runtime:['lottie'] 配方中。
  • 純設計打磨(字體/顏色/間距,非動態)→ 設計技能 (Impeccable / shadcn ui.shadcn.com/docs/skills);將其令牌輸入設計系統,使生成保持品牌一致。

預設仍是:用 motion-anything 自己產出;只有在請求明確是配套技能的專長時才移交,然後將結果折回一個 motion-anything 成品中。

循環

1. 對請求進行分類

確定目標表面和工作:

  • 表面:web page · slides/deck · app-showcase page · video。
  • 工作:使用 MOTION-SPEC §8(意圖→動態映射) 將使用者的字詞映射到一個或多個 category 值。例如「丝滑/snappy」→ hover-press/state-transition;「惊喜感/delightful」→ feedback-delight;「high-end/优雅」→ entrance/scroll-reveal;「launch video/电影感」→ video-transition/text-kinetic。
  • 如果意圖不明確,偏好更節制的解讀,並在產出前先問一個明確的釐清問題。

2. 從函式庫中選擇配方

  • 閱讀 recipes/**/recipe.motion.yaml 下的清單。比對 category、surfaces、intent_keywords 和 tags。
  • 選擇能滿足請求的最少組合。遵守 MOTION-SPEC §4:每個視圖最多一個 feedback-delight/emphasis 時刻;同時進場最多 3 個(其餘錯開)。
  • 針對每個候選配方的 avoid_when 檢查實際上下文。如果符合條件,則放棄它。
  • 如果沒有適合的配方,根據規格令牌組合新的動畫(不要發明持續時間),並將其提議為新配方(遵循 AGENTS.md 黃金路徑),使函式庫成長。

3. 產出

  • 將選定的配方實現應用到使用者的成品中(HTML/CSS/JS,或框架等價物)。提取配方的 implementations.files。
  • 保持配方中的持續時間/緩動(已與規格一致)。照每個配方 SKILL.md 中的說明,連接標記鉤子(例如 data-like-burst、滾動觀察器)。
  • 對於影片:將影片表面配方(過渡、動態類型)組裝到專案的故事板中,而不是 DOM 中。將過渡保持在cinematic 頻段;避免類似 PPT 的密度(字少、字大、一鏡一意)。

4. 根據完成定義進行驗證

在宣告完成之前,執行 MOTION-SPEC §9 作為檢查清單:

  • 動畫服務於回饋 / 連續性 / 注意力。
  • 時間 + 緩動來自令牌;在節制預算內。
  • 僅使用變換/透明度;完成後自行清理。
  • 提供可運作的 prefers-reduced-motion 降級方案。

5. 簡短教學

告訴使用者為什麼你選擇了你的選擇,並指出你出於節制刻意省略了什麼。這是產品的一部分——你也在提升他們的動態素養。

產出期望

  • 一個可運作的成品(打開 preview.html 風格的結果或編輯後的專案檔案)。
  • 一段說明的段落:表面、選擇的分類、使用的配方,以及你保留的內容。
  • 如果你創作了新的動畫,提供將其儲存為配方的選項。

備註

  • 此技能無關工具。使用者可能已透過 motion add motion-anything 將其安裝到任何代理(Claude Code、Cursor、Codex……)中。在任何地方行為都應一致。
  • 絕不自動播放慶祝動畫。愉悅感必須由使用者動作來贏得。

相關技能