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.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
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.
Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.
Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.
This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.
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.