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

animation-principles

This skill should be used when the user asks to "make this animation feel natural", "fix motion that feels stiff/floaty/cheap", "my animation looks robotic", "choose an easing curve", "how do I use the Graph Editor", "add overshoot or bounce", "Easy Ease isn't enough", "make snappy motion", "pick a duration for this transition", "stagger a list animation", "sync animation to a beat", or "review motion for good timing". It is the tech-agnostic foundation for deciding how something should move.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md8.3 KB
  • README.md0 B
  • references/easing-curves.md5.2 KB
  • references/easing-graph-editor.md9.2 KB
  • references/twelve-principles.md4.4 KB

SKILL.md(原文)

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

Motion Principles

Decide how something should move so it feels right — independent of the tool used to build it. This skill answers timing, easing, spacing, weight, and rhythm. It does not pick a tech stack; it produces concrete numbers (durations, cubic-bezier curves, stagger offsets, spring configs) ready to hand to any implementation.

When to use

  • Motion feels stiff, floaty, mechanical, robotic, or cheap and needs diagnosis.
  • Choosing a clip or transition's duration, easing curve, and stagger offset.
  • Reviewing whether motion respects physics intuition (weight, follow-through, arcs).
  • Synchronizing keyframes to a musical beat or edit accent.

Three pillars — settle these before any number

Every piece of motion should answer three questions before you pick a duration or curve. Skip them and you get technically-correct motion that feels like nothing. These are the shared vocabulary the rest of the collection refers back to.

PillarThe questionWhat it drives
Emotional intentWhat should the viewer feel? (joy, calm, urgency, trust, elegance)Easing, duration, amplitude/overshoot
Visual narrativeWhat's the micro-story? Setup → action → resolutionSequencing, staging, what enters when
Motion craftHow do we make it believable?Physics, secondary motion, arcs, follow-through

Three motion layers — depth, not flatness

Flat motion = only the main thing moves. Believable motion runs three layers at once:

  • Primary — the main action the eye follows (the hero move).
  • Secondary — supporting richness reacting to the primary (a shadow shifting, an icon nudging, a label settling late).
  • Ambient — background life that never demands attention (slow gradient drift, a low-contrast pulse).

The judgment layer (motion-art-direction) calls these Hero / Support / Texture — same three layers, ranked for what earns motion. Primary≈Hero, Secondary≈Support, Ambient≈Texture.

Core principles

Easing is the single biggest lever

Linear motion reads as robotic. Reserve linear for continuous loops (spinners, marquees, infinite scroll) only. Everything an eye perceives as a discrete event needs acceleration.

Match the curve to the action:

  • Enter / appear -> ease-out (fast start, gentle settle). Object arrives with energy and decelerates into place. cubic-bezier(0.16, 1, 0.3, 1).
  • Exit / disappear -> ease-in (gentle start, fast end). Object accelerates away. cubic-bezier(0.7, 0, 0.84, 0).
  • Move / reposition (stays on screen) -> ease-in-out (symmetric). cubic-bezier(0.65, 0, 0.35, 1).
  • Playful / branded -> slight overshoot. cubic-bezier(0.34, 1.56, 0.64, 1) (the 1.56 pushes past 1.0, creating an overshoot-and-settle that reads as "weight").

Rule of thumb: the eye forgives a slow start far less than a slow end. When in doubt, decelerate into rest.

Hand-shaping easing (After Effects). When keyframing by hand rather than supplying a curve, the same principles map to the Graph Editor: shape the Speed Graph so the ends flatten toward zero, and push deceleration influence to 80–90% for a snappy launch and smooth settle. F9 (Easy Ease) is only a 33% symmetric starting point — make it asymmetric. See references/easing-graph-editor.md for Graph Editor reading, handle/influence techniques, and step-by-step overshoot, anticipation, and bounce recipes (including a decaying-bounce expression).

Timing communicates weight and importance

ElementDuration
Micro-interaction (hover, toggle, tap feedback)100-200ms
UI transition (panel, modal, page region)200-400ms
Hero / large element / full-screen400-800ms
Cinematic camera move800-2000ms

Distance and size scale duration. A small icon moving 20px and a full-bleed panel moving 800px should NOT share a duration — the panel needs more time or it looks weightless. A practical scaling: keep perceived velocity roughly constant by adding ~30-50% duration when distance or area roughly doubles. Heavy objects start slowly and overshoot less; light objects snap and may bounce.

Spacing and stagger create rhythm

Never reveal a list, grid, or group all at once — it reads as a single flat event. Stagger each child's start.

  • Lists / sequential items: 40-80ms between items.
  • Dense grids: 20-40ms (more items, less per-item delay, or the tail drags).
  • Cap total reveal at roughly 600-800ms for a group; if count * offset exceeds that, shrink the offset or switch to a distance-based stagger (items further from an origin point start later).
  • Stagger direction should follow the eye: top-to-bottom, or radiating from a focal point.

The 1/3 Rule (two forms, both universal):

  • Distance — no element travels more than ~1/3 of the screen without an intermediate keyframe or a scale/opacity change. Long unbroken slides read as "the template moved," not "something happened."
  • Simultaneity — with 3+ elements, keep no more than ~1/3 in active motion at once. The rest hold or move as ambient. Everything moving together = noise with no focal point.

