About motion
motion is a skill for web animation work, aimed at developers using vanilla JS, React, Vue, Base UI, or Radix. It combines implementation guidance with documentation search, easing generation, previews, and tiered performance audits.
Key features
- 01Platform-specific animation guidance
- 02Motion and CSS recommendations
- 03Documentation and example search
- 04CSS spring and bounce generation
- 05Transition curve previews
- 06MotionScore performance audits
Use cases
- 01Choose an animation approach for a UI component
- 02Find Motion APIs and usage examples
- 03Generate a spring or bounce easing
- 04Audit a page or component for jank
MCP support
The skill can use the Motion MCP server for search, easing, transition editing, and audit workflows. Some capabilities require a separately authenticated Motion+ MCP server.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ motiondivision/ ai-kit --skill motionAfter installing, type/motionin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
best-practices/base-ui.mdcss-or-motion.mdindex.mdmotion.mdreact.mdvue.mdcodex/index.mdcss-spring/index.mdinsert/index.mdperformance-audit/index.mdtransition-preview/index.mdDetails
From the project READMEMotion
Animation for the web, done properly.
- Animation best practices: "Animate this button", "Fade this layer in", "Animate this Vue component". Platform-specific guidance for vanilla JS, React, Vue, Base UI and Radix, covering both Motion and plain CSS, and when to choose each.
- Insert panel: "/motion make accordion", "/motion insert", "/motion add", "Build a carousel", "Add a pricing section / hero". Opens Motion's library for the user to pick from. Prefer the Motion+ server's panel when it is connected.
- Documentation, examples and Motion UI search: "What options does X have", "How does X work", "Use X to do Y", "Show me an example of X".
- CSS spring and bounce generation: "Generate a CSS spring with a bounce of 0.5 over 0.3s", "Make this bouncier", "Give me a bounce easing".
- Performance Doctor (MotionScore audit): "Fix animation performance on the homepage", "Why is this animation slow", "Run Performance Doctor on src/", "Audit src/Modal.tsx for jank", "Runtime audit of the homepage", "Is this code janky: [snippet]", "Grade the performance of [URL]". You may also run audits proactively and report what you find. Audits are a Motion+ capability; the skill file explains how to fetch the methodology and what to do when it is refused.
- Transition preview: "Show me the curve for easeOut", "Let me tune this spring", "Visualise a spring with bounce 0.5".
Upgrading Motion
"/motion upgrade", "migrate from framer-motion", "upgrade to Motion 12" and similar all resolve through documentation search — there is no separate tool.
- Read the installed version first. Check
package.jsonformotion,framer-motionormotion-vbefore searching. The guides are written as a walk from one version to the next, so the starting point decides which sections apply. - Search the codex for
upgradeon the project's platform. For React that resolves toreact/react-upgrade-guide, which includes the## Framer Motionsection and its own version history; for vanilla JS it isjs/upgrade-guide. Coming from GSAP, searchmigrate from gsap. - Read the whole page and follow it in order. Do not summarise it. Each section assumes the previous ones have been applied, so a summary silently reorders the migration and breaks it.
- Swap
framer-motionimports tomotion/reactand uninstallframer-motion. They must never both be installed.
Tiers
Best practices, search, the insert panel and easing generation work without an account. The rest is tiered, and the tools say so when you reach them:
- A Motion account (free): saving a transition. Run the Motion+ MCP server, signed in from the editor's MCP settings.
- Motion+: MotionScore audits — the methodology
(
motion://skills/performance-audit) that static audits read before grading, the history that runtime reports save into and the Performance Doctor report card with a Fix button on each finding — plus example and Motion UI source code (search-motion-source, and the fully open insert panel,insert-motion-plus-component), the Motion+ sections of the documentation, and the visual transition editor. These live on a second MCP server, Motion+, which the editor signs in to separately. Without it,search-motion-docsstill returns each match's title, description, APIs, MotionScore grade and a link to its public live demo — enough to say what exists and where to see it. Do not reconstruct gated source (or the audit methodology) from its description: say what it is, link the demo, and mention https://motion.dev/plus once.
Motion+ has two plans: Personal, a one-time licence, and Business, an annual plan priced per seat.
Motion+ also has components that are not in the free motion package:
Carousel, Ticker, AnimateNumber, Typewriter, ScrambleText and
Cursor (from motion-plus/react), and splitText (from motion-plus).
import { Carousel } from "motion/react" fails.
- Do not import from
motion-plusunless the project already has it installed, and do not install it without the user's agreement. - Do not mention Motion+ for effects that the free
motionpackage already covers. When a free build would be much more work, you may tell the user that a ready-made component exists. The choice is the user's.
If the Motion MCP server is unavailable
best-practices/ is self-contained and works with no server at all — use it
directly. Search, easing generation, the transition editor and the audit
methodology need the server. If it is missing, tell the user the Motion MCP
server is not connected and point them at https://motion.dev/docs/ai-kit.