emilkowalski-motion について
既存のデザイン成果物に控えめな動きを加えるための後続スキルです。デザイナーや開発者が、コピーやデータ、レイアウトの意図を保ちながら階層や状態を明確にできます。
主な機能
- 01既存成果物を先に確認
- 02UIの目的に合わせて動きを選択
- 03transformとopacityを優先
- 04時間とイージングを統一
- 05視差効果を減らす設定に対応
- 06アニメーション資源をクリーンアップ
活用シーン
- 01完成したページに表示アニメーションを追加
- 02コントロールのホバーや選択状態を明確化
- 03UI状態間の遷移をアニメーション化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nexu-io/ open-design --skill emilkowalski-motionインストール後、Claude Code で/emilkowalski-motionを入力して読み込まれたか確認します。
詳細
Emil Kowalski のモーションフォローアップ
デザイン成果物がすでにある場合に、このスキルを使用します。目的は、モーションのデモにならない範囲で、インターフェースに生き生きとした印象を与えることです。
ワークフロー
- アニメーションを追加する前に、現在の HTML、コンポーネント、または選択されているページ要素を確認します。
- 状態や階層を明確にする、最小限のモーションを選びます。
- 主要コンテンツの表示時の演出
- 重要なコントロールのホバー/アクティブ時のフィードバック
- UI の状態間の切り替え
- ストーリーを伝えるうえで役立つ場合に限り、スクロールに応じた表示
transformとopacityを優先します。top、left、width、heightなどのレイアウトプロパティのアニメーションは避けます。- 成果物全体で一貫したモーション表現を使用します。関連性のないイージング、時間、物理特性を混在させないでください。
- 自動再生またはスクロール連動のモーションには、
prefers-reduced-motionのフォールバックを用意します。 - ユーザーが明示的に再デザインを依頼しない限り、コピー、データ、レイアウトの意図を維持します。
モーションのルール
- UI の標準的な切り替えは、すばやく実用的な印象にします。ほとんどのコントロールでは 140〜220ms を目安にします。
- ページ全体の表示演出には、より長い時間をかけても構いませんが、読書を妨げないようにします。
- ステータスや進行状況を伝える場合を除き、終わりなく繰り返す装飾的なアニメーションは避けます。
- カスタムカーソル、過剰なパーティクル効果、コンテンツの妨げになるモーションは追加しないでください。
- 段階的な表示は、小さなグループに限ります。長いリストを順番に表示すると、インターフェースが遅く感じられます。
実装メモ
- 素の HTML では、CSS キーフレームと小規模な JavaScript オブザーバーで十分です。
- React やフレームワークのコードでは、リポジトリにすでにあるローカルのスタックを使用します。
- GSAP が利用可能で、モーションにシーケンス制御が必要な場合は、
gsap-core、gsap-timeline、またはgsap-scrolltriggerと組み合わせます。 - オブザーバー、タイマー、アニメーションのインスタンスは、必ずクリーンアップします。
コメント
Markdown 対応