Anticipation and follow-through sell physical motion

  • Anticipation: a tiny counter-move before the main action (a button dips scale 0.95 before popping, a character crouches before jumping). 60-120ms is enough.
  • Follow-through / overlapping action: trailing parts keep moving after the main body stops (a hero card lands, then its shadow and label settle 40-80ms later). Stagger the settle of attached elements rather than stopping everything on the same frame.
  • Arcs: natural movement curves; pure straight-line translation of an organic object looks mechanical. Add a slight arc to x/y or animate a path.

Beat-sync and rhythm

When motion accompanies audio, land impact keyframes (a hit, a cut, a reveal) on the beat, not between beats. At 120 BPM a beat is 500ms; an eighth-note grid is 250ms. Quantize key moments to that grid. For edits without music, establish a visual pulse (e.g. one major event per ~500-800ms) so the piece breathes consistently.

Spring vs. duration-based motion

Springs (mass / stiffness / damping) self-determine duration and feel more physical for interactive, interruptible motion (drag-release, gestures). Duration+easing is better for choreographed, timeline-locked sequences (video, scroll-tied reveals) where exact sync matters. A snappy default spring: stiffness 300, damping 30, mass 1. See references/easing-curves.md for a full spring table.

Diagnosing common failures

  • Feels stiff/robotic -> using linear or symmetric easing on an enter; switch to ease-out.
  • Feels floaty/sluggish -> duration too long or ease-out too gentle; cut duration 30%, sharpen the curve.
  • Feels cheap/janky -> everything appears at once (no stagger), or all elements share one duration regardless of size.
  • Feels mechanical despite easing -> no anticipation, no follow-through, straight-line paths; add arcs and overlap.

Quick reference

NeedUse
Entercubic-bezier(0.16, 1, 0.3, 1), 300-500ms
Exitcubic-bezier(0.7, 0, 0.84, 0), 200-300ms
Movecubic-bezier(0.65, 0, 0.35, 1), 300-400ms
Branded popcubic-bezier(0.34, 1.56, 0.64, 1), 400-600ms
List stagger40-80ms per item, cap ~700ms total
Loop onlylinear

Reference files

  • references/easing-curves.md — named cubic-bezier library with exact values, spring configs (Framer/react-spring/iOS), and per-element-type duration guidance.
  • references/easing-graph-editor.md — After Effects Graph Editor craft: speed graph vs value graph, easing handles and influence/velocity numbers, and step-by-step snappy, overshoot, anticipation, and bounce recipes.
  • references/twelve-principles.md — all 12 Disney principles, each with a concrete, numeric motion-graphics example.

レビュー

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

同じリポジトリのスキル

概要と使いどころ

This skill should be used when the user asks anything about Adobe After Effects — to "write an After Effects expression", "make a wiggle / loopOut / inertial bounce", "rig a control with a slider / null", "build a MOGRT / Essential Graphics template", "export AE to Lottie or Media Encoder"; OR to "export from After Effects", "export with transparency / an alpha channel", "fix a black background on export", "choose ProRes vs H.264", "which codec / what bitrate for 1080p / 4K", "stop H.264 disappearing from the Render Queue"; OR when "After Effects is slow / laggy / crashing / froze", "RAM preview won't play in real time", "AE is using all my memory / render takes forever", "how do I speed up After Effects"; OR to "organize my After Effects project", "relink missing footage", "fix broken links after moving files", "set a folder structure / naming conventions", "batch rename layers", or "write an ExtendScript / .jsx script". Covers expressions & rigging, export recipes, performance triage, and project hygiene.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "cut to the beat", "fix the pacing", "edit this sequence", "sync cuts to music/BPM", "add a match cut / J-cut / L-cut", "build a speed ramp", or "plan a shot sequence / edit timeline". Covers editing rhythm, transitions, retiming, and translating an edit plan to an NLE or a code timeline (Remotion/AE frames).

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "build a color palette for a motion piece", "make a gradient background", "animate a color transition", "interpolate colors smoothly", "fix muddy/gray gradients", "convert colors to OKLCH", "color-grade a video for mood", "fix washed-out After Effects renders", "gamma shift", "Rec.709 vs sRGB", "colors shifted after rendering", or "match preview to final video". Covers palette construction, gradients, perceptual interpolation (OKLCH/Lab), grading order, and video/render color management.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "animate our logo", "make a logo intro/stinger", "build a brand reveal", "create an app splash animation", "loop a loader logo", "draw on our SVG mark", "morph an icon into the wordmark", or "sync the logo to a sound-logo". Covers web (SVG/Lottie), video, and app-splash delivery.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "direct a motion graphics video", "do creative/art direction for a video", "define a motion language", "set the tone and pacing", "make the animation feel consistent", "decide what to animate (and what not to)", "turn a brief/brand into motion choices", or needs the senior creative judgment that sits above specific techniques (gsap/lottie/shader). Covers motion language, tone & energy, pacing/rhythm, motion hierarchy, restraint, and cross-shot consistency.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "add an animated background", "build a mesh/gradient background", "make an aurora/shader background", "add constellation/particle background", "animated hero background", or "a subtle looping background behind content". Covers CSS mesh gradients, GLSL shader gradients (Three.js), canvas particle constellations, seamless loops, and reduced-motion/performance handling — fully self-contained.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

iart-ai のスキルをすべて見る

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