Communitygithub.com

SJbuilds04/vybe-motion-design

VYBE / HyperFrames向けモーション設計スキル — アニメーション原則、イージングとタイミング、振り付けとスタッガー、シーン遷移、カメラワーク、視覚効果(ぼかし、グロー、マスク、グレイン、ライトリーク)をシーク可能なGSAPレシピとして記述。動画内の動き(登場、退場、シーン間の遷移、カメラ動作、リズム)を設計・修正する際、または動きが一般的・浮遊感・硬い・繰り返しに感じられるときに使用。

vybe-motion-design とは?

**VYBE Motion Design**は、HyperFramesプラットフォーム向けに、シーク可能なGSAPタイムラインを用いた高品質なモーションデザインを実現するための包括的なスキルセットです。各コンポジションは一時停止されたGSAPタイムラインで管理され、`fromTo`によるエントランス、`clipPath`や`filter`を活用したアニメーション、決定的なシーク動作を特徴とします。このスキルは、アニメーションの12原則、14種類のトランジションレシピ、カメラワーク、視覚効果に関するリファレンスを提供し、10のルールに基づく一貫性のある動きの設計を可能にします。主な機能として、イージングによる個性の表現、高速イン・低速セトルのエントランス、重なり合うアクション、ホールド中のアンビエントな動き、ビートに合わせたタイミングなどが含まれます。また、テキスト分割やカウントアップといった特殊なパターンもシーク可能な形で実装されています。このスキルは、開発者が動画の動きをデザイン・修正する際に、より自然でプロフェッショナルな結果を得るためのガイドラインと実装コードを提供します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SJbuilds04/VYBE/tree/HEAD/skills/vybe-motion-design

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

VYBE Motion Design

動きはメッセージです。すべての動きは、主題について何かを語らなければなりません——重さ、速さ、自信、驚き——さもなければ存在すべきではありません。

すべてのレシピはHyperFrames用です:コンポジションごとに一時停止されたGSAPタイムライン、決定的、シーク可能。エントランスにはfromTo、アニメーションにはtransforms + opacity + clipPath + filterを使用し、レイアウトプロパティは使用しません。

リファレンス(必要なものをロードしてください)

ファイル用途
references/animation-principles.mdUI/タイポ/グラフィックに適用された12の原則、イージング用語集、タイミングテーブル
references/transitions.mdGSAPコード付き14のトランジションレシピ、それぞれの使用タイミング
references/camera-movements.mdドリー、トラック、クレーン、オービット、ズームスルー、ウィップ、ラックフォーカス、パララックス — 2Dと3D
references/visual-effects.mdグロー、ブルーム、ライトリーク、フィルムグレイン、クロマティックスプリット、モーションブラー、マスク、モーフ

10のルール

  1. アニメーションさせるのではなく、振り付けせよ。 誰が最初に動き、誰が応答し、誰がホールドするかを計画する。 シーンは文である:主語 → 述語 → 目的語。
  2. イージングは個性である。 expo.out = 高級感/自信; back.out = 遊び心; power2.inOut = 機械的なカメラ; sine.inOut = 息づかい/アンビエント; none = 一定のドリフト。作品ごとに2〜3つのイージングを選び、一貫して使用する。
  3. 速く入り、ゆっくり落ち着く。 ほとんどのエントランス:0.5〜0.9秒で、移動の80%を 時間の最初の30%で完了する。
  4. **退場はエントランスより速く(約60%)、.inイージングを使用する。
  5. スタッガーは階層を明らかにする — 文字は0.04〜0.08秒、単語は0.1〜0.18秒、 リスト項目は0.3〜0.6秒。すべてを同じようにスタッガーさせてはいけない。
  6. アクションを重ねる。 次の要素は前の要素が終了する前に開始する (位置パラメータ "<0.2" / 絶対時間)。連続 = ロボット的。
  7. 読むためのホールド。 単語あたり約0.3秒 + 0.5秒; 閉じ行は2秒以上。
  8. 常に何かを生きた状態に保つ。 ホールド中、ゆっくりとしたプッシュ(scale 1→1.04)、ドリフト またはライトスイープでフレームが死ぬのを防ぐ——ただしレイヤーごとにアンビエントモーションは1つだけ。
  9. トランジションを変化させる。 作品ごとにブラックフェードスルーは最大1回。 動きのカット、マッチカット、マスクワイプ、ズームスルー、共有要素を優先する。
  10. ビートを尊重する。 音楽がある場合、すべての主要な変化はビート(60/bpm)に合わせる; ヒットはダウンビートに合わせ、アンティシペーションはその前に開始する。

