brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Create, edit, or fix Lottie/Bodymovin JSON animations for the local Skia Skottie player. Use for text-to-Lottie, SVG/logo/type animation, loaders/icons, state feedback, UI microinteractions, lower thirds, diagrams, data/stat/chart animations, product promos, scene/camera motion,
Claude Code
$ npx -y skills add diffusionstudio/lottie --skill text-to-lottie --agent claude-code
Codex
$ npx skills add diffusionstudio/lottie --skill text-to-lottie -a codex -y
Cursor
$ npx skills add diffusionstudio/lottie --skill text-to-lottie -a cursor -y
Gemini CLI
$ npx skills add diffusionstudio/lottie --skill text-to-lottie -a gemini-cli -y
GitHub Copilot
$ npx skills add diffusionstudio/lottie --skill text-to-lottie -a github-copilot -y
OpenCode
$ npx skills add diffusionstudio/lottie --skill text-to-lottie -a opencode -y
Windsurf
$ npx skills add diffusionstudio/lottie --skill text-to-lottie -a windsurf -y
name: text-to-lottie description: Create, edit, or fix Lottie/Bodymovin JSON animations for the local Skia Skottie player. Use for text-to-Lottie, SVG/logo/type animation, loaders/icons, state feedback, UI microinteractions, lower thirds, diagrams, data/stat/chart animations, product promos, scene/camera motion, visual effects, scene edits, slots/controls, and Skottie debugging.
Author production-ready Lottie JSON for the official local Skia Skottie player. The deliverable is a renderable scene in the player, not isolated JSON.
custom viewer or switch renderers for verification.
commands, command modes, or orchestration conventions in skill instructions.
the output materially, such as transparent vs full-frame background, brand constraints, target format, or supplied source assets.
literal prompt.
This `SKILL.md` is the thin control plane. Load only one-level references that match the task. Do not open the whole reference library.
Always read `references/player-contract.md` before creating, editing, fixing, or verifying a scene. If a routed reference is unavailable, continue using the inline rules in this file.
| User intent | References to read when present | | --- | --- | | Any new/edit/fix Lottie scene | `references/player-contract.md` | | JSON structure, keyframes, slots, shapes, assets | `references/lottie-spec-map.md` | | Logo animation | `references/recipe-logo.md`, `references/motion-taste.md`, `references/design-taste.md` | | Typography, title, quote, text reveal | `references/recipe-typography.md`, `references/design-taste.md`, `references/motion-taste.md` | | Lower third, name tag, caption bar, overlay | `references/recipe-lower-thirds.md`, `references/design-taste.md`, `references/motion-taste.md` | | Loader, icon, spinner, badge animation | `references/recipe-loaders-icons.md`, `references/motion-taste.md` | | Success, error, warning, completion, empty state | `references/recipe-loaders-icons.md`, `references/design-taste.md`, `references/motion-taste.md` | | UI microinteraction | `references/recipe-ui-microinteractions.md`, `references/design-taste.md`, `references/motion-taste.md` | | Generic "animate this SVG" or SVG-to-Lottie | `references/recipe-svg-animation.md`, `references/svg-compatibility.md`, `references/motion-taste.md` | | Camera follow, pan, zoom, parallax, scene motion | `references/recipe-camera-scene-motion.md`, `references/design-taste.md`, `references/motion-taste.md` | | Diagram, technical line animation, callout, flow trace | `references/recipe-diagram-technical.md`, `references/design-taste.md`, `references/motion-taste.md` | | Data, stats, KPIs, charts, metrics, dashboard figures | `references/recipe-data-stats.md`, `references/design-taste.md`, `references/motion-taste.md` | | Product launch, feature announcement, social promo | `references/recipe-product-promo.md`, `references/design-taste.md`, `references/motion-taste.md` | | Long text, multiple ideas, list/features/steps, timeline, before/after, problem/solution, quote+proof, recap/story, product walkthrough, multi-language variations, chapters, multi-beat sequence, episode, jump/hard cuts, transition grammar | `references/chapterization-transition-grammar.md`, `references/motion-taste.md` | | Glow, glass, metal, gradient, fill, bubble/burst effects | `references/recipe-visual-effects.md`, `references/design-taste.md`, `references/motion-taste.md` | | SVG input inside logo/icon/UI/lower-third work | The task recipe plus `references/svg-compatibility.md` | | Starter brief or reusable project direction | `references/recipe-starter-projects.md`, `references/design-taste.md`, `references/motion-taste.md` | | Any "premium", "clean", "minimal", "modern", "sleek", or "polished" qualifier | `references/design-taste.md` (restraint defaults), plus the routed recipe |
For mixed prompts, choose one primary recipe from the main deliverable, then add secondary references for source format or visual treatment. Examples: SVG logo with glow uses logo as primary plus SVG compatibility and visual effects; product launch with pan/zoom uses product promo plus camera scene motion; technical SVG diagram tracing uses diagram/technical plus SVG compatibility; kinetic title with glass sweep uses typography plus visual effects.
1. Route the task using the table above. Read only the relevant references that exist. 2. Locate the official player project and resolve the target scene using the target precedence below. Before editing, verify the resolved path is `public/projects/<project>/<scene-N>/lottie.json`; re-read that current file immediately before overwriting because the UI can write slot edits back to source. 3. Decide the background policy before authoring. 4. Write or update `public/projects/<project>/<scene-N>/lottie.json` and, when useful, `controls.json`. 5. Validate JSON, run or reuse the dev server, inspect exact frames with `?frame=N`, and fix render/design/motion issues before finishing.
These few defaults are non-negotiable and apply to every designed scene. Load `references/design-taste.md` for the full reasoning, especially for any "premium", "clean", "minimal", "modern", or "card" prompt.
modern, sleek, or sophisticated, default to restraint: remove chrome before adding it. Premium is carried by scale, weight, brightness, spacing, and timing, never by cards, borders, dividers, shadows, glow, or stacked tints.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.