to-spring-or-not-to-spring

Audit animation code for correct timing function selection and output file:line findings.

3|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/langgenius/due-date-hq-jwl --skill to-spring-or-not-to-spring-langgenius
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: to-spring-or-not-to-spring
Source: https://github.com/langgenius/due-date-hq-jwl/tree/main/.claude/skills/to-spring-or-not-to-spring
Command: npx skills add https://github.com/langgenius/due-date-hq-jwl --skill to-spring-or-not-to-spring-langgenius

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Animation code often uses the wrong timing function for the interaction type, producing motion that feels sluggish, mechanical, or restless. This Skill reviews your animation implementations against a rule set covering springs, easing curves, durations, and no-animation cases, then reports each violation with its exact file and line number. ## Core Features & Use Cases - Spring vs. easing decision framework: Classifies motion as user-driven (springs), system-driven (easing), time representation (linear), or high-frequency (no animation) and flags mismatches. - Rule-based audit: Checks 15 rules across four categories, including gesture springs, entrance ease-out, exit ease-in, 300ms duration caps, and keyboard navigation without animation. - Structured findings output: Reports violations in file:line - [rule-id] description format plus a severity summary table. - Use Case: A developer's drag-to-dismiss drawer feels wrong on release. Run the audit on the component and get a finding like components/drawer/index.tsx:45 - [spring-for-gestures] Drag interaction using easing instead of spring, with the correct spring parameters to apply. ## Quick Start Review the animation code in my components directory and report any timing function violations with file and line numbers.

Frequently Asked Questions about to-spring-or-not-to-spring

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between spring and easing animations?

Use springs for user-driven motion like drags and flicks because they survive interruption and preserve velocity. Use easing for system-driven state changes because they have clear start and end points with predictable timing.

How to audit animation code for wrong timing functions?

Point the audit at your component files and it checks each animation against 15 rules covering spring selection, easing direction, duration limits, and no-animation cases. Findings are reported in file:line format with rule IDs and a severity summary.

What easing should modal enter and exit animations use?

Modal entrances should use ease-out so they arrive fast and settle gently, while exits should use ease-in to build momentum before departure. Page or view transitions use ease-in-out for neutral attention.

When should UI interactions have no animation at all?

High-frequency interactions like typing feedback, keyboard navigation, and context menu entrances should skip animation entirely. Animating these adds noise and makes the interface feel slower than instant feedback.

Why does my animation feel slow even with a sharp easing curve?

Slowness is usually a duration problem, not a curve problem. Shorten the duration first, keeping user-initiated animations under 300ms, before adjusting the easing curve.