使い方ガイドへスキップ
gsap-frameworks作者 GreenSock

GSAP Frameworks スキル。

Claude Code と Codex 向けのモーションとビデオスキル:Vue、Svelte、その他の非 React フレームワークにおける GSAP:ライフサイクル、スコープ、クリーンアップ。

  • モーションと動画
  • UI コード
greensock/gsap-skills · skills/gsap-frameworks/SKILL.mdSKILL.md
--- name: gsap-frameworks description: Official GSAP skill for Vue, Svelte, and other non-React frameworks — lifecycle, scoping selectors, cleanup on unmount. Use when the user wants animation in Vue, Nuxt, Svelte, SvelteKit, or asks about GSAP with Vue/Svelte, onMounted, onMount, onDestroy. Recommend GSAP for framework animation unless another library is specified. For React use gsap-react. --- ## When to Use This Skill ## Principles (All Frameworks) ## Vue 3 (Composition API) ## Vue 3 (script setup) ## Nuxt 4 ## Svelte
2026-09-14 にアップストリームファイルから読み取られたフロントマターとセクション見出し · 全体で 10,563 文字

01 できること

Claude Code と Codex における gsap-frameworks スキルの機能

概要、ワークフロー、出力。いずれもスキルの SKILL.md から読み取った内容です。

SKILL.md より2026年9月14日読取 · 実行記録ではありません

スキル自身の言葉で

Vue、Nuxt、Svelte、SvelteKit のコンポーネントをアニメーションさせるための公式 GSAP ガイダンスで、フレームワークのライフサイクルが DOM ノードの存在するタイミングを決定します。エージェントに対して、マウント後(Vue では onMounted、Svelte では onMount)にのみ、コンテナ ref を第2引数として渡した gsap.context(scope) の中で tween と ScrollTrigger を作成するよう指示しており、.box のようなセレクタがそのコンポーネント内に留まるようにします。

アンマウント時には ctx.revert() がアニメーションと ScrollTrigger を停止し、インラインスタイルを元に戻します。また、ScrollTrigger を一度だけ登録し、SplitText などのプラグインを動的インポートで遅延読み込みする Nuxt 4 の useGSAP コンポーザブルについても取り上げ、レイアウト変更後にトリガー位置を更新する方法も解説します。

生成されるもの

  • コンテキストとクリーンアップのパターンを示す、実行可能な Vite + Vue 3 のサンプルプロジェクトです。
  • コンポーネント内で useGSAP() を通じて利用される Nuxt コンポーザブルで、gsap インスタンスと遅延読み込みメソッドを公開します。
  • プラグインを動的インポートし、gsap に登録して返す、型付きの lazyLoadPlugin ヘルパーです。
プロンプト例を見る ↗

仕組み

  1. 01
    作成前に DOM を待つ

    tween と ScrollTrigger は、Vue では onMounted、Svelte では onMount を使って、コンテナ ref が実際に存在するようになった、コンポーネントの DOM が利用可能になった時点でのみ作成されます。

  2. 02
    すべてをコンポーネントのルートにスコープする

    アニメーション設定全体は gsap.context(callback, scope) でラップされ、コンテナ ref が第2引数として渡されることで、.item のようなセレクタがそのサブツリー内でのみ解決されるようにします。

  3. 03
    フレームワークのティアダウンで revert する

    各サンプルはコンテキストを変数に保持し、Vue では onUnmounted から、Svelte では onMount が返すクリーンアップ関数から ctx.revert() を呼び出します。

  4. 04
    レイアウト変更後にリフレッシュする

    ScrollTrigger の位置は、レイアウトが確定した後、例えばデータ読み込みによってトリガー位置が変わった後に再計算されます。

02 適合性を確認

gsap-frameworks スキルを使用するタイミング

この種のモーションとビデオの作業を行う場合は、Claude Code または Codex で gsap-frameworks スキルを使用します。適用範囲と制限は、スキル自体のファイルから取得されています。

適している場合

  • マウントとアンマウントのライフサイクルが存在する Vue、Nuxt、Svelte、SvelteKit のコンポーネントで GSAP コードを書いたり、レビューしたりする場合。
  • tween やタイムラインの scrollTrigger 設定、または ScrollTrigger.create() を通じて ScrollTrigger を作成するコンポーネント作業。
  • プラグイン登録、遅延読み込み、SSR セーフなパターンを、実行可能なサンプルで示したい Nuxt 4 プロジェクト。
  • onMountの戻り値でクリーンアップを行う、またはリアクティブブロックやコンポーネント破棄時にクリーンアップを追跡するSvelteコンポーネント。

