motion

Motion animation library for JavaScript, React and Vue. Use when creating animations, gestures, layout transitions, scroll-linked effects, or working with motion values and animation controls.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "motion" with this command: npx skills add hairyf/skills/hairyf-skills-motion

Motion is an open-source animation library for JavaScript, React, and Vue. It provides a simple API with first-class support for multiple platforms, a hybrid animation engine combining JavaScript with native browser APIs for 120fps GPU-accelerated animations, and production-ready features including TypeScript support, extensive test suite, tree-shakable builds, and a tiny footprint. Batteries included: gestures, springs, layout transitions, scroll-linked effects, and timelines.

The skill is based on Motion v12.29.2, generated at 2026-02-01.

Core References

TopicDescriptionReference
Motion ComponentsBasic motion components (motion.div, motion.svg, etc.)core-components
Basic Animationanimate prop, initial, while statescore-animation
JavaScript animate()Vanilla animate(), sequences, createScopedAnimatecore-javascript-animate
Vanilla scroll()Imperative scroll() and scrollInfo() for non-Reactcore-vanilla-scroll
motionValueCreate MotionValues without Reactcore-vanilla-motion-value
staggerOrchestrate child delays in variantscore-stagger
frame / cancelFrameMotion's animation loopcore-frameloop
motion/miniMinimal bundle entrycore-motion-mini
VariantsDeclarative animation variants and orchestrationcore-variants
TransitionsAnimation timing, easing, spring physicscore-transitions

Motion Values

TopicDescriptionReference
useMotionValueCreate and use motion values for reactive animationsvalues-motion-value
useSpringSpring-based motion values with physicsvalues-spring
useTransformTransform motion values with functionsvalues-transform
useMotionTemplateCombine motion values into a string (e.g. filter, boxShadow)values-motion-template
useFollowValueMotion value that follows a source with any transitionvalues-follow
useScrollScroll-linked motion values and animationsvalues-scroll
useVelocityAccess velocity of motion valuesvalues-velocity
useTimeTime-based motion valuesvalues-time
useWillChangeGPU layer hint for animating elementsvalues-will-change

Gestures

TopicDescriptionReference
DragDrag gestures with constraints and controlsgestures-drag
PanPan gestures for touch and pointer eventsgestures-pan
Tap & PressTap and press gesture handlersgestures-tap-press
Hover & FocusHover and focus state animationsgestures-hover-focus

Layout Animations

TopicDescriptionReference
AnimatePresenceAnimate components entering and exitinglayout-animate-presence
usePresence / useIsPresentAccess presence state in AnimatePresence childrenlayout-use-presence
usePresenceDataRead AnimatePresence custom prop in descendantslayout-presence-data
LayoutGroupCoordinate layout animations across componentslayout-group
Layout AnimationsAutomatic layout animations with layoutIdlayout-animations
ReorderDrag-to-reorder with layout animationslayout-reorder
useInstantLayoutTransitionBlock layout update for one framelayout-instant-transition
useResetProjectionReset layout projection tree after structural changelayout-reset-projection

Features

TopicDescriptionReference
In ViewuseInView, inView(), usePageInView for viewport/visibilityfeatures-in-view
Resizeresize() observer for window or element sizefeatures-resize
Optimized AppearSSR-friendly appear animations with handofffeatures-optimized-appear
SVG PathpathLength, pathOffset, pathSpacing for path animationsfeatures-svg-path
motion/clientNext.js "use client" and tree-shakable componentsfeatures-react-client

Utils

TopicDescriptionReference
useReducedMotionHooks for reduced motion preferenceutils-reduced-motion
useAnimationFrameFrame-synced callback with Motion's looputils-animation-frame
useCycleCycle through a list of statesutils-cycle
useMotionValueEventSubscribe to motion value eventsutils-motion-value-event
delayFrame-synced delayed executionutils-delay
interpolateMap input range to outpututils-interpolate
useDomEventAttach DOM event listenersutils-dom-event
useInstantTransitionBlock layout animations during updateutils-instant-transition
calcLength / createBox / distanceProjection geometry and distanceutils-path-geometry

Advanced

TopicDescriptionReference
Animation ControlsProgrammatic animation control with useAnimationadvanced-animation-controls
useAnimateImperative animation APIadvanced-use-animate
LazyMotionCode-split animations for better performanceadvanced-lazy-motion
MotionConfigGlobal configuration and reduced motionadvanced-motion-config
Scroll AnimationsScroll-linked animations and parallax effectsadvanced-scroll-animations
transformTemplateCustom transform outputadvanced-transform-template
addScaleCorrectorLayout projection scale correctorsadvanced-scale-corrector

Best Practices

TopicDescriptionReference
Bundle SizeEntry points and optimization strategiesbest-practices-bundle

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

tailwindcss

No summary provided by upstream source.

Repository SourceNeeds Review
-749
hairyf
General

hairy-utils

No summary provided by upstream source.

Repository SourceNeeds Review
-689
hairyf
General

react-use

No summary provided by upstream source.

Repository SourceNeeds Review
-503
hairyf