Generate animated videos and motion graphics from natural language descriptions. Creates a standalone Vite + React project with Framer Motion scenes that auto-play in the browser. Use when the user wants to create animations, motion graphics, video intros, animated presentations, or product demos.
npx skills add https://github.com/OneWave-AI/claude-skills --skill animate
Create animated videos and motion graphics from a natural language description. Outputs a standalone Vite + React + Framer Motion project that plays in the browser.
Break the user's description into a scene plan:
$ARGUMENTS for the user's animation descriptionAuto-detect the best approach based on the request:
| Request Type | Stack | When to Use |
|---|---|---|
| Product intro, presentation, marketing | Framer Motion (default) | Scene-based with text, icons, transitions |
| Generative art, particles, patterns | p5.js | Creative/algorithmic visuals |
| 3D objects, environments, product renders | Three.js + react-three-fiber | 3D scenes needed |
| Simple text/logo animation | CSS animations only | Minimal, no heavy deps |
Default to Framer Motion unless the request clearly needs something else.
~/animations/[project-name]/bash ~/.claude/skills/animate/scripts/scaffold.sh [project-name] [stack]~/.claude/skills/animate/assets/template-files/ into the projectRead the references for animation presets and scene patterns:
references/animation-presets.md — all available transitions, springs, easingsreferences/scene-patterns.md — example scene code patternsFor each scene, create a React component in client/src/components/video/video_scenes/:
motion.div with scene transition presets (fadeBlur, scaleFade, slideLeft, splitHorizontal, morphExpand, etc.)containerVariants and itemVariants for staggered content revealsvw units for responsive sizing (works at any resolution)var(--color-accent), var(--color-bg-dark), etc.).glass-panel class for frosted glass cards.text-gradient and .text-gradient-accent for gradient textCreate client/src/components/video/VideoTemplate.tsx:
SCENE_DURATIONS object (scene name -> milliseconds)useVideoPlayer hook to manage scene advancementAnimatePresence mode="wait" for smooth transitionscurrentScene indexUpdate client/src/index.css with the right colors:
If GEMINI_API_KEY environment variable is available:
references/gemini-integration.md for API detailscd ~/animations/[project-name]
npm install
npm run dev
Tell the user the animation is running at http://localhost:5173 and open it in the browser.
Pick transitions that match the story beat:
vw units for sizing so animations look good at any resolutionAnimatePresence mode="wait" so one scene exits before the next entersCreate beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Teaches the AI to design like a high-end agency. Defines the exact fonts, spacing, shadows, card structures, and animations that make a website feel expensive. Blocks all the common defaults that make AI designs look cheap or generic.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Take onewave-ai/animate from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm.
Without those the skill loads but fails at the first command.