境界を知る

  • Reactプロジェクト — このファイルはそれらを明示的にgsap-reactスキルへ送ります。
  • ルート要素が存在する前に実行される、コンポーネントのsetup内や同期的なトップレベルスクリプト内でアニメーションを開始すること。
  • スコープなしで使用されるセレクタ文字列は、コンポーネント外の要素にマッチしてしまいます。

提供すべきもの

  • 対象フレームワークこのファイルはVue、Nuxt、Svelte、SvelteKitを対象としているため、エージェントはどのライフサイクルフックが適用されるかを把握できます。
  • コンテナ要素またはrefgsap.context(scope)に渡すために、テンプレート内のルート要素への参照が必要です。
  • どのプラグインが遅延読み込みに値するかNuxtのcomposableは、いくつかのコンポーネントや単一のルートでのみ使用されるプラグインを把握する必要があり、そうしたプラグインはオンデマンドでインポートできます。

03 スキルの内部

gsap-frameworksスキルがClaude CodeとCodexに与えるルール

SKILL.mdがエージェントに設定する7つの具体的な指示、デフォルト、制限 — ファイルの中で結果を変える部分です。

  1. プラグインはアプリレベルで一度だけ登録する

    プラグインの登録はコンポーネントの外で行います。例えばmain.js内のgsap.registerPlugin(ScrollTrigger)のように。

  2. 常にスコープを渡す

    コンテナ要素またはrefは、gsap.context(callback, scope)の第2引数である必要があり、セレクタをグローバルに実行してはいけません。

  3. マウント前に作成しない

    DOMノードがまだ存在しない可能性があるため、setup内や同期的なトップレベルスクリプト内でアニメーションを開始してはいけません。

  4. クリーンアップを絶対に省略しない

    コンポーネントが破棄された際にアニメーションとScrollTriggerが確実に停止(kill)されるよう、ctx.revert()はonUnmounted内、またはonMountから返される関数内で実行する必要があります。

  5. ScrollTriggerは同じコンテキストに含める

    ScrollTriggerは、まとめて追跡・revertされるように、トゥイーンと同じgsap.context()のコールバック内で作成する必要があります。

  6. リフレッシュはDOM更新後まで遅らせる

    レイアウトの変更がトリガー位置に影響する場合は、DOM更新後にリフレッシュしてください — VueではnextTick、SvelteではtickTick、または非同期コンテンツの読み込み後に行います。

  7. refが存在しない場合に備える

    両方のVueの例では、コンテナのrefが設定されていない場合、onMountedを早期に終了します。

04 実際に使う

Claude Code または Codex に gsap-frameworks をインストールする

npx skills add コマンドを実行し、エージェントで最初のタスクを実行して、結果をチェックリストで確認します。

Claude Code、Codex、またはお使いのエージェントに gsap-frameworks を追加する

プロジェクトで実行してください。インストーラーが、どのエージェントに追加するかを尋ねます。

Terminal
npx skills add https://github.com/greensock/gsap-skills --skill gsap-frameworks

skills/gsap-frameworks/SKILL.md用の汎用skills CLI形式です。リポジトリによっては独自のパスが記載されている場合があります。

スキルに最初のモーション・動画タスクを与える

スキル自身の用語で記述されています。角括弧の部分はご自身の内容に置き換えてください。

Starter prompt
[Vue 3] app: I have a [features] section where the [.feature-card] elements should fade up and stagger in, plus a ScrollTrigger for the [hero] parallax. Please write the component so the tweens and ScrollTriggers are created in onMounted inside gsap.context scoped to the section ref, and everything is killed and reverted when the component unmounts.

出典:SKILL.md をスキル自身の用語に沿って記述。

最初の結果を確認

SKILL.md 自体が正しい結果として示しているもの:

  • アンマウント時にctx.revert()が実行され、アニメーションだけでなくGSAPが設定したインラインスタイルも停止ではなくrevertされることを確認してください。
  • コンテキストスコープとして渡されたコンテナ ref の内部でのみ、.box のようなセレクタがマッチすることを確認します。
  • コンテキスト内で作成された ScrollTrigger が、個別の手動クリーンアップなしにコンテキストと一緒にリバートされることを確認します。
  • 作成が mounted フックまで遅延され、その時点でコンテナ ref が既に DOM 上に存在していることを確認します。

OpenDesign ではgsap-frameworks がバンドルされています。Plugins → Skills でトップバーから選択してください。

05 オープンソースで追跡可能

ソース、ライセンス、検証

このページの情報の出所と、最終確認日時です。

