figma-implement-motion
Implement Motion
Overview
This skill guides translation of Figma animations and transitions into runnable code (motion.dev, CSS keyframes, or framework-specific libraries).
Figma exposes motion through two tools:
get_motion_context— authoritative motion tool. Returns the complete animated-node inventory, precomputed code snippets (CSS@keyframes+ motion.dev), fallback keyframe bindings when snippets are unavailable, and recursive timeline coordination hints. Source of truth for animation data and which node IDs animate.get_design_context— the design's structure: layout, sizing, assets, styling, Code Connect hints, screenshot context, and sometimes motion placement markers on animated elements (data-node-id, and on split nodesdata-motion-keys/data-motion-wrapper-for/data-motion-transform-template). It may render an animated node as a plain element (div,p,span, etc.) or a motion element (motion.div); it does not inline the animation values.
The two are linked by node id, and that's the whole workflow. get_motion_context tells you which nodes animate and gives the keyframe values, easing, timing, and snippets. get_design_context tells you what those nodes look like and where they sit. For every node in get_motion_context.nodes, find the matching data-node-id in design context and merge the motion into that structure — adding or wrapping a motion.{tag} when the structural element is plain. When design context has reused a Figma component, the motion node may also include fallbackNodeId; use it only as a fallback after trying the exact nodeId.
Skill Boundaries
- Use this skill when the deliverable is motion code in the user's repository.
- If the user asks to create/edit animations inside Figma itself, switch to figma-use and follow that skill instead.
- This skill currently covers animations as emitted by
get_motion_context(snippets plus fallback keyframe tracks, including preset-authored motion resolved into those forms). Broader interactive variant flows may still need product-specific state handling in code.