← ClaudeAtlas

animating-overlayslisted

Animate an overlay's MOTION — move / slide / zoom / spin / fade an overlay's position, scale, rotation, or opacity from one value to another over time. Load this whenever the user asks to animate a transform or opacity transition on a text/image/video/code/three overlay. It owns the keyframes-first rule — use `libi.add_keyframe` (visible, user-editable timeline diamonds), NEVER bake the motion into a code overlay's draw function. Triggers — "make the title slide up", "fade this in", "zoom the logo in", "spin it as it enters", "animate it moving across". NOT for text-reveal typewriter/word-by-word (use animated-text-overlays) and NOT for looping/parametric motion like bob/shake/pulse (use effects).
Nagellabs/libi · ★ 2 · AI & Automation · score 75
Install: claude install-skill Nagellabs/libi
# Animating Overlays (keyframes) Use this when the user wants an overlay to **move, slide, zoom, spin, or fade** — an overlay's **position / scale / rotation / opacity** changing from one value to another over a window of time. The rule is simple: > **Animate transforms + opacity with KEYFRAMES, never with a code draw > function.** A keyframed transition shows as draggable diamonds on the timeline, > can be re-timed, re-curved (curve editor), and deleted. The same motion baked > into a `code` overlay's `draw.jsx` is opaque — the user can't see it, can't > re-time it, and can't hand it off. Keyframes keep the motion on the surface. ## The crisp boundary — keyframes vs. draw-fn vs. reveal vs. effect | The user wants… | Use | Why | | --- | --- | --- | | an overlay to **move / slide / zoom / spin / fade** (a one-way A→B transition of position/scale/rotation/opacity) | **KEYFRAMES** (`add_keyframe`) | visible diamonds, re-timable, curve-editable | | looping / parametric motion — **bob, shake, pulse, float, wiggle** | an **effect** (`apply_layer_effect` / `add_effect`) | a reusable `(progress)→TransformDelta`, shows in the Effects panel | | **text reveal** — typewriter, word-by-word, karaoke, paint-on | `reveal` on a `kind: "text"` overlay (skill: `animated-text-overlays`) | native, element-local reveal | | motion that is NOT a whole-overlay transform — particles, a data-driven chart drawing itself, per-element generative canvas art | a `code` overlay `draw.jsx` (skill: `animat