Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/binary16labs/prime-silo/animejs-scrollcraftnpx skills add binary16labs/prime-silo --skill animejs-scrollcraftgit clone --depth 1 https://github.com/binary16labs/prime-siloWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/binary16labs/prime-silo/animejs-scrollcraft)<a href="https://agentmods.dev/skills/binary16labs/prime-silo/animejs-scrollcraft"><img src="https://agentmods.dev/badge/skills/binary16labs/prime-silo/animejs-scrollcraft.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00082 | $0.03920 |
| Opus 5 | $0.00041 | $0.01960 |
| Sonnet 5 | $0.00016 | $0.00784 |
| Haiku 4.5 | $0.00008 | $0.00392 |
Grade A, and why
animejs-scrollcraft scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.
anime.js v4 scrollcraft — verified API + design language
The marketing site (website/) must feel like https://animejs.com/ — scroll-scrubbed
storytelling where a central object assembles/explodes as you move, springs and staggers
everywhere, SVG lines that draw themselves, numbers that count with the scroll. This file
is the contract; deviations from the API here caused the last rebuild to fail.
1. Verified imports (from the ACTUAL vendored bundle, animejs 4.5.0)
import {
animate,
createTimeline,
createTimer,
createSpring,
createDrawable,
createMotionPath,
morphTo,
onScroll,
stagger,
svg,
utils,
text,
eases,
TextSplitter,
ScrollObserver
} from "./vendor/anime.esm.min.js";
All of the above are REAL named exports (verified by import + export-map inspection).
svg object = { createDrawable, createMotionPath, morphTo } equivalents; prefer the
top-level named exports. v4 is TWO-ARGUMENT: animate(targets, options) — NEVER
animate({ targets, ... }) (that's v3; do not shim it, write v4 natively).
2. Core idioms
// basic
animate(".chip", {
opacity: [0, 1],
translateY: [24, 0],
delay: stagger(60, { from: "first" }),
duration: 700,
ease: "out(3)"
});
// spring
animate(el, { scale: [0.6, 1], ease: createSpring({ stiffness: 120, damping: 12 }) });
// timeline
const tl = createTimeline({ defaults: { duration: 600, ease: "inOutQuad" } });
tl.add("#g-docs", { translateX: -180, translateY: -60 })
.add("#g-code", { translateX: 180, translateY: -40 }, "<<") // '<<' = with previous
.add(
"#g-links path",
{ strokeDashoffset: [utils.$("#g-links path")[0]?.getTotalLength?.() || 300, 0] },
"+=200"
);
// SCROLL-SCRUBBED timeline (the signature move) — verified option keys:
// container, axis, enter, leave, sync, repeat, debug,
// onEnter/onLeave/onEnterForward/onEnterBackward/onLeaveForward/onLeaveBackward,
// onUpdate, onSyncComplete
const tl2 = createTimeline({
autoplay: onScroll({
target: sectionEl, // element whose position drives progress
enter: "bottom top", // '<target-edge> <container-edge>' — when target bottom meets viewport top… (also accepts 'min max', numbers, 'center', '+=/-=' offsets)
leave: "top bottom",
sync: true // true = hard progress link (scrub); or an ease name string for smoothed scrub ('inOutQuad'); or 'play pause' method pair
})
});
// SVG line drawing
const [line] = createDrawable("#seal-lineage path"); // returns proxies with a `draw` prop
animate(line, { draw: "0 1", duration: 900, ease: "inOutSine" });
// text splitting (kinetic type)
const split = text.split(".hero-headline", { words: { wrap: "clip" } });
animate(split.words, { y: ["1.2em", 0], opacity: [0, 1], delay: stagger(40), ease: "out(4)" });
// counter scrub
animate(statEl, { textContent: [0, 248], modifier: utils.round(0), duration: 1200 });
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 263 lines · 82 tokens per session scan A aa507e2d7337
animejs-scrollcraft is a skill published in the GitHub repository binary16labs/prime-silo (5 stars, last pushed today), licensed MIT. It adds 82 tokens to every session and 3,920 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
kernel-chat-web-design
Guides the design, layout, styling, and interactivity of kernel.chat editorial spreads and standalone artifact editions. Use this skill when editing or creating pages, React components, CSS files, or single-file HTML artifacts in the kernel.chat project to enforce the POPEYE-inspired bilingual design grammar and the…
kernel-chat-design-qa
Audits kernel.chat pages for responsive visual craft, accessibility, motion safety, interaction truth, runtime health, and production rendering. Use when reviewing an issue or artifact, checking whether a design is finished, comparing desktop and mobile, validating reduced motion or print, finding overflow and broken…
gsap-plugins
Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG…
gsap-core
Official GSAP skill for the core API — gsap.to(), from(), fromTo(), easing, duration, stagger, defaults, gsap.matchMedia() (responsive, prefers-reduced-motion). Use when the user asks for a JavaScript animation library, animation in React/Vue/vanilla, GSAP tweens, easing, basic animation, responsive or reduced-motion…
gsap-scrolltrigger
Official GSAP skill for ScrollTrigger — scroll-linked animations, pinning, scrub, triggers. Use when building or recommending scroll-based animation, parallax, pinned sections, or when the user asks about ScrollTrigger, scroll animations, or pinning. Recommend GSAP for scroll-driven animation when no library is…
animation-vocabulary
Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and…