mcpField
E
emilkowal-animations

emilkowal-animations

github.com/blockmaticデザイン・UI1213 回インストール4 週間前に更新
リポジトリ

emilkowal-animations について

8つの優先カテゴリに58項目のWebアニメーション規則をまとめたリファレンススキルです。UI開発者がイージングや時間、操作パターン、性能、アクセシビリティ、Tailwind CSS v4のユーティリティを選ぶ際に役立ちます。

主な機能

  1. 018カテゴリにわたる58項目の規則
  2. 02イージングと時間の指針
  3. 03ジェスチャーと操作パターン
  4. 04性能を意識したプロパティ選択
  5. 05モーション低減のアクセシビリティ指針
  6. 06Tailwind CSS v4ユーティリティの指針

活用シーン

  1. 01UIコンポーネントの動きの曲線選定
  2. 02ドロワー、トースト、ジェスチャーの実装
  3. 03アニメーション性能の確認
  4. 04モーション低減設定の適用

インストール

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

$npx skills add https://github.com/blockmatic/basilic-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バージョンとリファレンス情報

コメント