dylantarre avatar

Secondary Action Mastery

This teaches you the difference between animation that works and animation that feels alive. The core insight is subordination: secondary actions like a button's ripple effect or a character's arm swing must enrich the primary motion without competing for attention. You get practical amplitude guidelines (10-20% for professional interfaces, 50-60% for games), the crucial distinction between secondary and overlapping action, and the "remove and test" method to validate your choices. What's valuable here is the implementation heuristic at the end: for every primary action, ask what else would be moving, add the single most valuable secondary action, then time it to offset from the primary. It's the kind of framework that stops you from either over-animating everything or leaving interfaces feeling dead.

skills.sh installs
551
GitHub stars
146
last updated
Aug 21, 2026

Install

$ npx -y skills add dylantarre/animation-principles --skill secondary-action-mastery --agent claude-code

Installs into .claude/skills of the current project.

Files

Secondary Action Mastery

The Enrichment Principle

Secondary action adds life to a scene without distracting from the main action. A character walking (primary) while whistling and swinging their arms (secondary). A button pressing (primary) with a subtle ripple effect (secondary). It's the difference between functional animation and rich, immersive motion.

Core Theory

Subordination principle: Secondary action must never compete with primary action. If viewers watch the secondary instead of primary, you've failed. The supporting role must remain supporting.

Reinforcement function: Good secondary action reinforces the primary action's meaning. It doesn't just add motion—it adds dimension to the story being told.

The Distinction: Secondary Action vs. Overlapping Action

These are often confused:

  • Overlapping action: Physical consequence (hair moving because head moved)
  • Secondary action: Independent supporting action (whistling while walking)

Overlapping is reactive; secondary is additive.

Categories of Secondary Action

Sponsors

Details

Repository
github.com/dylantarre/animation-principles
Category
Design & UI/UX
First seen
Jun 3, 2026

More from dylantarre/animation-principles

All 144
1dylantarre avatarexaggerated-claritydylantarre/animation-principlesUse when motion needs to read clearly and powerfully—broad comedy, action highlights, important story beats, or any moment that must unmistakably communicate to546skills.sh installs
2dylantarre avatarcontinuous-loopsdylantarre/animation-principlesUse when creating ongoing animations - loading spinners, pulsing indicators, ambient motion, background effects, or any animation that repeats indefinitely.542skills.sh installs
3dylantarre avataruniversal-patternsdylantarre/animation-principlesUse when creating any animation type - provides foundational timing, easing, and principle application that applies to all motion in interfaces.539skills.sh installs
4dylantarre avatarcontinuous-infinitedylantarre/animation-principlesUse when building ongoing loop animations - loading states, ambient motion, background effects that run indefinitely without user fatigue535skills.sh installs
5dylantarre avatarproblem-diagnosisdylantarre/animation-principlesUse when animation "feels wrong" but you can't pinpoint why—debugging floaty movement, stiff characters, unclear action, or any motion that isn't working and ne534skills.sh installs
6dylantarre avatarslow-800-1200msdylantarre/animation-principlesUse when building deliberate motion between 800-1200ms - dramatic reveals, loading sequences, storytelling moments where users should pause and absorb520skills.sh installs