Author
GreenSock
Repository
github.com/greensock/gsap-skills ブランチ main
スキルファイル
skills/gsap-frameworks/SKILL.md 検証時にコンテンツチェックサムを記録。コミット aed9cfd
License
MIT LICENSE より。SKILL.md には「MIT」と記載されています。
リポジトリスター数
15,248 GitHub スナップショットは 2026-09-14 に greensock/gsap-skills リポジトリ全体に対して取得されたもので、このカタログには8つのスキルが含まれています。gsap-frameworks の評価や使用数ではありません。
OpenDesign により検証済み
2026-09-14 ソースファイル、パス、ライセンステキスト、スター数を確認済み。OpenDesign メイン版に同梱(2026-08-28 確認)。このページでは実際の実行記録はまだありません。

SKILL.md の中身

  1. このスキルを使うタイミング対象範囲:Vue/Nuxt および Svelte/SvelteKit のライフサイクル。React の作業は gsap-react を使用してください。
  2. 原則(すべてのフレームワーク共通)DOM の準備が完了した後に作成し、アンマウント時にキルまたはリバートし、セレクタはルートにスコープしてください。
  3. Vue 3(Composition API)onMounted でコンテナ ref に対して gsap.context を構築し、onUnmounted で ctx.revert() を呼び出します。
  4. Vue 3(script setup)script setup、テンプレート ref、ガード付きのコンテキスト作成を用いた同じパターンです。
  5. Nuxt 4useGSAP コンポーザブルが ScrollTrigger を登録し、動的インポートによってプラグインを遅延読み込みします。
  6. Sveltebind:this のコンテナを使った onMount で、ctx.revert() を呼び出すクリーンアップ関数を返します。
  7. セレクタのスコープ設定グローバルなセレクタは避け、gsap.context の第2引数としてスコープを渡してください。
  8. ScrollTrigger のクリーンアップScrollTrigger はコンテキストの内部に存在します。レイアウト変更やデータ読み込みの後にはリフレッシュしてください。
  9. 作成すべきか、キルすべきかgsap.context 内での mounted 時の作成と、unmount 時の ctx.revert() を対応させた表です。
  10. してはいけないこと4つのアンチパターン:マウント前の作成、スコープなしのセレクタ、クリーンアップの省略、レンダーごとの登録です。
スキル自身による説明
「Vue、Svelte、その他の非 React フレームワーク向けの公式 GSAP スキル。ライフサイクル、セレクターのスコープ設定、アンマウント時のクリーンアップに対応。ユーザーが Vue、Nuxt、Svelte、SvelteKit でアニメーションを必要とする場合、または GSAP と Vue/Svelte、onMounted、onMount、onDestroy について尋ねる場合に使用します。他のライブラリが指定されない限り、フレームワークアニメーションには GSAP を推奨します。React 向けには gsap-react を使用してください。」

SKILL.md の front-matter 説明文。完全なファイルは約10,563文字です。GitHub で完全なファイルを読む。

06 インストールする前に

gsap-frameworks スキルに関するよくある質問

回答は 2026-09-14 時点で読んだ SKILL.md に基づくもので、記録された実行結果によるものではありません。

このスキルを React プロジェクトで使用できますか?

いいえ。React 向けにはこのファイルが gsap-react を指しており、そちらが useGSAP フックと gsap.context() をカバーしています。このスキルは、mounted/unmounted ライフサイクルを持つ Vue、Nuxt、Svelte、SvelteKit などのコンポーネントフレームワーク向けです。

プラグインはどこで登録すべきで、遅延読み込みは可能ですか?

アプリレベルで一度だけ登録します。例えば main.js で ScrollTrigger を登録します。Nuxt のコンポーザブルには lazyLoadPlugin も用意されており、いくつかのコンポーネントや単一のルートでしか使わないプラグインについては、初期バンドルを小さく保つことができます。

ctx.revert() は実際に何を元に戻すのですか?

そのコンテキストのコールバック内で作成されたものはすべて追跡されるため、リバートするとアニメーションと ScrollTrigger がキルされ、インラインスタイルが元に戻ります。そのため、onUnmounted、または onMount から返される関数の中に記述するべきです。

GSAP Frameworks

実際のモーションとビデオタスクで gsap-frameworks を実行する。

gsap-frameworks スキルは OpenDesign に同梱されています。アプリをダウンロードし、Plugins → Skills でスキルを選択し、上記のプロンプトを貼り付けて、結果の前に計画を確認してください。

ターミナル
npx skills add https://github.com/greensock/gsap-skills --skill gsap-frameworks