motion-video
Skill7 starsChanged 4 months agoMITView on GitHub
Product animation, UI motion, portfolio videos — Apple-grade reveals, motion tokens, full production pipelines
13 other projects use a version of this.
Adopted by
Most recently taken up by
- whoamnesia/astudio-motiontheir own version, first seen Nov 8, 2026
- jocarrd/crux-agentstheir own version, first seen Nov 8, 2026
- verbodh-pte-ltd/motion-skillstheir own version, first seen Nov 1, 2026
- derek-zhuolin/motion-skilltheir own version, first seen Nov 1, 2026
- ooiyeefei/ccctheir own version, first seen Oct 25, 2026
- goosen-x/skillstheir own version, first seen Oct 20, 2026
Other versions13 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 13
- ooiyeefei/ccc★ 497same name
- derek-zhuolin/motion-skill★ 107same name
- bestagentkits/motion-video-skill★ 93same name
- farhan-syah/motion-video-skill★ 49same name
- jocarrd/crux-agents★ 4same name
- goosen-x/skills★ 2same name
- juninmd/skills★ 2same name
- Satori28/free-skills★ 2same name
- verbodh-pte-ltd/motion-skills★ 2same name
- danielvieirasilva0257-droid/claude-skills★ 1same name
3 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository95 other files it gives its agents.
- AGENTS.mdAGENTS.md
- accessibility-auditSkill
- agent-memory-profilesSkill
- agent-messaging-gatewaySkill
- agent-session-checkpointsSkill
- agent-skill-migrationSkill
- ai-interaction-designSkill
- animation-craftSkill
- animation-vocabularySkill
- apple-designSkill
- apple-desktop-automationSkill
- approval-sandbox-policiesSkill
- atomic-designSkill
- better-colorsSkill
- better-typographySkill
- better-uiSkill
- browser-research-agentSkill
- codex-opsSkill
- competitive-intelSkill
- component-catalogSkill
- content-designSkill
- creative-rendering-auditSkill
- cron-agent-workflowsSkill
- dashboard-from-researchSkill
- data-synthesisSkill
- design-extractSkill
- design-measurement-and-experimentationSkill
- design-sandbox-proofSkill
- design-system-referenceSkill
- design-systemsSkill
- design-to-code-handoffSkill
- dialkitSkill
- docker-environmentsSkill
- emil-design-engSkill
- figma-auditSkill
- figma-code-connectSkill
- figma-create-fileSkill
- figma-design-systemsSkill
- figma-ds-rulesSkill
- figma-generate-designSkill
- figma-generate-librarySkill
- figma-implement-designSkill
- figma-library-builderSkill
- figma-plugin-apiSkill
- figma-prototypeSkill
- figma-syncSkill
- figma-useSkill
- figma-web-captureSkill
- find-animation-opportunitiesSkill
- flutter-genSkill
- gateway-ops-observabilitySkill
- hermes-agent-bridgeSkill
- hyperframes-videoSkill
- improve-animationsSkill
- information-architectureSkill
- interaction-designSkill
- interface-craft-gateSkill
- interview-researchSkill
- ios-app-intentsSkill
- ios-performance-debuggingSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Check existing tokens: Do motion tokens already exist in figma_get_variables?
- Distinctive: line 68
Create these as design tokens (CSS custom properties or Figma variables):
- Very specific: line 163
Run the self-healing loop from /figma-use (IMPLEMENT → SCREENSHOT → ANALYZE → FIX → VERIFY, max 3 rounds).
- Distinctive: line 275
Figma → After Effects: Use Convertify or Overlord plugins to export native AE layers
- Distinctive: line 276
Figma → Rive: Import components, define state machine, animate transitions
- Distinctive: line 277
Figma → Lottie: After Effects + bodymovin plugin → JSON export
- Distinctive: line 315
Every motion implementation must:
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/motion-video — Product Animation & UI Motion Superagent
Autonomous agent for designing, specifying, and producing product videos, hero animations, UI motion sequences, and portfolio case study videos. Covers Apple's motion language, WWDC-grade reveals, micro-interactions, motion tokens, and full production pipelines from Figma to final delivery.
Current Mémoire Notes
Load these downloadable Notes when the task becomes implementation-specific:
remotion-video— React/Remotion scaffolds,npx remotion studio, and render command prep.hyperframes-video— HTML-first Hyperframes scaffolds, preview/lint/render command prep.website-to-video— route capture, product-flow storyboards, and browser-state-to-video workflow.motion-performance— 60fps, reduced-motion, queue, export, and download checks.
Freedom Level: Maximum
You operate as a motion design intelligence engine. You don't ask — you analyze the design, infer motion intent, specify animation details, create motion specs, generate code, and produce delivery-ready output. You burn tokens to get every timing curve, stagger pattern, and easing function right.
Key Principle: Motion is not decoration — it is communication. Every animation serves a purpose, feels natural, respects accessibility, and delights.
Core Loop
ANALYZE DESIGN → CLASSIFY MOTION → SPECIFY TOKENS → GENERATE CODE → VALIDATE → DELIVER1. ANALYZE DESIGN
- Read the canvas:
get_design_contextorfigma_take_screenshot— understand what exists - Identify motion candidates: Buttons, cards, modals, page transitions, data viz, hero sections
- Understand intent: What emotion? (delight, confidence, urgency, clarity)
- Check existing tokens: Do motion tokens already exist in
figma_get_variables? - Understand before animating — never add motion to what already moves
2. CLASSIFY MOTION
Motion Category Decision Tree
What type of motion is needed?
├── User interaction feedback?
│ ├── Button/input state change → Micro-interaction (100–350ms)
│ ├── Form validation → Micro-interaction with shake/success (200ms)
│ └── Hover/focus → Micro-interaction (150ms)
├── Navigation or state change?
│ ├── Page transition → Macro-transition (300–500ms)
│ ├── Modal/drawer open → Macro-transition (300ms)
│ └── Tab switch → Macro-transition (200ms)
├── Feature showcase or first impression?
│ ├── App launch / splash → Hero animation (800–1200ms)
│ ├── Feature reveal (WWDC-style) → Hero animation (3–8s per feature)
│ └── Onboarding sequence → Sequential reveal (2–5s total)
├── Data presentation?
│ ├── Chart/graph entry → Data viz animation (500ms+)
│ ├── Number counter → Data viz (500ms tick-up)
│ └── Table row load → Stagger pattern (50ms per row)
└── Portfolio / marketing video?
├── Case study → Full video pipeline (30–60s)
├── Product announcement → Apple keynote pattern (30–90s)
└── Social media clip → Quick loop (15–30s)3. SPECIFY TOKENS
Standard Motion Token Set
Create these as design tokens (CSS custom properties or Figma variables):
/* Durations */
--motion-instant: 100ms;
--motion-fast: 160ms;
--motion-normal: 240ms;
--motion-slow: 360ms;
--motion-dramatic: 800ms;
/* Easing Functions */
--motion-ease-default: cubic-bezier(0.4, 0, 0.2, 1);
--motion-ease-in: cubic-bezier(0.4, 0, 1, 1);
--motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
--motion-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
/* Spring Physics (for native/Framer Motion) */
--motion-spring-stiffness: 100;
--motion-spring-damping: 12;
--motion-spring-mass: 1;
/* Stagger */
--motion-stagger-child: 50ms;
--motion-stagger-max: 300ms;Distance-Based Timing
- Short (0–100px): 150ms
- Medium (100–300px): 300ms
- Long (300px+): 500ms
4. GENERATE CODE
Tool Decision Tree
What output format?
├── Web (React/Next.js)?
│ ├── Simple transitions → CSS transitions + Tailwind
│ ├── Complex sequences → Framer Motion / GSAP
│ ├── Scroll-triggered → GSAP ScrollTrigger or CSS animation-timeline
│ └── Data viz → Recharts with custom animation props
├── Interactive embed?
│ ├── Lightweight loop → Lottie JSON (from After Effects)
│ ├── State machine → Rive (.riv file)
│ └── 3D interactive → Spline embed
├── Video deliverable?
│ ├── Portfolio quality → After Effects → ProRes 422 HQ (4K)
│ ├── Web playback → MP4 H.264 or WebM VP9
│ ├── Social → MP4 1080p (16:9 landscape, 9:16 stories, 1:1 square)
│ └── Quick share → GIF (30fps, max 5MB)
└── Native app?
├── iOS → Spring animations (UIView.animate or SwiftUI .spring())
├── visionOS → Spline → native Xcode project
└── Android → MotionLayout or Compose animationsFramer Motion Pattern (React)
import { motion } from "framer-motion"
// Stagger children
const container = {
hidden: { opacity: 0 },
show: {
opacity: 1,
transition: { staggerChildren: 0.05 }
}
}
const item = {
hidden: { opacity: 0, y: 20 },
show: {
opacity: 1, y: 0,
transition: { type: "spring", stiffness: 100, damping: 12 }
}
}
<motion.div variants={container} initial="hidden" animate="show">
{items.map(i => <motion.div key={i} variants={item} />)}
</motion.div>CSS Motion Pattern
.element {
transition: transform var(--motion-normal) var(--motion-ease-default),
opacity var(--motion-normal) var(--motion-ease-default);
}
@media (prefers-reduced-motion: reduce) {
.element { transition: none; }
}5. VALIDATE (Self-Healing — MANDATORY)
Run the self-healing loop from /figma-use (IMPLEMENT → SCREENSHOT → ANALYZE → FIX → VERIFY, max 3 rounds). Motion-specific checks: 60fps minimum, prefers-reduced-motion fallback, motion tokens (no hardcoded ms), spring/ease-out (not linear), micro-interactions under 500ms, stagger on lists, GPU properties only (transform/opacity), no flash >3/sec.
6. DELIVER
Delivery Format Matrix
| Context | Format | Specs |
| Web embed | MP4 H.264 / WebM VP9 | 1080p, autoplay muted loop |
| Portfolio | ProRes 422 HQ | 4K, lossless |
| Social landscape | MP4 | 1920x1080, 60fps |
| Social stories | MP4 | 1080x1920, 60fps |
| Social square | MP4 | 1080x1080, 60fps |
| Interactive web | Lottie JSON or Rive .riv | Lightweight, 120fps capable |
| Quick share | GIF | 30fps, max 5MB |
| iOS native | SwiftUI .spring() | Match system motion |
| visionOS | Spline native | Windows/Volumes/Spaces |
Apple Motion Language Reference
Liquid Glass (WWDC 2025)
- Translucent, fluid material that reflects and refracts surroundings
- Real-time light rendering (specular highlights)
- Spring-based animations — elements settle with subtle rebounds
- Interface "breathes" and reacts instantly
- Depth-of-field on UI for hero moments
- Accessibility: auto-simplifies under Reduce Motion, adds opacity when transparency disabled
Feature Reveal Pattern ("Hero Moment")
- Device in realistic context (hand holding iPhone)
- Zoom into UI area
- Depth-of-field blur background
- Animate feature with spring physics
- Subtle glow/highlight to draw focus
- Zoom back out to show feature in context
Timing: 3–8s per feature, spring easing (stiffness: 100, damping: 12), 50–100ms stagger, 60fps minimum
Keynote Video Structure
- Hook (0–3s): Dramatic intro, feature name, quick benefit
- Problem (3–10s): What users struggle with
- Solution Demo (10–40s): Feature in action, multiple use cases
- CTA (40–50s): Why it matters, availability
- Outro (50–60s): Product shot, branding
Portfolio Case Study Video Structure
- Title & Branding (2–3s) — Logo, project name, subtle scale 1.02x
- Problem & Insight (5–8s) — Research findings, annotated mockups, slide-in reveals
- Design Solution (15–30s) — Full user flow animated end-to-end, scroll-through, interactions
- Interaction Details (8–12s) — Micro-interaction close-ups, state sequences
- Device Mockup (5–8s) — Animated device frame with UI, slight perspective rotation
- Final Screens (3–5s) — Hero shot, metrics, CTA
Visual Design: Dark backgrounds (#000 or #0a1420), clean typography, floating elements with shadows, 3D depth
UI Animation Patterns
Micro-Interactions
| Pattern | Duration | Easing | Details |
| Button hover | 150ms | ease-out | scale 1.02, shadow increase |
| Button press | 100ms | ease-in | scale 0.98, shadow decrease |
| Input focus | 150ms | ease-out | border color, shadow, background |
| Input error | 200ms | spring | shake 2x, red border |
| Input success | 200ms | ease-out | green border, checkmark slide |
| Toast enter | 300ms | ease-out | slide up + fade in |
| Toast exit | 300ms | ease-in | slide down + fade out |
| Skeleton pulse | 1500ms | linear | opacity 0.6→1→0.6 loop |
| Loading dots | 300ms ea | linear | 3 dots, 100ms stagger |
Macro-Transitions
| Pattern | Duration | Details |
| Push left | 300–500ms | Outgoing slides left, incoming from right |
| Dissolve | 400ms | Fade overlap |
| Zoom | 400ms | Scale 0.95→1.0 with fade |
| Shared element | 300–500ms | Element morphs between pages |
| Drawer | 300ms | Slide from edge + scrim fade |
| Modal | 300ms | Scale up from center + scrim |
Data Viz Animations
| Element | Duration | Easing | Stagger |
| Bar chart | 500ms | ease-out | 50ms per bar |
| Line chart | 600ms | ease-out | stroke-dashoffset |
| Pie chart | 500ms | ease-out | 50ms per slice |
| Number counter | 500ms | ease-out | JS counter tick |
| Table rows | 200ms | ease-out | 50ms per row |
Onboarding Sequential Reveal
- Background fade (200ms, 0ms delay)
- Headline slide-up (300ms, 100ms delay)
- Hero image/animation (500ms, 200ms delay)
- Body text fade (300ms, 400ms delay)
- CTA scale-in pulse (200ms, 600ms delay)
- Tooltip appear (200ms, 800ms delay)
Figma → Video Production Pipeline
Workflow
Figma Design → Motion Spec (JSON) → Animation Tool → Render → DeliverFigma → After Effects: Use Convertify or Overlord plugins to export native AE layers Figma → Rive: Import components, define state machine, animate transitions Figma → Lottie: After Effects + bodymovin plugin → JSON export Figma → CSS/GSAP: Manual specification from motion tokens
Motion Spec Format
{
"animation": "card-enter",
"element": "metric-card",
"trigger": "viewport-enter",
"keyframes": [
{ "time": 0, "opacity": 0, "y": 20 },
{ "time": 0.3, "opacity": 1, "y": 0 }
],
"easing": "spring(100, 12, 1)",
"duration": 300,
"stagger": 50
}Tools Reference
| Tool | Best For | Output | Performance |
| After Effects | Complex sequences, portfolio | MP4, Lottie JSON | Excellent |
| Rive | Interactive, state machines | .riv, MP4 | Excellent (GPU) |
| Spline | 3D UI, visionOS | Native app, MP4 | Excellent (WebGL) |
| Framer Motion | React web animations | React components | Excellent |
| GSAP | Scroll-triggered, complex web | JS/CSS | Excellent |
| CSS transitions | Simple state changes | CSS | Best (native) |
| Lottie | AE → interactive playback | JSON | Very Good |
| Principle | High-fidelity prototypes | Video | Very Good |
Accessibility (MANDATORY)
Every motion implementation must:
- Respect
prefers-reduced-motion— disable animations, show static fallback - Duration ≤ 5 seconds (or provide pause button)
- No flashing >3/sec (seizure risk)
- Color + shape communicate info, never color alone
- Screen reader announces state changes
- Keyboard shortcuts for animated interactions
- Test on low-end hardware (no jank)
- GPU-accelerated properties only (transform, opacity)
Anti-Patterns
- Linear easing everywhere — almost always wrong; use spring or ease-out
- Animating width/height — causes layout thrash; use transform: scale
- No reduced-motion fallback — accessibility violation
- Stagger >300ms total — users shouldn't wait for last item
- Micro-interaction >500ms — feels sluggish
- Infinite spin without pause — accessibility violation
- Hardcoded ms values — use motion tokens
- backdrop-filter animation — causes jank; animate opacity of blur layer instead
- 24fps for UI motion — 60fps minimum (24fps only for cinematic video)
- Motion without purpose — if it doesn't guide attention, provide feedback, or clarify state, remove it
Rules
- Always specify motion tokens — never hardcode timing or easing
- Always include accessibility fallback —
prefers-reduced-motionis non-negotiable - Always validate on device — screenshot, record, measure fps
- Always use GPU properties — transform and opacity only
- Always stagger lists — 50ms per child, max 300ms total
- Spring > cubic-bezier — for anything interactive (iOS especially)
- Self-heal — screenshot after implementation, fix issues, verify
- Motion is communication — every animation must serve a purpose
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

