総合 211 位公式ベンダー⌘ 開発・コードClaude Code 対応Codex 対応MIT

gsap-utils

GSAP の小さな道具 gsap.utils(範囲に収める、範囲を写す、乱数、格子に揃える、配列にする、ぐるりと回すなど 16 個)を、正しい引数の順で使わせる。値を省くと関数が返る書き方まで押さえる。GSAP 公式が出している手引き

greensockgsap-skillsSKILL.md の原文

npx skills add greensock/gsap-skills/gsap-utils

入れる前にこのスキルがすること・注意点・SKILL.md の原文を確かめてください。解析は安全性の判定ではありません。

インストール
69,010
実用度
56
GitHub star
18,004
最終更新
2026/7/30

頼み方の例

そのままコピーして使えます

gsap-utilsスキルを使って、ページのスクロール量(0〜1)を、見出しの回転の角度(0〜360 度)と 10 度刻みの値に変える書き方を出してください。同じ設定で何度も呼ぶので、関数の形で作ってください。コードはまだ書き換えないでください。

対象のファイルや状況は、ご自身の作業に合わせて置き換えてください。

このスキルがすること

SKILL.md の記述から機械的に抽出
  • 外部通信・シェル実行・ファイル操作の記述は見つかりませんでした

これは安全性の判定ではありません。 SKILL.md にそう書かれているという事実だけを並べています。実際に問題があるかは使い方と文脈で決まるため、当サイトでは断定しません。導入前に SKILL.md の原文を確認してください。

SKILL.md の規模

文字数
12,093
手順
0
コード例
21
同梱ファイル
0

コードブロックの言語: javascript

いつ使うか

GSAP で動きを作るときの、数の計算や要素の集め方に効きます。スクロールの量を角度に写す、値を範囲に収める、乱数を格子に揃える、といった細かい処理です。GSAP を作っている公開元(GreenSock)の公式の手引きで、同じリポジトリの 8 件の 1 つです。

16 個の道具

説明文(description)が名前を挙げているのは 9 個ですが、本文は 16 個を扱っています。

  • 範囲clamp(収める)、mapRange(写す)、normalize(0〜1 に)、interpolate(間を取る)
  • 乱数と揃えrandom、snap(刻みに揃える)、shuffle(並べ替え)、distribute(要素ごとに配る)
  • 単位と色getUnit、unitize(単位を付ける)、splitColor(色を数の配列に)
  • 集めると組み合わせselector(範囲を絞った探し方)、toArray、pipe(関数をつなぐ)
  • 回すwrap(端で反対側へ)、wrapYoyo(端で折り返す)

どれも gsap.utils.clamp() のように呼ぶ、登録の要らない純粋な関数です。動きの設定の中、ScrollTrigger や Observer の呼び返し、GSAP を動かす普通の JavaScript のどこでも使えます。

値を省くと関数が返る

本文がいちばん強調しているのはこの書き方です。多くの道具は、変えたい値を最後の引数に取り、それを省くと「あとで値を受け取る関数」を返します。

値を渡す

clamp(0, 100, 150) はその場で 100 を返す

値を省く

clamp(0, 100) は関数を返し、c(150) や c(-10) のようにあとで呼ぶ

マウスの動きやスクロールの処理のように、同じ設定で何度も呼ぶときは関数の形が向く、と書かれています。

random() だけは例外です。値を省くのではなく、最後の引数に true を渡すと関数が返ります。返った関数は引数を取らず、呼ぶたびに新しい乱数を返します。

動きの設定に文字で書く乱数

動きの設定の値に "random(-100, 100, 5)" や "random([red, blue, green])" と文字で書くと、GSAP が対象ごとに評価します。3 つ目の数は刻み(この例では 5 の倍数に揃える)です。

要素ごとに値を配る distribute

distribute() は、要素の並び(または格子)の中の位置に応じて値を配る関数を返します。設定は 7 つで、base(始まりの値)、amount(全体で配る量)、each(1 つごとに足す量)、from(どこから配るか)、grid、axis、ease です。返った関数を動きの設定の値にそのまま渡すと、GSAP が要素ごとに呼びます。

使わないほうがいいとき

GSAP を使っていないコード

clamp や mapRange くらいなら、数行の普通の JavaScript で書けます。このスキルは GSAP の中での使い方の手引きなので、GSAP を入れていないなら入れる理由にはなりません。

緩急の曲線やスクロールの連動そのもの

本文は、組み合わせて使う相手として gsap-core、gsap-timeline、gsap-scrolltrigger を挙げ、CustomEase などの緩急の道具は gsap-plugins にある、と書いています。

動きの基本は gsap-core、スクロールは gsap-scrolltrigger、緩急の曲線は gsap-plugins を見てください。

React の部品の中で要素を探す

selector() は React の ref(.current)も受け取れると書かれています。ただし React での片付けまで含めた書き方は gsap-react の担当です。

注意点

解析で見つかった記述は無い

SKILL.md に、外部との通信、シェルでの実行、ファイルの書き換えの記述はありません。同梱ファイルは無く、SKILL.md 1 枚で完結しています(2026-10-22 時点)。

単位は扱わない

unitize() は、すでに単位が付いている値はそのまま返します(unitize("2rem", "px") は "2rem")。

説明文に無い道具では呼ばれにくい

スキルが呼ばれるかは、説明文の言葉に左右されます。説明文の引き金の言葉は gsap.utils、clamp、mapRange、random、snap、toArray、wrap などで、distribute や splitColor は入っていません。これらを使いたいときは、依頼文で gsap-utils の名前を出すほうが確実です。

細かい決まり

  • wrap(min, max) は min を含み、max を含まない(wrap(0, 360, 370) は 10)
  • snap() は数の刻みのほか、許される値の配列にも揃えられる
  • splitColor() は色を [赤, 緑, 青](透明度があれば 4 つ)に分け、2 つ目に true を渡すと色相・彩度・明度で返す
  • 文書に無い振る舞いに頼らない、と「しないこと」の 2 つ目にある

インストール数の推移

日次で記録

9月18日 〜 11月7日(49日分)

インストール数と 1 日あたりの増加は Skillselion が に集計した値です。上流の更新は数日おきなので、前日比ではありません。GitHub star と最終更新は に GitHub から取得しました。

よくある質問

random() で関数の形にしたいのに、値が返ってきます

random() は、ほかの道具と違って値を省いても関数になりません。最後の引数に true を渡すと関数が返ります(random(-200, 500, 10, true) など)。本文は、これが唯一の例外だと書いています。

スクロールの進み具合を角度に変えるには

mapRange(0, 1, 0, 360) で関数を作り、進み具合(0〜1)を渡すと角度が返ります。刻みに揃えたいなら、pipe() で snap() とつなげます。本文の最善の手も、同じ設定で何度も呼ぶなら関数の形にせよ、と書いています。

toArray と selector はどう違いますか

toArray() は、セレクターの文字列や NodeList などを本物の配列にします。2 つ目の引数で探す範囲を絞れます。selector() は、ある要素の中だけを探す関数を返します。部品の中で、ページ全体ではなくその部品の子だけを選びたいときに使います。

wrap と wrapYoyo はどう違いますか

wrap() は端を越えると反対の端から戻ります(0〜360 で 370 は 10)。wrapYoyo() は端で折り返します(0〜100 で 150 は 50)。行き来する動きに使います。

同じ分類のスキル

⌘ 開発・コード

開発・コードのスキルをすべて見る →

← スキル一覧に戻る/ このスキルを他と比べる