Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    neversight

    animejs

    neversight/animejs
    Coding
    2
    2 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Comprehensive skill for Anime.js v4 - a fast and flexible JavaScript animation library...

    SKILL.md

    Anime.js v4 Skill

    Anime.js is a lightweight JavaScript animation library with a simple yet powerful API. It works with CSS properties, SVG, DOM attributes, and JavaScript Objects.

    Installation

    NPM

    npm install animejs
    

    ES Modules Import

    import { animate } from 'animejs';
    

    CDN (ES Modules)

    import { animate } from 'https://esm.sh/animejs';
    

    CDN (UMD)

    <script src="https://cdn.jsdelivr.net/npm/animejs/dist/bundles/anime.umd.min.js"></script>
    <script>
      const { animate } = anime;
    </script>
    

    Core Concepts

    Anime.js v4 is modular and tree-shakeable. Import only what you need:

    // Full import
    import { animate, createTimeline, stagger, createDraggable } from 'animejs';
    
    // Standalone modules for smaller bundles
    import { animate } from 'animejs/animation';
    import { createTimeline } from 'animejs/timeline';
    import { createTimer } from 'animejs/timer';
    

    Documentation Sitemap

    The complete anime.js v4 documentation structure:

    Getting Started

    • Installation (NPM, CDN, Direct download)
    • Module imports (ES Modules, CommonJS, UMD)
    • Using with vanilla JS
    • Using with React

    Timer (createTimer)

    • Playback Settings: delay, duration, loop, loopDelay, alternate, reversed, autoplay, frameRate, playbackRate
    • Callbacks: onBegin, onComplete, onUpdate, onLoop, onPause, then()
    • Methods: play(), reverse(), pause(), restart(), alternate(), resume(), complete(), reset(), cancel(), revert(), seek(), stretch()
    • Properties: currentTime, progress, paused, completed, etc.

    Animation (animate)

    • Targets: CSS Selector, DOM Elements, JavaScript Objects, Array of targets
    • Animatable Properties: CSS Properties, CSS transforms, CSS Variables, JS Object properties, HTML Attributes, SVG Attributes
    • Tween Value Types: Numerical, Unit conversion, Relative (+=, -=, *=), Color, Color function, CSS variable, Function based
    • Tween Parameters: to, from, delay, duration, ease, composition, modifier
    • Keyframes: Tween values, Tween parameters, Duration based, Percentage based
    • Playback Settings: delay, duration, loop, loopDelay, alternate, reversed, autoplay, frameRate, playbackRate, playbackEase, persist
    • Callbacks: onBegin, onComplete, onBeforeUpdate, onUpdate, onRender, onLoop, onPause, then()
    • Methods: play(), reverse(), pause(), restart(), alternate(), resume(), complete(), cancel(), revert(), reset(), seek(), stretch(), refresh()

    Timeline (createTimeline)

    • Add timers, Add animations, Sync WAAPI animations, Sync timelines, Call functions
    • Time Position: Absolute (ms), Relative (<, >, +=, -=), Labels
    • Playback Settings: defaults, delay, loop, loopDelay, alternate, reversed, autoplay, frameRate, playbackRate, playbackEase
    • Callbacks: onBegin, onComplete, onBeforeUpdate, onUpdate, onRender, onLoop, onPause, then()
    • Methods: add(), set(), sync(), label(), remove(), call(), init(), play(), reset(), reverse(), pause(), restart(), alternate(), resume(), complete(), cancel(), revert(), seek(), stretch(), refresh()

    Animatable (createAnimatable)

    • Settings: unit, duration, ease, modifier
    • Methods: Getters, Setters, revert()

    Draggable (createDraggable)

    • Axes Parameters: x, y, snap, modifier, mapTo
    • Settings: trigger, container, containerPadding, containerFriction, releaseContainerFriction, releaseMass, releaseStiffness, releaseDamping, velocityMultiplier, minVelocity, maxVelocity, releaseEase, dragSpeed, dragThreshold, scrollThreshold, scrollSpeed, cursor
    • Callbacks: onGrab, onDrag, onUpdate, onRelease, onSnap, onSettle, onResize, onAfterResize
    • Methods: disable(), enable(), setX(), setY(), animateInView(), scrollInView(), stop(), reset(), revert(), refresh()

    Layout (createLayout) - NEW

    • Usage: Specifying a root, CSS display animation, Staggered layout, DOM order animation, Enter/Exit layout animation, Swap parent animation, Modal dialog animation
    • Settings: children, delay, duration, ease, properties
    • States: enterFrom, leaveTo, swapAt
    • Methods: record(), animate(), update(), revert()
    • Layout id attribute, Callbacks, Properties, Common gotchas

    Scope (createScope)

    • Add constructor function, Register method function
    • Parameters: root, defaults, mediaQueries
    • Methods: add(), addOnce(), keepTime(), revert(), refresh()

    Events / Scroll (onScroll)

    • Settings: container, target, debug, axis, repeat
    • Thresholds: Numeric values, Positions shorthands, Relative position values, Min max
    • Synchronisation Modes: Method names, Playback progress, Smooth scroll, Eased scroll
    • Callbacks: onEnter, onEnterForward, onEnterBackward, onLeave, onLeaveForward, onLeaveBackward, onUpdate, onSyncComplete, onResize
    • Methods: link(), refresh(), revert()

    SVG Utilities

    • morphTo() - SVG shape morphing
    • createDrawable() - SVG line drawing animation
    • createMotionPath() - Motion path animation

    Text Utilities (splitText)

    • Settings: lines, words, chars, debug, includeSpaces, accessible
    • Split Parameters: class, wrap, clone
    • HTML template support
    • Methods: addEffect(), revert(), refresh()

    Utilities

    • stagger() - Time/values/timeline staggering with grid support
    • $() - Query selector utility
    • get() / set() - Get/set CSS property values
    • cleanInlineStyles() - Remove inline styles
    • remove() - Remove animations from targets
    • sync() - Synchronize animations
    • keepTime() - Time keeper utility
    • random() / createSeededRandom() / randomPick() / shuffle() - Random utilities
    • round() / clamp() / snap() / wrap() - Math utilities
    • mapRange() / lerp() / damp() - Interpolation utilities
    • roundPad() / padStart() / padEnd() - String padding
    • degToRad() / radToDeg() - Angle conversion
    • Chain-able utilities

    Easings

    • Built-in: linear, easeIn, easeOut, easeInOut (with Quad, Cubic, Quart, Quint, Sine, Expo, Circ, Back, Elastic, Bounce variants)
    • Custom: Cubic Bezier, Linear (multi-point), Steps, Irregular
    • Spring: createSpring({ stiffness, damping, mass, velocity })

    WAAPI (Web Animation API)

    • When to use WAAPI vs JS animation
    • Hardware-accelerated animations
    • Improvements to native WAAPI
    • API differences (iterations, direction, easing, finished)
    • waapi.convertEase()

    Engine Configuration

    • Parameters: timeUnit (ms/s), speed, fps, precision, pauseOnDocumentHidden
    • Methods: update(), pause(), resume()
    • Engine defaults

    Quick Reference

    Basic Animation

    import { animate } from 'animejs';
    
    animate('.element', {
      translateX: 250,
      rotate: '1turn',
      duration: 800,
      ease: 'outExpo'
    });
    

    Timeline

    import { createTimeline } from 'animejs';
    
    const tl = createTimeline({ defaults: { duration: 500 } });
    tl.add('.box1', { x: 100 })
      .add('.box2', { x: 100 }, '<')  // Start with previous
      .add('.box3', { x: 100 }, '-=200');  // 200ms before end
    

    Stagger

    import { animate, stagger } from 'animejs';
    
    animate('.item', {
      translateY: [-20, 0],
      opacity: [0, 1],
      delay: stagger(100, { from: 'center' }),
      duration: 600
    });
    

    Scroll Animation

    import { animate, onScroll } from 'animejs';
    
    animate('.element', {
      translateX: [0, 500],
      autoplay: onScroll({
        target: '.element',
        sync: true
      })
    });
    

    SVG Line Drawing

    import { animate, createDrawable } from 'animejs';
    
    animate(createDrawable('path'), {
      draw: ['0 0', '0 1'],
      duration: 2000,
      ease: 'inOutQuad'
    });
    

    Draggable

    import { createDraggable, createSpring } from 'animejs';
    
    createDraggable('.draggable', {
      container: '.container',
      releaseEase: createSpring({ stiffness: 200, damping: 20 })
    });
    

    Function-Based Values

    animate('.element', {
      translateX: (el, i, total) => i * 50,
      rotate: (el, i) => anime.random(-180, 180),
      delay: (el, i) => i * 100
    });
    

    Keyframes

    animate('.element', {
      translateX: [
        { to: 100, duration: 500 },
        { to: 0, duration: 500, delay: 200 }
      ],
      rotate: ['0turn', '1turn', '0turn']
    });
    

    React Integration

    import { useRef, useEffect } from 'react';
    import { animate, createScope } from 'animejs';
    
    function AnimatedComponent() {
      const root = useRef(null);
      const scope = useRef(null);
    
      useEffect(() => {
        scope.current = createScope({ root: root.current }).add(() => {
          animate('.box', { rotate: 360 });
        });
        return () => scope.current.revert();
      }, []);
    
      return (
        <div ref={root}>
          <div className="box" />
        </div>
      );
    }
    

    Bundle Sizes (Minified + Gzipped)

    Module Size
    Full Bundle ~24.5 KB
    Timer ~5.6 KB
    Animation +5.2 KB
    Timeline +0.55 KB
    Animatable +0.4 KB
    Draggable +6.4 KB
    Scroll +4.3 KB
    Scope +0.22 KB
    SVG ~0.35 KB
    Stagger +0.48 KB
    Spring ~0.52 KB
    WAAPI ~3.5 KB

    Additional Resources

    • Official Documentation: https://animejs.com/documentation
    • Easing Editor: https://animejs.com/easing-editor
    • CodePen Examples: https://codepen.io/collection/Poerqa
    • GitHub: https://github.com/juliangarnier/anime

    For detailed API parameters, code examples, and advanced patterns, see the references files:

    • references/api-reference.md - Complete API documentation
    • references/examples.md - Common animation patterns and recipes
    Recommended Servers
    Excalidraw
    Excalidraw
    Svelte
    Svelte
    Astro Docs
    Astro Docs
    Repository
    neversight/skills_feed