
Disney Animation Rule Skill
- 328 installs
- 987 repo stars
- Updated July 25, 2026
- vibe-motion/skills
Helps with ai & agent building tasks.
About
disney-animation-rule-skill is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- disney-animation-rule-skill
- AI & Agent Building
- AI-coding skill
Disney Animation Rule Skill by the numbers
- 328 all-time installs (skills.sh)
- +45 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #2,209 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vibe-motion/skills --skill disney-animation-rule-skillAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 328 |
|---|---|
| repo stars | ★ 987 |
| Last updated | July 25, 2026 |
| Repository | vibe-motion/skills ↗ |
What it does
Helps with ai & agent building tasks.
Files
Disney Animation Rules for Procedural Animation
Design motion for readable intent, weight, rhythm, and personality. Treat physical simulation and interpolation as inputs, not as the final animation.
Do not force all 12 principles into every shot. Select the smallest set that fixes the perceptual problem.
Workflow
1. Inspect the scene, code, inputs, renderer, and project constraints before changing motion. 2. State the action in one sentence: subject, intention, force, destination, and desired feeling. 3. Identify the primary action and rank all secondary actions beneath it. 4. Block semantic phases and event poses before selecting easing curves. 5. Select relevant principles from references/twelve-principles.md. 6. Define one deterministic state evaluator from frame or time plus explicit inputs. 7. Derive deformation, overlap, accents, and effects from primary motion or semantic events. 8. Tune timing and spacing at representative frames, then review the full motion. 9. Remove effects that hide weak posing, unclear timing, broken contacts, or poor silhouettes.
For detailed engineering patterns, read references/implementation-patterns.md. For the motivating jump comparison, read references/clawd-jump-case-study.md.
Block the Action
Define event poses such as:
- Rest or setup
- Anticipation
- Commitment or launch
- Passing pose
- Apex, hold, or decision point
- Contact or impact
- Overshoot
- Settle or recovery
Adapt the vocabulary to the action. A button press may use rest, press, contact, overshoot, and settle. A camera move may use establish, accelerate, reveal, brake, and settle.
For each phase, specify:
- Duration or duration ratio
- Position and path
- Velocity at each boundary
- Scale, rotation, and pivot
- Contact constraints
- Silhouette or readability goal
- Secondary-action lag
- Optional accent such as smear, blink, particles, or camera shake
Prefer a phase table or explicit constants over one opaque easing expression.
Build the Motion Hierarchy
Build in this order:
1. Preserve functional constraints, contacts, bounds, and input behavior. 2. Make the primary path and timing readable with the subject rendered as a simple shape. 3. Add pose changes and deformation around force and contact events. 4. Add follow-through and overlap with controlled phase offsets. 5. Add secondary action that reinforces, never competes with, the main action. 6. Add accents only where speed, impact, or clarity justify them.
Make the primary motion work without motion blur, particles, trails, or sound.
Engineer Deterministically
- Compute animation state as
state = f(frameOrTime, inputs, parameters). - Keep evaluation independent of previous renders and render order.
- Preserve fractional frames through interpolation and derivative calculations.
- Seed procedural variation from stable identifiers; never use unseeded randomness during rendering.
- Derive velocity and acceleration analytically or by sampling the pure state function.
- Snapshot interactive inputs at an intentional commitment event when later changes would break the action.
- Keep contact anchors fixed during squash, stretch, recoil, or settle unless sliding is intentional.
- Preserve position and velocity continuity across phase boundaries unless a deliberate hit, cut, or snap requires discontinuity.
- Normalize thresholds and amplitudes by subject size, travel distance, viewport, or scene scale.
- Clamp exaggeration to protect legibility, geometry, and interaction constraints.
For Remotion, make every frame independently calculable because frames may render in parallel and out of order. For browser-based 3D work in environments that prohibit Remotion for 3D, use the project's Puppeteer capture workflow.
Tune by Perception
Judge spacing, not just curves:
- More distance between samples reads as more speed.
- A short preparation followed by a large spacing change reads as force.
- Closely spaced samples near an apex or decision point create emphasis.
- Fast contact followed by compression and recovery creates weight.
- Delayed extremities create flexibility and momentum.
- A clean silhouette creates clarity before detail does.
Use asymmetry deliberately. Equal ascent and descent, identical easing on every channel, and synchronized body parts often read as mechanical.
Review Checklist
- Read the action correctly from a few still frames.
- Confirm anticipation points in the direction of the coming action.
- Confirm the path, orientation, and deformation agree with velocity and force.
- Confirm impact intensity responds to incoming speed or force.
- Confirm secondary action starts later and settles later than the primary action.
- Confirm holds are intentional and do not freeze every channel.
- Confirm responsive layouts preserve the same action logic at different scales and endpoints.
- Confirm no effect compensates for a weak pose or broken transition.
- Confirm each rendered frame is deterministic for identical inputs.
Avoid These Defaults
- Do not use one linear progress value for every property.
- Do not assume a symmetric parabola automatically creates a convincing jump.
- Do not add generic bounce or elastic easing without identifying the force and pivot.
- Do not apply squash and stretch continuously; concentrate it around acceleration and contact.
- Do not let secondary motion lead the primary action.
- Do not preserve physical realism at the cost of readability.
- Do not exaggerate every channel at once.
- Do not introduce stateful frame-to-frame simulation into an out-of-order renderer.
Clawd Jump Case Study
Use this comparison as a diagnostic example, not as a fixed jump recipe.
Stiff Version
The weaker implementation uses:
- Four intro hold frames
- One 24-frame travel phase
- Linear horizontal interpolation
- Linear vertical interpolation plus a symmetric parabolic bump
- Four outro hold frames
- No anticipation, pose change, overlap, impact response, or recovery
The trajectory reaches the correct platform, but every visible property shares one progress value. The motion communicates transport, not intention, effort, mass, or impact.
Improved Version
The stronger implementation separates the action into:
| Phase | Baseline frames | Purpose |
|---|---|---|
| Intro hold | 4 | Establish the starting pose |
| Anticipation | 6 | Compress and reveal intent |
| Anticipation hold | 2 | Make the prepared pose readable |
| Ascent | 10 | Create a fast committed takeoff |
| Hangtime | 20 | Emphasize the apex and destination |
| Descent | 7 | Accelerate into contact |
| Landing squash | 3 | Show impact and weight |
| Recovery | 5 | Restore shape and settle |
It also adds:
- A two-frame squat release and four-frame smear overlay inside ascent
- Quintic Hermite segments to control endpoint velocities
- Arc-length-aware remapping for continuous exit speed
- A short apex lift and deliberate hangtime
- Velocity-aligned stretch
- Takeoff smear gated by speed
- Arm motion derived from jump phase and position
- Delayed arm reversal during descent
- Landing squash driven by incoming speed
- Adaptive clearance based on endpoints, viewport, and subject size
- Input updates before commitment, followed by trajectory locking
Principles Demonstrated
- Squash and stretch: anticipation and landing compression
- Anticipation: crouch and arm preparation before launch
- Staging: readable phase contrast and apex emphasis
- Pose to pose: explicit launch, apex, contact, and recovery events
- Follow through and overlap: arm lag through direction changes
- Slow in and slow out: controlled boundary velocities and accelerated descent
- Arcs: curved travel with continuous tangent behavior
- Secondary action: arms and smear reinforce the jump
- Timing: asymmetric phase durations create effort and weight
- Exaggeration: hangtime, smear, and compression clarify the action
- Solid drawing: bottom-origin scaling preserves platform contact
- Appeal: the same simple shape gains intention and personality
General Lessons
1. Replace a single progress curve with semantic phases. 2. Make spacing and pose carry the action before adding effects. 3. Derive visual response from motion signals and events. 4. Use asymmetry to communicate force, gravity, thought, and material. 5. Preserve interaction rules by choosing an explicit commitment point. 6. Scale thresholds and amplitudes to the scene instead of hardcoding pixels.
Procedural Animation Implementation Patterns
Contents
- Pure state evaluation
- Semantic timeline
- Boundary continuity
- Motion-derived signals
- Follow-through without stateful simulation
- Contact-aware deformation
- Responsive actions
- Rendering strategy
- Tuning order
Pure State Evaluation
Define one source of truth:
function getStateAtTime({ time, inputs, params }) {
const phase = getPhase(time, params.timeline);
const primary = getPrimaryMotion({ time, phase, inputs, params });
const velocity = sampleVelocity(getPrimaryMotion, time, inputs, params);
const pose = getPose({ time, phase, primary, velocity, params });
const secondary = getSecondaryMotion({ time, phase, primary, velocity, params });
return { primary, pose, secondary };
}Keep DOM, React, canvas, SVG, or 3D rendering as a projection of this state.
Semantic Timeline
Represent phases explicitly:
const timeline = [
{ name: "anticipation", duration: 0.16 },
{ name: "commit", duration: 0.07 },
{ name: "travel", duration: 0.42 },
{ name: "impact", duration: 0.08 },
{ name: "settle", duration: 0.18 },
];Return local phase progress, global progress, start time, and end time. Keep events such as launch and contact addressable by name.
Boundary Continuity
- Use Hermite interpolation when endpoint position and velocity both matter.
- Use arc-length remapping when a curved path needs controlled speed.
- Match velocity at connected phase boundaries.
- Introduce discontinuity only for a purposeful hit, snap, cut, teleport, or collision response.
Motion-Derived Signals
Sample a pure trajectory around the current time:
const before = getPrimaryAt(time - dt);
const after = getPrimaryAt(time + dt);
const vx = (after.x - before.x) / (2 * dt);
const vy = (after.y - before.y) / (2 * dt);
const speed = Math.hypot(vx, vy);
const direction = Math.atan2(vy, vx);Use these signals to drive:
- Stretch along travel direction
- Cross-axis squash
- Smear visibility and length
- Cloth, hair, ear, tail, or antenna lag
- Impact compression from incoming speed
- Particle amount or camera shake from force
Normalize speed and force by subject size or scene scale before mapping them to visual intensity.
Follow-Through Without Stateful Simulation
- Sample the primary state at
time - delayfor simple lag. - Use different delays and amplitudes down a hierarchy.
- Use a closed-form damped oscillator for recoil or settle.
- Seed any noise from stable IDs and evaluate it directly from time.
- Avoid accumulating velocity or position from the previous rendered frame.
Contact-Aware Deformation
Apply transforms around a meaningful pivot:
- Ground contact: bottom or foot support point
- Button press: pressed surface
- Hanging object: attachment point
- Arm swing: shoulder or joint pivot
- Camera recoil: intended optical or rig pivot
Recompute visual position after scale changes so the contact anchor does not drift.
Responsive Actions
- Express distances and thresholds relative to viewport, subject size, or travel distance.
- Recompute valid paths while the action is still preparing.
- Snapshot source and target at the commitment event.
- Keep the committed trajectory stable through travel and contact.
- Adapt arc height, clearance, and exaggeration to available space.
Rendering Strategy
- Preserve fractional frame values.
- Make each Remotion frame independently calculable.
- Keep subframe-dependent state inside any motion-blur sampling subtree.
- Use Puppeteer capture for browser-based 3D when project rules exclude Remotion.
- Separate animation state from renderer-specific side effects.
Tuning Order
1. Verify contacts and bounds. 2. Tune key poses and silhouette. 3. Tune phase durations and spacing. 4. Tune path and orientation. 5. Tune squash, stretch, overshoot, and settle. 6. Tune overlap and secondary action. 7. Add smear, blur, particles, and camera accents.
The 12 Principles as Procedural Rules
Use this reference to select principles for a motion problem. Apply only the principles that improve intent, clarity, weight, or appeal.
1. Squash and Stretch
- Treat deformation as evidence of force, velocity, softness, or impact.
- Preserve apparent volume unless a graphic style intentionally breaks it.
- Anchor the contact point while deforming around it.
- Drive intensity from speed, acceleration, compression, or impact rather than a constant loop.
2. Anticipation
- Insert a readable preparation opposite or orthogonal to the main action.
- Use anticipation to reveal intent, direction, and force before commitment.
- Keep it proportionate: larger or less expected actions need clearer preparation.
- Avoid adding delay that communicates nothing.
3. Staging
- Make the main idea readable through silhouette, contrast, framing, and timing.
- Allow only one dominant action or visual question at a time.
- Reduce background, camera, and secondary motion during critical poses.
- Test important frames without effects or fine detail.
4. Straight Ahead and Pose to Pose
- Define event poses and constraints first for actions with contacts, targets, or narrative beats.
- Add deterministic procedural variation between or on top of those poses.
- Use straight-ahead generation for fluid detail; use pose-to-pose control for structure.
- Combine both rather than treating them as mutually exclusive.
5. Follow Through and Overlapping Action
- Let flexible, loose, or trailing parts continue after the primary mass changes direction.
- Offset phase, amplitude, and settle time by hierarchy and material.
- Derive lag from the primary motion using delayed sampling or an analytical response.
- Keep overlap subordinate to the main silhouette and contact constraints.
6. Slow In and Slow Out
- Shape spacing to control acceleration and deceleration.
- Reserve abrupt spacing changes for impacts, snaps, cuts, or mechanical intent.
- Match boundary velocities between phases when continuity is expected.
- Avoid applying the same ease preset to every channel.
7. Arcs
- Move organic subjects and rotating joints along arcs unless straight motion is intentional.
- Orient the subject or appendage from the path tangent where appropriate.
- Use splines, Hermite curves, or arc-length remapping when speed continuity matters.
- Check that arcs still satisfy contacts, bounds, and the intended silhouette.
8. Secondary Action
- Add a smaller action that strengthens the primary action's meaning or personality.
- Trigger it from a phase, event, or motion signal instead of an unrelated loop.
- Reduce its amplitude near the primary action's critical pose.
- Remove it if it competes for attention.
9. Timing
- Allocate time according to mass, force, thought, material, and emotional intent.
- Use phase ratios, not only total duration.
- Contrast fast and slow sections to create rhythm.
- Tune timing by representative frame spacing before polishing curves.
10. Exaggeration
- Amplify the variable that communicates the idea most clearly: pose, spacing, deformation, hold, arc, or contrast.
- Exaggerate selectively and preserve functional constraints.
- Prefer one strong readable statement over many moderate effects.
- Clamp extremes to avoid geometry failure and visual noise.
11. Solid Drawing
- Preserve believable volume, balance, perspective, pivot placement, and weight distribution.
- Maintain consistent construction while deforming stylized shapes.
- For 2D rigs, define local pivots and parent-child transforms explicitly.
- For 3D, validate center of mass, support, camera perspective, and silhouette.
12. Appeal
- Give the motion a clear attitude, rhythm, shape language, and visual hierarchy.
- Preserve recognizable personality across poses and scales.
- Prefer clean, specific choices over complexity.
- Treat appeal as clarity plus character, not decoration.