Skip to content
Agentmart
Submit a tool

lottie

Toolkit-specific Lottie motion-graphic patterns — the LottieAnimation component, the curated template library, brand-color patching, sourcing, and placing…

Skill by xaralis

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/xaralis-lottie

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Toolkit-specific Lottie motion-graphic patterns — the LottieAnimation component, the curated template library, brand-color patching, sourcing, and placing Lottie as a timeline overlay. Use when adding loaders, checkmarks, confetti, progress bars, or other vector motion overlays to a reel. Triggers include lottie, motion graphic, loader, spinner, checkmark, confetti, progress animation, overlay animation.

Use cases: design, frontend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/lottie

What's inside

Skill name
lottie
Description
Toolkit-specific Lottie motion-graphic patterns — the LottieAnimation component, the curated template library, brand-color patching, sourcing, and placing Lottie as a timeline overlay. Use when adding loaders, checkmarks, confetti, progress bars, or other vector motion overlays to a reel. Triggers include lottie, motion graphic, loader, spinner, checkmark, confetti, progress animation, overlay animation.
License
MIT
Instructions
109 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Lottie — Toolkit Motion Graphics

> **Core framework knowledge** (installing `@remotion/lottie`, the raw `<Lottie>` component, fetch +
> `delayRender`) lives in `skills/remotion-official/remotion-markup/lottie.md`. This file covers
> **toolkit-specific** patterns only.

Lottie animations are lightweight vector motion graphics (JSON). The toolkit renders them
**frame-synced** to the Remotion timeline (deterministic, never wall-clock playback) via the shared
`LottieAnimation` component, and ships a curated, brand-colorable template library plus a Python
tool for building/recoloring them.

## The workflow

Use `/toolkit:add-lottie-graphic` — it produces a brand-colored Lottie in `public/lottie/` and drops
it on the timeline as a custom overlay. The pieces below are what it (and you) use directly.

## Shared component — `LottieAnimation`

```tsx
import { LottieAnimation } from '../../../lib/components'; // adjust depth to your project

// Materialized asset in public/lottie/
<LottieAnimation src="lottie/spinner.json" size={220} x={50} y={50} loop speed={1} />
```

| Prop | Purpose |
|------|---------|
| `src` | Path under the project's `public/` (e.g. `lottie/check.json`). |
| `animationData` | Inline Lottie JSON (takes precedence over `src`). |
| `loop` / `speed` / `direction` | Playback: loop (default true), rate multiplier, 1 or -1. |
| `recolor` | Runtime `{ '#old': '#new' }` remap of fills/strokes (quick tweak; prefer building brand-colored JSON). |
| `x` / `y` / `size` | Overlay placement (% center) and px size. Omit all three to render inline. |
| `style` | Extra style overrides merged last. |

It handles the `delayRender`/fetch/`continueRender` dance for you; you only pass a `src` or data.

## Curated template library

Build a brand-colored Lottie from a template:

```bash
# List templates (id, description, color/value slots)
python3 -m video_toolkit.lottie list

# Build one, auto-coloring from a brand profile
python3 -m video_toolkit.lottie build spinner \
  --brand brands/<brand>/brand.json \
  -o projects/<name>/public/lottie/spinner.json

# Override a specific slot, or set a value slot
python3 -m video_toolkit.lottie build progress --set value=60 --color accent=#1d4ed8 -o out.json
```

| Template | What it is | Color slots | Value slots |
|----------|-----------|-------------|-------------|
| `spinner` | Looping loader ring | `accent` | — |
| `pulse` | Pulsing dot (scale + fade) | `accent` | — |
| `arrow` | Directional arrow nudge | `accent` | — |
| `confetti` | Celebratory burst | `accent`, `accentLight` | — |
| `check` | Draw-on success check | `accent` | — |
| `cross` | Draw-on error X | `accent` | — |
| `progress` | Bar filling to a value | `accent`, `track` | `value` (0–100) |

Color slots map named roles to color paths inside the Lottie JSON; `--brand` maps brand palette
colors onto them (`accent`→`primary`, `accentLight`→`primaryLight`, `track`→`divider`, `fg`→`textDark`,
`bg`→`bgLight`). These are first-choice keys — some slots fall back if absent: `accentLight` falls
back to `primary`, `track` falls back to `bgLight`. Explicit `--color` wins over `--brand`.

## Sourcing an existing Lottie (LottieFiles or local)

```bash
# Inspect what colors a sourced file uses
python3 -m video_toolkit.lottie info sourced.json --colors

# Recolor its brand-relevant colors explicitly
python3 -m video_toolkit.lottie colorize sourced.json \
  --map "#ff3b30=#ea580c" --map "#ffffff=#1e293b" \
  -o projects/<name>/public/lottie/branded.json
```

Downloading a remote Lottie is a file download — the command asks first and states the source.

## Sizing for 9:16 (1080×1920)

Video overlays read from farther away than web UI — size Lottie generously. A loader/check reads well
at `size={200–320}`; a full-width `progress` bar at `size` matching ~60–80% of the 1080px width.
Place with `x`/`y` as % of the parent `AbsoluteFill`.

## Placing as a custom overlay

The materialized JSON in `public/lottie/<name>.json` is referenced by a custom overlay on the
timeline. If the project template exposes a custom-overlay mechanism, register there; otherwise drop
a `<LottieAnimation src="lottie/<name>.json" … />` inside the target segment.

## Gotchas

- **`staticFile`, not raw URLs** for project assets — pass `src="lottie/x.json"`; the component wraps
  it in `staticFile`. Only fetch remote URLs for one-off sourcing.
- **`.json`, not `.lottie`** — the component expects Lottie JSON (`animationData`). Convert dotLottie
  archives to JSON before use.
- **Determinism** — always render through `LottieAnimation`/`<Lottie>` (frame-synced). Never embed a
  lottie-web player; it plays on wall-clock time and will not render frame-accurately.
- **Loop length** — templates author a natural loop (30–45 frames). For a longer on-screen hold, keep
  `loop` on and give the overlay a longer segment duration; don't stretch the JSON.
- **Semantic color templates still default to brand accent** — `check`, `cross`, and every other
  template take the brand accent color by default when built with `--brand`. To keep a semantic
  color (e.g. green check, red cross) pass an explicit override like `--color accent=#22c55e`.

From xaralis/video-toolkit, MIT.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jul 25, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from xaralis

Cite this page

lottie skill. Agent Mart. https://agentmart.dev/skills/xaralis-lottie (last updated 2026-10-24)