agentleFS
RuneStone-TechRuneStone-Tech/optimize-anything/skills/motion/animejs/SKILL.md

animejs

Skill1 starsChanged 8 days agoMITView on GitHub

Audit how a codebase uses anime.js, report what is wasted or broken, agree a plan, then fix. anime.js drives its own animation loop, so the classic failures are: imperative anime() calls in framework components that never stop on unmount, v3-style code pasted into a v4 install (or vice versa), heavy update handlers running per frame, and using the library for one-shots CSS could handle. Report first, plan approved, then edit. Read the init/animation files the leads point to. Load references…

20 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use waapi, lottie and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • anton-abyzovSkill

    waapi

    Web Animations API adapter patterns for HyperFrames. Use when authoring element.animate() motion, Animation currentTime seeking, document.getAnimations(), KeyframeEffect timing, fill modes, or native browser animations that must render deterministically in HyperFrames.

    Also in 5 projects that use this

  • soilmassSkill

    lottie

    Lottie animation format specification and usage. Use when exporting animations as Lottie JSON, working with dotLottie packages, or understanding Lottie capabilities and limitations. References LAC Lottie Spec v1.0 and dotLottie v2.0.

    Also in 6 projects that use this

  • anton-abyzovSkill

    three

    Three.js and WebGL adapter patterns for HyperFrames. Use when creating deterministic Three.js scenes, WebGL canvas layers, AnimationMixer timelines, camera motion, shader-driven visuals, or canvas renders that respond to HyperFrames hf-seek events.

    Also in 5 projects that use this

  • FldicoahkiinSkill

    contribute-catalog

    Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.

    Also in 3 projects that use this

  • software-mansion-labsSkill

    typegpu

    TypeGPU is type-safe WebGPU in TypeScript. Use whenever the user writes, debugs, or designs TypeGPU code: 'use gpu' shader functions, tgpu.fn, buffers, textures, bind groups, compute and render pipelines, command encoders, render passes, render bundles, vertex layouts, slots, accessors, @typegpu/react hooks (useRoot, useFrame, useUniform), React Native worklet rendering, and any TypeGPU API. Shader logic and CPU-side resources are tightly coupled - handle both sides here even if the user only mentions one (e.g. "how do I write a shader", "how do I create a buffer"). Trigger on any mention of typegpu, tgpu, "use gpu", TypedGPU, or WebGPU code written using TypeGPU's schema API (d.*, tgpu.*, std.*). Do NOT trigger for raw WebGPU (using GPUDevice/GPURenderPipeline directly without tgpu), WGSL-only questions, Three.js, Babylon.js, or WebGL.

    Also in 3 projects that use this

  • LangChainSkill

    remotion-to-hyperframes

    Port an existing Remotion (React) composition''s source to HyperFrames HTML. Use ONLY on an explicit ask to port/convert/migrate/translate a Remotion source — one-way, Remotion-only. A passing Remotion mention, reference-only code, or "make something like my Remotion video" is a fresh build (/general-video). Unclear → /hyperframes.

    Also in 5 projects that use this

  • +2 more from anton-abyzov

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 20 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run python <skill-dir>/scripts/audit.py <project-root> [--json] — detects v3 vs v4 usage style, anime( calls in framework components …

    line 15
  2. Distinctive:

    Read the init/animation files the leads point to.

    line 19

“Common” is measured: kept by at least 6 in 10 of the 20 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

name: animejs-optimizer description: Audit and optimize anime.js usage (v3 API and the v4 rewrite) — v3 vs v4 API drift (targets/onComplete vs createTimeline/stagger/createScope), missing scope cleanup in React/Vue (useEffect-less anime() calls), per-frame callback weight (update/complete closures), timeline composition, SVG animation costs, stagger placements, and needless libraries for animations CSS could do. Report with evidence and a fix plan approved before edits. Use when the user mentions anime.js, anime(), stagger(), createTimeline, createScope, "anime.js doesn't replay/stop", or animations in a React/Vue app keeping running after unmount -- even if they don't say "optimize".

Anime.js Optimizer

Audit how a codebase uses anime.js, report what is wasted or broken, agree a plan, then fix. anime.js drives its own animation loop, so the classic failures are: imperative anime() calls in framework components that never stop on unmount, v3-style code pasted into a v4 install (or vice versa), heavy update handlers running per frame, and using the library for one-shots CSS could handle. Report first, plan approved, then edit.

Workflow

1. Scope (quick)

  • Project root (package.json with animejs; record the major — v3 and v4 have completely different APIs).
  • Run python <skill-dir>/scripts/audit.py <project-root> [--json] — detects v3 vs v4 usage style, anime( calls in framework components without cleanup, per-frame callback weights, timeline usage, distribution/stagger options, and mixed old/new API conflicts in one codebase.

2. Audit

Read the init/animation files the leads point to. Load references as fit:

AreaReference
API surface (v4 core: animate/timeline/stagger/scope; v3 shape)references/api-versions.md
Framework lifecycle and cleanup: React/Vue patternsreferences/lifecycle.md
Per-frame cost, callbacks, SVG, what CSS could replacereferences/perf-a11y.md

Runtime checks the script can't do: does the animation continue after the component unmounts (dev: navigate away and listen), does the timeline replay correctly, is easing/duration hydrated from CSS or JS timers.

Mark findings Confirmed or Suspected.

3. Report

Fill in assets/report-template.md, save as ANIMEJS_REPORT.md in the project root. Group: version drift, lifecycle, per-frame cost, scope decisions.

4. Plan — stop for approval

  1. Quick wins — remove/merge duplicate anime() calls, fix v3-on-v4 mismatches, kill update handlers that do nothing.
  2. Structural — move into lifecycle-managed scopes (v4 createScope or useEffect + animation.control()/.remove()-style cleanup), extract timelines, hoist shared eased configs, replace one-shot animations with CSS where reasonable.
  3. Optional — v3→v4 migration plan (its own item; behavior deltas exist), removing anime.js for static reveals. Per step: files, expected effect, verification, rollback. Let the user drop or reorder.

5. Fix

Approved items only. Anime edits change visible motion: verify each group by exercising the page (mount/unmount, replay, interruption mid-animation).

6. Verify and wrap up

  • Unmount tests: navigate routes away and confirm no orphaned RAF.
  • Reduced-motion emulation where applicable; on-replay check for JS-triggered animations.
  • Report deltas honestly; deferred items + next step.

Principles

  • One loop, one owner. Imperative animations belong to a component lifecycle; anything created outside one must be explicitly removed in cleanup.
  • v3 and v4 are different libraries. The anime({targets,...}) object API does not run on v4; spot mixed codebases early (the script flags version drift).
  • Per-frame handlers are the frame budget. Anything in update/per-frame callbacks runs 60/s; move work out of the loop.
  • Don't animate what CSS animates. Static entrances with no interruption logic are often cheaper as CSS transitions; keep the library for timelines, orchestration and SVG work.
  • Version decisions are plan items. Upgrading v3→v4 is a rewrite of call sites, never a bundled change.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.