
Scroll Animations
- 732 installs
- 68 repo stars
- Updated December 30, 2025
- dylantarre/animation-principles
Scroll Animations is a frontend skill that generates production-ready scroll-triggered animation code following Disney's 12 animation principles for developers who need reveal effects, parallax, sticky headers, or scroll
About
Scroll Animations is a skill from dylantarre/animation-principles that applies Disney's 12 principles to scroll-triggered UI motion. It guides agents to stage reveals in reading order, define hidden and revealed poses interpolated by scroll position, and start anticipation animations at 10-20% element visibility. Developers reach for Scroll Animations when building parallax sections, sticky headers, progress indicators, or any scroll-linked reveal instead of writing ad hoc Intersection Observer logic. The skill encodes squash-and-stretch, staging, and pose-to-pose patterns so scroll motion feels intentional rather than generic fade-ins.
- Generates scroll-based animations using best-practice principles
- Produces clean, performant code compatible with modern web frameworks
- Reduces animation implementation time while maintaining visual polish
- Enforces consistent motion design standards across UI components
Scroll Animations by the numbers
- 732 all-time installs (skills.sh)
- Ranked #497 of 1,880 Design & UI/UX 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 scroll-animationsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 732 |
|---|---|
| repo stars | ★ 68 |
| Last updated | December 30, 2025 |
| Repository | dylantarre/animation-principles ↗ |
How do you build scroll-triggered animations with motion principles?
Generate production-ready scroll-triggered animation code that follows established animation principles.
Who is it for?
Frontend developers implementing scroll-linked motion who want principle-driven reveals instead of generic CSS fade utilities.
Skip if: Developers building non-scroll timelines, game loops, or Lottie-only animations with no scroll position coupling.
When should I use this skill?
The developer asks for scroll-triggered reveals, parallax, sticky headers, progress bars, or scroll-linked motion on a web page.
What you get
Production-ready scroll animation code with staged reveals, parallax layers, sticky headers, and progress indicators.
- scroll-triggered animation code
- parallax and reveal implementations
By the numbers
- Applies Disney's 12 animation principles to scroll-triggered motion
- Starts anticipation animations at 10-20% element visibility
Files
Scroll Animations
Apply Disney's 12 principles to scroll-triggered motion.
Principle Application
Squash & Stretch: Elements can compress slightly while scrolling fast, settle when stopped.
Anticipation: Content should be slightly visible before full reveal. Start animations at 10-20% visibility.
Staging: Reveal content in reading order. Top-to-bottom, left-to-right progression.
Straight Ahead vs Pose-to-Pose: Define clear "hidden" and "revealed" poses. Scroll position interpolates between them.
Follow Through & Overlapping: Stagger reveals. First element triggers at 20% viewport, next at 25%, etc.
Slow In/Slow Out: Use ease-out for reveals triggered by scroll. Content settles into place.
Arcs: Parallax elements move on curves relative to scroll. Slight horizontal offset as vertical scroll occurs.
Secondary Action: Fade + slide + scale can combine for richer reveals.
Timing:
- Reveal animation: 400-600ms (allows scroll to continue)
- Parallax: real-time, 1:1 or fractional ratios
- Sticky transitions: 200-300ms
Exaggeration: Subtle for scroll - users control the pace. Let scroll speed be the exaggeration.
Solid Drawing: Elements should never jump or teleport. Smooth interpolation at all scroll positions.
Appeal: Scroll animations should reward exploration, not obstruct it.
Timing Recommendations
| Scroll Animation | Duration | Trigger Point | Easing |
|---|---|---|---|
| Fade In | 500ms | 20% visible | ease-out |
| Slide Up | 600ms | 15% visible | ease-out |
| Parallax | real-time | continuous | linear |
| Sticky Header | 200ms | threshold | ease-out |
| Progress Bar | real-time | continuous | linear |
| Section Reveal | 600ms | 25% visible | ease-out |
Implementation Patterns
/* Scroll-triggered reveal */
.reveal {
opacity: 0;
transform: translateY(30px);
transition: opacity 500ms ease-out, transform 600ms ease-out;
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
/* CSS-only parallax */
.parallax-container {
perspective: 1px;
overflow-y: auto;
}
.parallax-slow {
transform: translateZ(-1px) scale(2);
}Intersection Observer Pattern
const observer = new IntersectionObserver(
(entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
}
});
},
{ threshold: 0.2, rootMargin: '0px 0px -10% 0px' }
);
document.querySelectorAll('.reveal').forEach(el => observer.observe(el));Scroll-Linked Animation (CSS)
@keyframes reveal {
from { opacity: 0; transform: translateY(30px); }
to { opacity: 1; transform: translateY(0); }
}
.scroll-reveal {
animation: reveal linear both;
animation-timeline: view();
animation-range: entry 0% entry 50%;
}Key Rules
1. Never block scroll or hijack scroll behavior 2. Animations should complete within viewport, not require precise scroll position 3. Trigger early (10-20% visible) so animation completes before full view 4. Provide prefers-reduced-motion alternative - instant reveals, no parallax 5. Test on mobile - scroll animations must be smooth at 60fps
Related skills
How it compares
Pick Scroll Animations over generic CSS animation snippets when scroll position should drive staged, principle-based motion rather than one-off fades.
FAQ
What animation principles does Scroll Animations apply?
Scroll Animations maps Disney's 12 principles—such as squash and stretch, anticipation, staging, and pose-to-pose—to scroll-triggered web motion. Reveals follow reading order and anticipation begins around 10-20% element visibility.
When should I use the Scroll Animations skill?
Scroll Animations fits scroll-linked UI work: reveal effects on scroll, parallax layers, sticky headers, and progress indicators. Skip it for isolated click or hover animations that do not depend on scroll position.