Animejs
/install animejs
Anime.js for HyperFrames
HyperFrames can seek Anime.js instances through its animejs runtime adapter. The composition owns the animation objects; HyperFrames owns the clock.
Contract
- Create animations or timelines synchronously during composition initialization.
- Set
autoplay: falseso Anime.js does not advance on its own clock. - Register every returned animation or timeline on
window.__hfAnime. - Use finite durations and loop counts.
- Avoid callbacks that mutate DOM based on wall-clock time, network state, or unseeded randomness.
The adapter seeks every registered instance with instance.seek(timeMs), where timeMs is HyperFrames time in milliseconds.
Basic Pattern
\x3Cscript src="https://cdn.jsdelivr.net/npm/[email protected]/lib/anime.iife.min.js">\x3C/script>
\x3Cscript>
const anim = anime({
targets: ".mark",
translateX: 280,
rotate: "1turn",
opacity: [0, 1],
duration: 1200,
easing: "easeOutExpo",
autoplay: false,
});
window.__hfAnime = window.__hfAnime || [];
window.__hfAnime.push(anim);
\x3C/script>
Timeline Pattern
\x3Cscript>
const tl = anime.timeline({
autoplay: false,
easing: "easeOutCubic",
});
tl.add({
targets: ".title",
translateY: [40, 0],
opacity: [0, 1],
duration: 650,
}).add(
{
targets: ".accent",
scaleX: [0, 1],
duration: 450,
},
250,
);
window.__hfAnime = window.__hfAnime || [];
window.__hfAnime.push(tl);
\x3C/script>
Module Builds
If you use an ES module build, the adapter does not care how the instance was created. It only needs the returned object to expose seek(), pause(), and preferably play():
\x3Cscript type="module">
import { animate } from "https://cdn.jsdelivr.net/npm/animejs/+esm";
const anim = animate(".chip", {
x: "18rem",
duration: 900,
autoplay: false,
});
window.__hfAnime = window.__hfAnime || [];
window.__hfAnime.push(anim);
\x3C/script>
Good Uses
- Small SVG and DOM flourishes where Anime.js syntax is compact.
- Imported Anime.js examples that can be made seek-driven.
- Multiple independent micro-animations pushed into the same registry.
Use GSAP for complex scene sequencing unless the user specifically asks for Anime.js. GSAP is still the primary HyperFrames authoring path.
Avoid
- Leaving
autoplayat the Anime.js default. - Depending on
anime.runningauto-discovery instead of explicitwindow.__hfAnime.push(...). - Infinite loops. Compute a finite repeat count from the composition duration.
- Building animations in timers, promises, event handlers, or after async asset loads.
Validation
After editing a composition that uses Anime.js:
npx hyperframes lint
npx hyperframes validate
Credits And References
- HyperFrames adapter source:
packages/core/src/runtime/adapters/animejs.ts. - Anime.js documentation for
autoplay,pause(), andseek(): https://animejs.com/documentation/
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install animejs - After installation, invoke the skill by name or use
/animejs - Provide required inputs per the skill's parameter spec and get structured output
What is Animejs?
Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on windo... It is an AI Agent Skill for Claude Code / OpenClaw, with 37 downloads so far.
How do I install Animejs?
Run "/install animejs" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Animejs free?
Yes, Animejs is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Animejs support?
Animejs is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Animejs?
It is built and maintained by Lucas-Kay8 (@lucas-kay8); the current version is v1.0.0.