motionwind

Convert Tailwind-like animate-* classNames into Motion props at build time.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/jangtrinh/EaseUI-Agent --skill motionwind
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: motionwind
Source: https://github.com/jangtrinh/EaseUI-Agent/tree/main/.claude/skills/motionwind
Command: npx skills add https://github.com/jangtrinh/EaseUI-Agent --skill motionwind

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

MotionWind provides a build-time Babel plugin that converts Tailwind-like animate-* classNames into Motion component props, eliminating boilerplate and runtime overhead.

Core Features & Use Cases

  • Scans JSX for static className strings with animate-* tokens and parses them into Motion props.
  • Rewrites <div> to <motion.div> with the corresponding props and auto-injects the necessary imports.
  • Works with Next.js and Vite setups, enabling zero-runtime transforms and seamless integration.
  • Enforces static classNames and lowercase HTML elements for reliable transforms.

Quick Start

Install motionwind and replace your animate-* classNames with static, Tailwind-like tokens in JSX to enable build-time transformation.

Frequently Asked Questions about motionwind

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert Tailwind animate-* classNames into Motion props?

You can convert Tailwind animate-* classNames into Motion props by applying a build-time Babel plugin that parses static className strings and rewrites standard HTML elements into motion components with corresponding props automatically.

Does MotionWind work with Next.js and Vite?

Yes, the build-time Babel plugin supports both Next.js and Vite setups, automatically transforming static JSX classNames into Motion props for zero runtime overhead and seamless integration.

How does build-time animation transform reduce runtime overhead?

Build-time animation transforms parse static animate-* tokens during compilation, rewriting standard JSX elements into motion components and injecting necessary imports directly, bypassing the need for runtime class parsing.

What are the limitations of converting animate-* classes at build time?

Build-time conversion enforces static className strings and strictly lowercase HTML elements to ensure reliable transforms, meaning dynamic classes, conflicting props, or non-standard tags will not be processed.

Do I need to manually import motion components for Tailwind animations?

Manual imports are unnecessary because the Babel plugin automatically injects use client declarations and motion imports when it rewrites standard JSX elements into motion components.