mcpField
E
emilkowal-animations

emilkowal-animations

github.com/pproencaデザイン・UI2182.8k 回インストール11 週間前に更新
リポジトリ

emilkowal-animations について

Web インターフェースのアニメーション制作向けリファレンススキルです。Emil Kowalski の知見やオープンソースライブラリ、講座をもとに、動きや操作性などの 58 項目をまとめています。

主な機能

  1. 018 分野にわたる 58 項目
  2. 02イージングと時間の指針
  3. 03アニメーションのプロパティと変形
  4. 04ジェスチャーと操作パターン
  5. 05アクセシビリティと動きを抑える設定
  6. 06Tailwind CSS v4 のユーティリティ

活用シーン

  1. 01React コンポーネントへのアニメーション追加
  2. 02イージングと時間の選定
  3. 03スワイプやドラッグ操作の実装
  4. 04アニメーションのアクセシビリティと性能確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pproenca/dot-skills --skill emilkowal-animations

インストール後、Claude Code で/emilkowal-animationsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

metadata.json
assets/templates/
_template.md
references/
_sections.md
ease-context-matters.md
ease-custom-curves.md
ease-in-out-onscreen.md
ease-ios-drawer.md
ease-out-default.md
ease-spring-config.md
ease-spring-natural.md
interact-damping.md
interact-friction-upward.md
interact-interruptible.md
interact-momentum-dismiss.md
interact-multitouch.md
interact-pointer-capture.md
interact-scroll-drag-conflict.md
interact-snap-points.md
interact-touch-hover.md
polish-blur-bridge.md
polish-clip-path-tabs.md
polish-dont-remove-all.md
polish-framer-hook.md
polish-hover-gap-fill.md
polish-opacity-fallback.md
polish-reduced-motion.md
polish-scroll-reveal.md
polish-stagger-children.md
polish-toast-stacking.md
props-avoid-css-variables.md

詳細

Emil Kowalski のアニメーションのベストプラクティス

Emil Kowalski の教え、オープンソースライブラリ(Sonner、Vaul)、および彼のanimations.devコースに基づく、Web インターフェース向けの包括的なアニメーションガイドです。影響度の高い順に優先順位付けされた、8 カテゴリにわたる 58 のルールを掲載しています。

適用する場面

次のような場合に、これらのガイドラインを参考にしてください。

  • React コンポーネントにアニメーションを追加するとき
  • イージングカーブやタイミング値を選ぶとき
  • ジェスチャーベースのインタラクション(スワイプ、ドラッグ)を実装するとき
  • トースト通知やドロワーコンポーネントを構築するとき
  • アニメーションのパフォーマンスを最適化するとき
  • アニメーションのアクセシビリティを確保するとき
  • 上記のいずれかを Tailwind CSS v4 のユーティリティ(tw- カテゴリを参照)で表現するとき

優先度別のルールカテゴリ

優先度カテゴリ影響度プレフィックス
1イージングの選択CRITICALease-
2タイミングと継続時間CRITICALtiming-
3プロパティの選択HIGHprops-
4トランスフォームの手法HIGHtransform-
5インタラクションパターンMEDIUM-HIGHinteract-
6戦略的なアニメーションMEDIUMstrategy-
7アクセシビリティと仕上げMEDIUMpolish-
8Tailwind v4 ユーティリティMEDIUMtw-

クイックリファレンス

1. イージングの選択(CRITICAL)
2. タイミングと継続時間(CRITICAL)
  • timing-300ms-max - UI アニメーションは 300ms 未満にする
  • timing-faster-better - アニメーションを速くすると、体感上のパフォーマンスが向上する
  • timing-asymmetric - 押下時とリリース時では非対称なタイミングを使う
  • timing-tooltip-delay - 最初のツールチップには遅延を設け、2 回目以降は即時表示する
  • timing-drawer-500ms - ドロワーアニメーションには 500ms の継続時間を使う
3. プロパティの選択(HIGH)
4. トランスフォームの手法(HIGH)
5. インタラクションパターン(中〜高)
6. 戦略的なアニメーション(中)
7. アクセシビリティと仕上げ(中)
8. Tailwind v4 のユーティリティ(中級)

上記の原則を適切な Tailwind CSS v4 のユーティリティで表現します。Tailwind v4 プロジェクトにのみ適用されます。上記の生の CSS と Framer Motion のルールが引き続き正となります。

  • tw-ease-duration-defaults - ease-out と 300ms 未満の duration を明示的に設定します
  • tw-custom-easing-theme - カスタムのイージング曲線を @theme トークンとして登録します
  • tw-press-scale - ボタンの押下フィードバックに active:scale-[0.97] を使用します
  • tw-asymmetric-timing - active:duration を使って押下時とリリース時のタイミングを分けます
  • tw-starting-enter - starting: バリアントで表示状態へのアニメーションを行います
  • tw-reduced-motion - motion-safe / motion-reduce を使って動きを制御します
  • tw-origin-aware - origin-* ユーティリティで transform-origin を設定します
  • tw-will-change - アクティブなジェスチャー中にのみ will-change-transform を適用します

主な値のリファレンス

値用途
cubic-bezier(0.23, 1, 0.32, 1)UI 操作に使う強い ease-out
cubic-bezier(0.77, 0, 0.175, 1)画面上の動きに使う強い ease-in-out
cubic-bezier(0.32, 0.72, 0, 1)iOS スタイルのドロワー/シートアニメーション
scale(0.97)ボタンの押下フィードバック
scale(0.95)表示時の最小スケール(scale(0) は使用しません)
200ms ease-out標準的な UI トランジション
300msUI アニメーションの最大 duration
500msドロワーアニメーションの duration
0.11 px/ms慣性による閉じる操作の速度しきい値
100pxスクロールに応じて表示する際のビューポートしきい値
14pxトーストスタックのオフセット

要素別の duration

要素が表示される頻度と、どれだけ動くかに基づいて duration を選びます。UI アニメーションは 300ms 未満にします。

要素duration
ボタンの押下フィードバック100–160ms
ツールチップ、小さなポップオーバー125–200ms
ドロップダウン、選択メニュー150–250ms
モーダル、ドロワー200–500ms
マーケティング/説明用さらに長くてもかまいません

リファレンスファイル

ファイル説明
references/_sections.mdカテゴリーの定義と順序
assets/templates/_template.md新しいルールのテンプレート
metadata.jsonバージョンとリファレンス情報

コメント