本文へ移動
cccskills
無料GitHub で公開

animation-principles

ディズニーの12原則とジブリ的自然運動をベースに、UIアニメーションの「なぜ動かすか」「どう動かすか」を判断する。アニメーション/モーション/トランジション設計の相談で、ツール非依存の概念的判断軸として使う。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md9.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Animation Principles Skill

参照

発火条件

  • アニメーション/モーション/トランジションの設計・レビューで「なぜこの動きなのか」の判断が必要な場合に適用する。
  • 特定ツール(GSAP/CSS/Framer Motion等)に依存しない、概念的な判断軸として使う。
  • creative-coder スキルと併用されることが多い(本スキルが「原則」、creative-coderが「実装制約」を担当)。

このSkillの基本方針

  • 原則: アニメーションは「情報を伝える手段」であり、装飾ではない。
  • 判断基準: 「この動きを取り除いても情報は伝わるか?」→ Yesなら装飾的、Noなら機能的。
  • 自然さ: 物理法則(重力/慣性/摩擦)に基づく動きが人間にとって自然に感じる。
  • 余白: ジブリ的「間(ま)」— 動きの前後にタメと余韻を持たせる。
  • アクセシビリティ: prefers-reduced-motion を常に尊重する(WCAG 2.1 SC 2.3.3)。
  • 静止の焦点アンカー: 動く要素だけを焦点にしない。静止した焦点物で視線を固定し、動きは周縁に落とす(酔い防止。「動かすなら、留まれる場所も用意する」)。

設計着手時の基本姿勢:アニメーション前提で設計する(motion-first)

「最初からアニメーションありきで設計する」ための着手姿勢。動きを“後から足す装飾”にせず、設計の初手から第一級の入力として扱う。

  • なぜ: 静的な見た目を先に固めてから動きを「足す」と、動きは装飾になりやすく、情報伝達・レイアウト・状態と一体化しない。最初から「どう現れ、どう反応し、どう消えるか」を前提に組むと、レイアウト・状態・余白が動きを受け止める形で設計され、結果が自然で「生きている」感覚になる。
  • どう効かせるか:
    • 静的モック/UI骨格を起こす段階で、各要素に**「登場・反応・退場」を1行で添える**(「動きは後で」にしない)。
    • 状態(hover/active/focus/loading/empty/error)は静止画の集合ではなく、状態“間”の遷移込みで見た目と同時に設計する。
    • 物理を先に言語化してからイージングを選ぶ: 「ここで何が物理的に起きるか(落ちる/弾む/慣性/タメと余韻)」→ そのあとに duration/easing へ翻訳する(数値・イージング名から入らない)。
    • reduced-motion 代替もこの段階で同時に決める(後手にしない。prefers-reduced-motion は常に尊重)。
  • 誤解しないこと(motion-first ≠ 動きを増やす): 「最初から考える」と「たくさん動かす」は別物。下記の「重要な瞬間だけ動かす(メリハリ)」原則は維持する。

デザインシステムのモーション原則

Material Design の3原則

  • Informative(情報的): 要素間の関係、アクションの可用性、結果を動きで明確化する。
  • Focused(集中的): 本質的な情報を示し、不要な気晴らしを避ける。動きは注意を導くもの。
  • Expressive(表現的): ユーザージャーニーの瞬間を祝福し、ブランドスタイルを表現する。

Apple HIG のモーション原則

  • 意図的なアニメーション: ユーザーをオリエンテーションし、フィードバックを提供し、学習を支援する。
  • 頻繁な操作に不要な動きを追加しない: 標準UIは既に微細なアニメーションを持つ。
  • 一貫性: カスタムアニメーションはiOS/macOSのビルトインアニメーションと同等であるべき。

12原則のUI適用ガイド

1. Squash & Stretch(つぶしと伸ばし)

  • UI適用: ボタンのタップフィードバック、モーダルの出現/消失でスケール変化を付ける。
  • 注意: 過度な変形は不自然。微細(5-10%)で十分。

2. Anticipation(予備動作)

  • UI適用: アクション前の小さな引き(ボタンが微妙に沈む → 確定動作)。
  • 目的: ユーザーに「何かが起こる」と予告する。

3. Staging(演出)

  • UI適用: 重要な要素を目立たせ、他を抑える。フォーカス管理、視線誘導。
  • 目的: 一度に伝える情報を1つに絞る。

4. Straight Ahead / Pose to Pose(逐次描き / 原画間)

  • UI適用: 逐次 = パーティクル等のリアルタイム生成。原画間 = キーフレームベースのトランジション。
  • 判断: 制御が必要ならPose to Pose、偶然性が欲しいならStraight Ahead。

5. Follow Through / Overlapping Action(残し / 重なり)

  • UI適用: メニュー展開時に各項目が少しずつ遅れて追従する(stagger)。
  • 目的: 動きに有機的なリズムを作る。

6. Slow In / Slow Out(緩急)

  • UI適用: イージング。等速(linear)は機械的。ease-out(減速)が自然な終わり方。
  • 原則: 開始と終了を緩やかに、中間を速くする。

7. Arc(弧を描く動き)

  • UI適用: 直線移動より弧を描く方が自然。ドラッグ&ドロップ、画面遷移のパス。
  • 注意: UIでは微妙な弧で十分。過度な曲線は違和感。

