Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
dylantarre avatar

Implementation Debugging

  • 317 installs
  • 68 repo stars
  • Updated December 30, 2025
  • dylantarre/animation-principles

Diagnose janky transitions, wrong durations, layout shift during animate, and library-specific bugs when implementing motion in React, CSS, or native UI code.

About

Practical debugging playbook for animation implementation failures: how to reproduce stutter, incorrect timing, z-index clashes, and framework-specific motion bugs, then narrow root cause and patch frontend code confidently.

  • Trace flicker, overlap, and reflow during transitions
  • Compare intended vs actual easing and duration
  • Isolate GPU, layout, and hydration issues
  • Reproduce reduced-motion and breakpoint bugs
  • Fix library config without rewriting whole flows

Implementation Debugging by the numbers

  • 317 all-time installs (skills.sh)
  • Ranked #128 of 596 Debugging skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dylantarre/animation-principles --skill implementation-debugging

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs317
repo stars68
Last updatedDecember 30, 2025
Repositorydylantarre/animation-principles

What it does

Diagnose janky transitions, wrong durations, layout shift during animate, and library-specific bugs when implementing motion in React, CSS, or native UI code.

Files

SKILL.mdMarkdownGitHub ↗

Implementation Debugging

Debug animation issues using Disney's principles as diagnostic framework.

Problem Indicators

  • Animation doesn't play at all
  • Animation plays but looks wrong
  • Works in dev, broken in production
  • Inconsistent across browsers
  • Animation triggers at wrong time
  • Flickering or visual glitches

Diagnosis by Principle

Timing

Issue: Animation timing is off Debug: Check duration values. Verify units (ms vs s). Check if CSS transition is being overridden. Inspect computed styles.

Straight Ahead vs Pose-to-Pose

Issue: Keyframes not hitting Debug: Verify all keyframe percentages. Check for typos in property names. Ensure values are animatable.

Staging

Issue: Animation hidden or clipped Debug: Check z-index, overflow, opacity. Verify element is in viewport. Check for visibility: hidden.

Solid Drawing

Issue: Visual glitches during animation Debug: Look for subpixel rendering issues. Add transform: translateZ(0) for GPU layer. Check for layout thrashing.

Follow Through

Issue: Animation ends abruptly or wrong state Debug: Check animation-fill-mode. Verify end state matches CSS. Check for competing animations.

Common Bugs

SymptomLikely CauseFix
No animationProperty not animatableUse transform instead of changing property directly
Flicker at startNo initial stateSet initial values explicitly
Wrong end stateFill modeAdd forwards to animation
Choppy motionLayout thrashingAnimate only transform/opacity
Works once onlyAnimation not resetRemove and re-add class, or use JS

Quick Fixes

1. Check DevTools Animation panel - See timeline 2. Verify animatable properties - Not all CSS animates 3. Add `animation-fill-mode: forwards` - Keep end state 4. Force GPU layer - will-change: transform 5. Check for `!important` - May override animation

Troubleshooting Checklist

  • [ ] Is animation class/trigger being applied? (DevTools Elements)
  • [ ] Are properties animatable? (display is not, opacity is)
  • [ ] Check computed styles for overrides
  • [ ] Is element visible? (opacity, visibility, display, z-index)
  • [ ] Any JavaScript errors blocking execution?
  • [ ] Check Animation panel in DevTools
  • [ ] Test in incognito (no extensions)
  • [ ] Compare working vs broken environment

Code Pattern

// Debug: Log animation events
element.addEventListener('animationstart', (e) => {
  console.log('Animation started:', e.animationName);
});

element.addEventListener('animationend', (e) => {
  console.log('Animation ended:', e.animationName);
});

// Debug: Check computed animation
const styles = getComputedStyle(element);
console.log('Animation:', styles.animation);
console.log('Transition:', styles.transition);

// Reset animation
element.classList.remove('animate');
void element.offsetWidth; // Trigger reflow
element.classList.add('animate');

DevTools Tips

1. Elements > Styles: Check computed animation values 2. Performance tab: Record and analyze frames 3. Animations panel: Slow down, replay, inspect 4. Console: Log animation events

Related skills

Debuggingfrontendtesting

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.