Web Lottie
lottie-web, dotLottie web components, animation JSON/dotLottie assets, player lifecycle, cleanup, renderer choice, accessibility, and asset validation.
Operating Contract
Use this skill as a compact router plus domain checklist. Load references only
when the current task matches their condition. Do not cite local scrape paths,
machine cache paths, or hidden source locations. Verify API details against the
target repo's installed package versions before editing.
Source Order
- Inspect the target repo's installed packages, framework/runtime versions,
local design tokens, accessibility policy, and existing motion patterns.
- Use the bundled references below for skill-specific gotchas and copied source
excerpts.
- Use official current docs/package source as API truth when local code or
bundled notes are version-sensitive.
Decision Boundaries
- For React Native, prefer
expo-motion when installed; otherwise proceed
with the guidance here.
- Use Rive for interactive state machines.
- Use CSS/WAAPI for simple UI motion that does not need designer-authored assets.
- For general Motion/CSS API work or cross-stack audits, prefer
motion or
design-motion-audit when installed; otherwise proceed with the guidance
here. Web R3F stays in-bundle via web-three-r3f.
Workflow
- Inspect asset format, player package, renderer, autoplay/loop, and hosting path.
- Create and destroy player instances at the owner boundary.
- Respect reduced motion and provide non-canvas semantics.
- Validate asset size, remote URLs, and event listeners.
Gotchas
- Canvas-rendered animation needs external accessible text or labels.
- Remote animation URLs need CSP/cache/security review.
- Looping/autoplay assets require reduced-motion and pause behavior.
Bundled Resources
references/lottie-player-lifecycle.md - lottie-web player lifecycle. Read when creating, updating, or destroying lottie-web animation instances.
references/dotlottie-web-component.md - dotLottie web component and worker notes. Read when using .lottie assets, dotLottie players, workers, or web components.
references/asset-accessibility-security.md - Asset accessibility and security review. Read before accepting remote assets, canvas-only output, autoplay loops, or URL actions.
references/authoring-and-export-compatibility.md - Authoring and export compatibility. Read when accepting designer-authored Lottie JSON/dotLottie assets or debugging mismatch between After Effects preview and runtime output.
references/runtime-event-contracts.md - Runtime events, markers, and playback contracts. Read when code controls Lottie playback, segments, markers, events, or synchronization with app state.
references/docs-dotlottie-web.md - Copied source excerpt. Load only when exact upstream wording or API detail is needed.
references/docs-lottie-web-load-animation-options.md - Copied source excerpt. Load only when exact upstream wording or API detail is needed.
references/docs-lottie-web-readme.md - Copied source excerpt. Load only when exact upstream wording or API detail is needed.
references/implementation-notes.md - Copied source excerpt. Load only when exact upstream wording or API detail is needed.
references/index.md - Complete reference inventory and routing summary.
references/source-ledger.md - Source list, checked date, and copy policy.
references/provenance.json - Machine-readable source and local-resource metadata.
scripts/audit.mjs - Self-contained audit CLI; run doctor before scan when setup is unclear.
assets/templates/web-lottie-audit-report.md - Audit response/report template.
assets/templates/web-lottie-review-checklist.md - Manual review checklist.
assets/examples/web-lottie-starter.tsx - Starter fixture/example for this skill.
evals/trigger-queries.json - Trigger/near-miss eval set for description tuning.
evals/evals.json - Task-quality evals with assertions.
Audit CLI
node scripts/audit.mjs doctor --root . --format json
node scripts/audit.mjs scan --root . --format markdown
node scripts/audit.mjs scan --root . --format json --output web-lottie-audit.json
Treat script findings as leads. Verify every finding against current code before
changing behavior or reporting it as valid.
Closeout
Before finalizing, run the repo's focused validation command, this skill's audit
CLI when relevant, and any browser/device/manual proof required by the changed
surface. Report commands run, findings fixed, findings skipped with reasons,
and residual risk.
1---2name: web-lottie3description: Use this skill for lottie-web, dotLottie web components, animation JSON/dotLottie assets, player lifecycle, cleanup, renderer choice, accessibility, and asset validation. Trigger on lottie-web, dotLottie, .lottie, Lottie JSON, After Effects animation, Bodymovin. Do not use for near-miss tasks outside these boundaries; route to adjacent motion or platform skills when they own the implementation.4license: MIT5---67# Web Lottie89lottie-web, dotLottie web components, animation JSON/dotLottie assets, player lifecycle, cleanup, renderer choice, accessibility, and asset validation.1011## Operating Contract1213Use this skill as a compact router plus domain checklist. Load references only14when the current task matches their condition. Do not cite local scrape paths,15machine cache paths, or hidden source locations. Verify API details against the16target repo's installed package versions before editing.1718## Source Order19201. Inspect the target repo's installed packages, framework/runtime versions,21 local design tokens, accessibility policy, and existing motion patterns.222. Use the bundled references below for skill-specific gotchas and copied source23 excerpts.243. Use official current docs/package source as API truth when local code or25 bundled notes are version-sensitive.2627## Decision Boundaries2829- For React Native, prefer `expo-motion` when installed; otherwise proceed30 with the guidance here.31- Use Rive for interactive state machines.32- Use CSS/WAAPI for simple UI motion that does not need designer-authored assets.33- For general Motion/CSS API work or cross-stack audits, prefer `motion` or34 `design-motion-audit` when installed; otherwise proceed with the guidance35 here. Web R3F stays in-bundle via [`web-three-r3f`](../web-three-r3f/SKILL.md).3637## Workflow38391. Inspect asset format, player package, renderer, autoplay/loop, and hosting path.402. Create and destroy player instances at the owner boundary.413. Respect reduced motion and provide non-canvas semantics.424. Validate asset size, remote URLs, and event listeners.4344## Gotchas4546- Canvas-rendered animation needs external accessible text or labels.47- Remote animation URLs need CSP/cache/security review.48- Looping/autoplay assets require reduced-motion and pause behavior.4950<!-- skill-resources:start -->51## Bundled Resources5253- `references/lottie-player-lifecycle.md` - lottie-web player lifecycle. Read when creating, updating, or destroying lottie-web animation instances.54- `references/dotlottie-web-component.md` - dotLottie web component and worker notes. Read when using .lottie assets, dotLottie players, workers, or web components.55- `references/asset-accessibility-security.md` - Asset accessibility and security review. Read before accepting remote assets, canvas-only output, autoplay loops, or URL actions.56- `references/authoring-and-export-compatibility.md` - Authoring and export compatibility. Read when accepting designer-authored Lottie JSON/dotLottie assets or debugging mismatch between After Effects preview and runtime output.57- `references/runtime-event-contracts.md` - Runtime events, markers, and playback contracts. Read when code controls Lottie playback, segments, markers, events, or synchronization with app state.58- `references/docs-dotlottie-web.md` - Copied source excerpt. Load only when exact upstream wording or API detail is needed.59- `references/docs-lottie-web-load-animation-options.md` - Copied source excerpt. Load only when exact upstream wording or API detail is needed.60- `references/docs-lottie-web-readme.md` - Copied source excerpt. Load only when exact upstream wording or API detail is needed.61- `references/implementation-notes.md` - Copied source excerpt. Load only when exact upstream wording or API detail is needed.62- `references/index.md` - Complete reference inventory and routing summary.63- `references/source-ledger.md` - Source list, checked date, and copy policy.64- `references/provenance.json` - Machine-readable source and local-resource metadata.65- `scripts/audit.mjs` - Self-contained audit CLI; run `doctor` before `scan` when setup is unclear.66- `assets/templates/web-lottie-audit-report.md` - Audit response/report template.67- `assets/templates/web-lottie-review-checklist.md` - Manual review checklist.68- `assets/examples/web-lottie-starter.tsx` - Starter fixture/example for this skill.69- `evals/trigger-queries.json` - Trigger/near-miss eval set for description tuning.70- `evals/evals.json` - Task-quality evals with assertions.71<!-- skill-resources:end -->7273## Audit CLI7475```bash76node scripts/audit.mjs doctor --root . --format json77node scripts/audit.mjs scan --root . --format markdown78node scripts/audit.mjs scan --root . --format json --output web-lottie-audit.json79```8081Treat script findings as leads. Verify every finding against current code before82changing behavior or reporting it as valid.8384## Closeout8586Before finalizing, run the repo's focused validation command, this skill's audit87CLI when relevant, and any browser/device/manual proof required by the changed88surface. Report commands run, findings fixed, findings skipped with reasons,89and residual risk.