8. Secondary Action(副次動作)

  • UI適用: メインアクション(モーダル出現)に添える微細な効果(背景のブラー変化)。
  • 原則: 副次はメインを補強する。目立ちすぎてはいけない。

9. Timing(タイミング)

  • UI適用: duration(持続時間)の選択。短すぎると見えない、長すぎるとストレス。
  • 目安: マイクロインタラクション 100-200ms、画面遷移 200-500ms、アテンション 300-700ms。

10. Exaggeration(誇張)

  • UI適用: 重要な状態変化を強調する(エラー時の振動、成功時の弾み)。
  • 注意: UIでの誇張は控えめに。10-20%の「ちょっと大げさ」が心地よい。

11. Solid Drawing(立体的表現)

  • UI適用: シャドウ、奥行き、Z軸の意識。Material Designの「高さ(elevation)」に相当。
  • 目的: 空間関係を明示する。

12. Appeal(魅力)

  • UI適用: ブランドトーンに合った「らしさ」。遊び心のある微細なモーション。
  • 原則: 機能を犠牲にしない範囲でキャラクターを出す。

ジブリ的アニメーションアプローチ

  • 重力表現: 物が落ちる時の加速、跳ねる時の減速を物理的に正しく。
  • 自然な動き: 風に揺れる、水が流れるなど、環境要因による微細な動き。
  • 間(ま): 動きの前後に「タメ」と「余韻」を持たせる。即座に始まり即座に終わる動きは機械的。
  • 「生きている」感覚: 静止状態でも微細な揺れや呼吸を入れる(idle animation)。

出力フォーマット(必ずこの順)

  1. 推奨方針(1〜3行)
  2. 適用する原則(12原則のどれか + ジブリ的要素があれば)
  3. 理由(なぜこの動きが必要か / 情報伝達における役割)
  4. 設計案(duration / easing / stagger / 副次動作)
  5. アクセシビリティ(reduced-motion時の代替)
  6. 落とし穴(避けるべき)

チェックリスト

  • 設計の初手で「登場・反応・退場」と状態遷移を言語化したか(後付けの装飾になっていないか/motion-first)
  • この動きは「情報伝達」に寄与しているか(装飾的なだけではないか)
  • durationは適切か(マイクロ: 100-200ms、遷移: 200-500ms)
  • イージングはlinear以外を選んでいるか(ease-outが自然な終わり方)
  • prefers-reduced-motion で代替表現(dissolve/highlight fade/色変化等)を提供しているか(WCAG 2.3.3)
  • アニメーションの目的を1文で説明できるか(Informative/Focused/Expressiveのどれか)
  • 誇張の度合いは適切か(UIでは控えめが原則)

よくある落とし穴

  • 装飾的アニメーションの過剰(動きが多すぎてユーザーが疲れる)
  • duration選択のミス(速すぎて認識できない / 遅すぎてストレス)
  • linear easingの多用(機械的で不自然に感じる)
  • prefers-reduced-motion の無視(前庭障害を持つユーザーに苦痛を与える)
  • 原則の過剰適用(12原則すべてを1つのUIに詰め込む必要はない)
  • ジブリ的「間」の過剰(ウェブUIでは長い余韻はストレスになりうる)
  • ブランドトーンとの不一致(遊び心がフォーマルなアプリに合わない等)

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

accessibility-engineer

無料日本語概要

セマンティックHTML/JSXとWAI-ARIAを「最小で正しく」適用し、キーボード操作・スクリーンリーダ・コントラスト等を満たす実装を作るための判断軸。ネイティブ要素優先、ARIAの過剰使用を避ける。

mae616/ai-template92026年10月6日 更新

agent-browser

無料日本語概要

Agent Browser(Headlessブラウザ自動化CLI)を使ったUI検証・E2Eテスト・スクリーンショット取得の判断軸。アクセシビリティツリーベースの要素選択を優先し、壊れにくいテスト設計を目指す。

mae616/ai-template92026年10月6日 更新

architecture-expert

無料日本語概要

アーキテクチャ設計(境界/依存/データフロー/非機能/運用)を、制約とトレードオフで言語化し、ADR-liteで合意形成しながら段階的に形にする。doc/input/rdd.md にアーキテクチャ/非機能/運用の要求がある、または設計判断(分割/責務/インタフェース/データ整合/観測性/スケール)相談で使う。

mae616/ai-template92026年10月6日 更新

biz-researcher

無料日本語概要

事業仮説を支える一次/二次情報を整理し、意思決定に足る「根拠」「不確実性」「次の調査」を可視化する。でたらめな引用や推測の断言を避け、出典の実在を重視する。

mae616/ai-template92026年10月6日 更新

creative-coder

無料日本語概要

体験品質(動き/触感/視線誘導)を「実装可能な制約」に落とし、アクセシビリティとパフォーマンスを犠牲にせずに表現を実現する。UIの表現・アニメーション・インタラクション設計/実装の相談で使う。

mae616/ai-template92026年10月6日 更新

developer-specialist

無料日本語概要

設計と実装を「最小で正確」に進め、差分思考で品質と速度を両立する。設計の溶け込み(責務不明/重複/暫定対応)を防ぎ、レビュー可能な変更へ落とし込むときに使う。

mae616/ai-template92026年10月6日 更新

mae616 のスキルをすべて見る

このスキルの問題を報告する