シーク可能なGSAPパターン

const tl = gsap.timeline({ paused: true });
// エントランス: ぼかしからシャープへの上昇(プレミアム)
tl.fromTo("#s1-title", { opacity: 0, y: 40, filter: "blur(12px)" },
  { opacity: 1, y: 0, filter: "blur(0px)", duration: 0.9, ease: "expo.out" }, 0.2);
// マスクワイプリビール(エディトリアル)
tl.fromTo("#s1-line", { clipPath: "inset(0 100% 0 0)" }, { clipPath: "inset(0 0% 0 0)", duration: 0.8, ease: "expo.inOut" }, 0.5);
// グリフごとの広がり(letterSpacingの代わり — lintが拒否するため)
gsap.utils.toArray("#s1-word .ch").forEach((c, i, all) => {
  const off = (i - (all.length - 1) / 2) * -30;
  tl.fromTo(c, { x: off, opacity: 0 }, { x: 0, opacity: 1, duration: 1, ease: "expo.out" }, 1 + Math.abs(i - (all.length - 1) / 2) * 0.05);
});
// カウントアップ(シーク可能: onUpdateはシークのたびに実行)
const n = { v: 0 }, el = document.getElementById("s1-num");
tl.fromTo(n, { v: 0 }, { v: 97, duration: 1.4, ease: "expo.out", onUpdate: () => (el.textContent = Math.round(n.v)) }, 1.2);
// アンビエントホールド
tl.fromTo("#s1-stack", { scale: 1 }, { scale: 1.04, duration: 3, ease: "sine.inOut" }, 0);
window.__timelines["s1"] = tl;

テキスト分割:単語/文字を <span class="w|ch" style="display:inline-block"> でラップする(transformsはインライン要素では効かない)。スペースはスパンの外側に保つ。

引き渡し前の確認

  • 連続する2つのシーンで同じエントランスモーションを使用しないこと。
  • 同じ要素の同じプロパティを重複する時間でトゥイーンしないこと。
  • npx hyperframes check Motionセクションがクリーンであること;振り付け監査には、インストール済みの場合、HyperFramesの/hyperframes-animationスキルに同梱されているanimation-map.mjsスクリプトを実行すること。

Individual skills in this repo

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

SJbuilds04/vybe-audio-design

Sound design and music direction for VYBE / HyperFrames videos — choosing music by mood and arc, spotting sound effects to picture, voiceover direction and provider choice (HeyGen, ElevenLabs, Kokoro, Gemini), ducking, loudness targets, beat-synced editing and caption sync. Use when planning or fixing the audio of a video, when a video feels silent, cheap, cluttered or out of sync, or when choosing a voice or music provider.

SJbuilds04/vybe-cinematic-3d

Deterministic Three.js / WebGL for HyperFrames videos — 3D scenes, particle systems, procedural geometry, product turntables, scientific models (molecules, planets, black holes), lighting rigs, camera paths and camera cuts, rendered frame-exactly from HyperFrames time. Use when a VYBE storyboard calls for 3D, depth, particles, space, a rotating product, a data sculpture, or when a Three.js layer renders black, flickers or differs between renders.

SJbuilds04/vybe-image-to-motion

Animate a still image into video. Analyzes the image, plans the motion, and picks the right technique — programmatic 2.5D (camera moves, depth-map parallax, subject/background layer separation, particles, fog, light) or AI image-to-video (Runway Gen-4.5 / Veo 3.1 / Kling 3.0, Luma Ray 3.2, Gemini Omni Flash) for organic motion like walking, faces, water or hair — then composes the result in HyperFrames with music, SFX and text. Use when someone supplies an image and asks to animate it, bring it

SJbuilds04/vybe-typography

Typography for motion — type systems, font pairing with bundled OFL fonts, scale and readability rules for video, kinetic typography techniques, per-letter/word animation, captions design and safe zones, in HyperFrames compositions. Use when choosing fonts, sizing or animating text in a VYBE video, building kinetic type or lyric videos, styling captions, or when text overlaps, clips, is unreadable or looks generic.

関連スキル