Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add dylantarre/animation-principles --skill squash-stretch-masterygit clone --depth 1 https://github.com/dylantarre/animation-principlesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dylantarre/animation-principles/squash-stretch-mastery)<a href="https://agentmods.dev/skills/dylantarre/animation-principles/squash-stretch-mastery"><img src="https://agentmods.dev/badge/skills/dylantarre/animation-principles/squash-stretch-mastery/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dylantarre/animation-principles/squash-stretch-mastery"><img src="https://agentmods.dev/badge/skills/dylantarre/animation-principles/squash-stretch-mastery.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00030 | $0.00652 |
| Opus 5 | $0.00015 | $0.00326 |
| Sonnet 5 | $0.00006 | $0.00130 |
| Haiku 4.5 | $0.00003 | $0.00065 |
Grade A, and why
squash-stretch-mastery scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Squash & Stretch Mastery
The Foundation Principle
Squash and stretch is considered the most important of Disney's 12 principles because it solves animation's fundamental problem: making rigid objects feel alive. Developed in the 1930s at Disney, it emerged from observing how real flesh and rubber deform under force while maintaining constant volume.
Core Theory
Volume Preservation: When an object squashes, it must widen. When it stretches, it must narrow. This constraint creates believability—violate it and objects appear to grow or shrink rather than deform.
Force Visualization: Squash and stretch makes invisible forces visible. A ball squashing on impact shows us the floor's resistance. A character stretching mid-leap reveals velocity and momentum.
The Elasticity Spectrum
Not all objects deform equally:
- High elasticity: Rubber balls, cartoon characters, jelly (extreme deformation)
- Medium elasticity: Human faces, cloth, muscle (subtle deformation)
- Low elasticity: Wood, metal, bone (minimal but present micro-deformation)
Even "rigid" objects benefit from 1-2% deformation—it prevents the dead, mechanical feel.
Interaction with Other Principles
Timing amplifies squash/stretch: Fast impacts demand more squash; slow floats need gentle stretch. The deformation amount must match velocity.
Anticipation uses stretch: A character winding up for a jump often stretches slightly before the motion begins.
Follow-through extends it: After landing, the squash ripples through secondary elements (hair, clothing, flesh).
Domain Applications
UI/Motion Design
- Button press: subtle squash (95-98% height) on tap
- List items: stretch slightly when pulled beyond bounds (rubber-band scroll)
- Notifications: squash on arrival, bounce to rest
Character Animation
- Facial expressions: cheeks squash on smile, stretch on surprise
- Walk cycles: torso compresses on contact, extends on passing
- Emotional beats: extreme stretch for shock, squash for dejection
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 66 lines · 30 tokens per session scan A dc6c782999b0
squash-stretch-mastery is a skill published in the GitHub repository dylantarre/animation-principles (81 stars, last pushed 8mo ago), licensed MIT. It adds 30 tokens to every session and 652 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
animsequence
Create and edit AnimSequence keyframes and tracks — add/remove keyframes, set bone tracks, query sequence info, and bake edits (AnimSequenceService). Use when the user asks to create a new animation sequence, add keyframes/tracks, or edit raw animation data. For constraint-aware bone posing, also load…
reversing-unity-il2cpp
Reverse engineer Unity games and apps built with IL2CPP or Mono, using Il2CppDumper, Il2CppInspector, and dnSpy. Use when an APK or IPA contains global-metadata.dat, libil2cpp.so, UnityFramework, or Assembly-CSharp.dll, when jadx shows only UnityPlayerActivity, or when the target is described as a Unity build.
hz-unity-meta-mixed-reality-utility-kit
Meta XR Mixed Reality Utility Kit (MRUK) (com.meta.xr.mrutilitykit) for Unity XR development. Use when working with Scene API data (rooms, walls, floors, furniture), spawning prefabs on scene anchors, placing virtual objects in the real world, world locking to prevent anchor drift, raycasting against room geometry…
hz-unity-meta-movement-sdk-retargeting
Set up and tweak Meta Movement SDK (MSDK) retargeting for a character model. Use this whenever the user wants to retarget a humanoid FBX/prefab for Meta Quest body tracking, generate a retargeting config, or hand-edit the resulting .json (fix known-joint mappings, exclude joints from auto-mapping, rename target…
hz-vr-debug
Debugs Meta Quest and Horizon OS VR/MR applications using the metavr CLI — view logs, capture screenshots, diagnose common issues. Use when troubleshooting crashes, errors, or unexpected behavior on Quest devices.
hz-unity-face-tracking
Drive ARKit-blendshape-rigged head/face models in Unity with the wearer's facial expressions on Meta Quest via Meta Movement SDK (face tracking + A2E). Use when a user has an FBX with the 52 ARKit blendshapes (any prefix, L/R suffixes) and wants it to animate from face tracking on Quest Pro / Quest 3 / Quest 3S.