add-animation

A guide for adding a missing animation to a shared webkit animation catalogue. The catalogue is the approved list of reusable animation names available to components.

In plain words
What is it for?
Use it when a component needs an animation that is not already in the semantic animation catalogue.
Why use it?
It prevents components from hiding custom keyframes or unapproved animation settings locally. It also helps distinguish fixed animations from transitions whose start and end sizes are only known at runtime.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/aziontech/webkit/add-animation
Any agent
npx skills add aziontech/webkit --skill add-animation
Clone the repo
git clone --depth 1 https://github.com/aziontech/webkit

Made for: Claude Code, Codex.

Per session 54 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,164 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00054 $0.02164
Opus 5 $0.00027 $0.01082
Sonnet 5 $0.00011 $0.00433
Haiku 4.5 $0.00005 $0.00216

Measured 2d ago against content hash d93b074ebe49, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

add-animation 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 2d 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.

.claude/skills/add-animation/SKILL.md · 143 lines

How it starts

The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Skill: add-animation

The animation catalog is the single source of truth. A component may only use an animate-* utility that exists in it. When one is missing, add it here — never inline a @keyframes in a .vue, never use animate-[…], never hardcode duration-[…] / cubic-bezier(…). (validate-tokens blocks all of those; validate-spec-compliance blocks an animate-* not in the catalog.)

First: is this a catalog animation at all?

A keyframe is a fixed journey — it knows both ends before it runs. Three common needs are not that, and adding a keyframe for them produces an animation that is wrong on every instance but the one it was authored against. Do not add a catalog entry for these; use the recipe instead (transition-* + duration-* / ease-* tokens, no new animate-*, no @keyframes):

Need Why it cannot be a keyframe Recipe
A box that resizes because its content changed (form step swap, panel level change, disclosure between two real heights) Both heights are runtime facts; auto is not interpolable and must be the resting value Measure → mutate → measure while still auto → pin the old value → two requestAnimationFrames → set the new one → release to auto on transitionend and a fallback timer. lib/animate-height.js in the sample app is the working form.
A value that grows into place inside an element that keeps its size otherwise (a chip gaining its filter value) The target width is the content's, unknown at author time Single-column grid, transition-[grid-template-columns] from grid-cols-[0fr] to grid-cols-[1fr]; keep the clip bare and put padding on the row inside it
A composition assembling on first paint, its parts staggered from opposite edges Per-instance offsets, direction, and a lead/follow delay — a keyframe would fix all three translate/opacity on data-[entered]: variants, timing inline from the duration / curve tokens, flipped after two requestAnimationFrames. lib/auth-entrance.js in the sample app is the working form.

Read the full file on GitHub · 143 lines

Changes

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.

  1. 2d ago First seen · 143 lines · 54 tokens per session scan A d93b074ebe49

Subscribe to this mod's changes

add-animation is a skill published in the GitHub repository aziontech/webkit (2 stars, last pushed 4d ago), licensed MIT. It adds 54 tokens to every session and 2,164 once invoked, about $0.0003 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.

Related

Other skills, from other repositories

animate-text

Curated text animation catalog with exact JSON specs for headings, labels, counters, and text swaps. Use when an agent needs to pick or translate named effects like soft blur in, typewriter, shared axis, line reveal, stagger, crossfade, or kinetic builds into WAAPI, Motion, Framer Motion, GSAP, CSS, Lottie, Rive, or…

marvkr/better-design · 81 tokens

design-motion-principles

Expert motion and interaction design auditor based on Emil Kowalski, Jakub Krehel, and Jhey Tompkins' techniques. Use when reviewing UI animations, transitions, hover states, or any motion design work. Provides per-designer perspectives with context-aware weighting.

uiNerd16/aicanvas · 60 tokens

monorepo-management

Sets up or audits a monorepo workspace: tool selection, package naming, shared tooling, inter-package dependencies, selective CI, and versioning strategy. Invoked when the user asks to set up a monorepo, add a workspace, or manage multiple packages in a single repository.

soulcodex/agentic · 63 tokens

performance

Optimize UI performance against Core Web Vitals — LCP, INP, CLS — with loading/code-split strategy, layout-shift prevention, and animation performance rules. Use when the user wants to improve speed, fix jank or layout shift, hit Web Vitals budgets, or make a UI feel fast on low-end devices.

plugin87/ux-ui-agent-skills · 69 tokens

sigil-preset

Every custom preset MUST populate ALL 33 token categories and ALL fields.

Kevin-Liu-01/Sigil-UI · 4 tokens

sigil-scene

Author and extract .scene.tsx files for animated or stateful blocks of an apps/web page. Use when extracting a self-contained visual/animated block from a long page file (the goal is one scene per file, page composes scenes), creating a new animation/diagram block, or refactoring a god file into scene-shaped modules.…

Kevin-Liu-01/Sigil-UI · 125 tokens