text-to-lottie

Author Lottie JSON animations that render in a Skia Skottie player.

1|Updated Aug 17, 2026
One-click install
npx skills add https://github.com/Marshal-Nguyen/Skill_Claude_Agent --skill text-to-lottie-marshal-nguyen
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: text-to-lottie
Source: https://github.com/Marshal-Nguyen/Skill_Claude_Agent/tree/main/claude/skills/text-to-lottie
Command: npx skills add https://github.com/Marshal-Nguyen/Skill_Claude_Agent --skill text-to-lottie-marshal-nguyen

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing Lottie animation JSON by hand is error-prone: Skottie silently renders blank canvases when shapes are not wrapped in groups, colors use the wrong range, or keyframes are malformed. This Skill encodes the exact JSON structure, player setup, and verification workflow needed to produce animations that actually render. ## Core Features & Use Cases - Skottie-compatible JSON authoring: Enforces the required top-level fields, group-wrapped shapes with tr transforms, 0-1 RGBA colors, and array-based keyframe values. - Official player scaffolding: Sets up the diffusionstudio/lottie player via degit with hot-reload on save, and pins frames via ?frame=N&paused=1 URL parameters for screenshot verification. - Editable property slots: Exposes colors, scalars, vectors, and text as live controls through Skottie slots and a controls.json sidecar, including a mandatory background-color control. - Use Case: Ask for a bouncing ball animation; the Skill scaffolds the player, writes public/lottie.json with grouped shapes and looped keyframes, adds a background color slot, and verifies frame 60 renders correctly in the browser. ## Quick Start Create a Lottie animation of a pulsing circle and preview it in the local player.

Frequently Asked Questions about text-to-lottie

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Lottie animation JSON file by hand?▼

Define a top-level object with v, fr, ip, op, w, h, assets, and layers fields, then add shape layers whose geometry, fills, and transforms sit inside a group's it array. Write the result to public/lottie.json in the player project and it hot-reloads on save.

Why does my Lottie animation render blank in Skottie?▼

Skottie renders blank when shape elements are placed flat in the shapes array instead of inside a group with ty "gr". Every group must contain the geometry, fill or stroke, and end with a tr transform element.

What color format does Lottie JSON use?▼

Lottie colors are normalized RGBA arrays with each channel between 0 and 1, not 0-255. For example, opaque red is [1, 0, 0, 1] and the alpha channel controls opacity.

How do I make Lottie animation properties editable at runtime?▼

Declare a top-level slots object with slot IDs holding default values, then reference them from properties using sid instead of inline values. Skottie's getSlotInfo discovers them automatically, and an optional controls.json adds labels and slider ranges.

How do I inspect a specific frame of a Lottie animation in the browser?▼

Append ?frame=N&paused=1 to the player URL to seek to frame N and hold it paused for screenshots. The canvas carries data-testid="lottie-canvas" so browser tools can target it directly instead of dragging the slider.