make-video
Make videos drawn with code: motion graphics, launch and explainer videos, animated shorts, animated charts and data, logo…
Patterns for using Helios with Framer Motion. Use when you want to use Framer Motion's physics and transitions but need frame-perfect synchronization with Helios.
Claude Code
$ npx -y skills add BintzGavin/helios --skill framer-motion --agent claude-code
Codex
$ npx skills add BintzGavin/helios --skill framer-motion -a codex -y
Cursor
$ npx skills add BintzGavin/helios --skill framer-motion -a cursor -y
Gemini CLI
$ npx skills add BintzGavin/helios --skill framer-motion -a gemini-cli -y
GitHub Copilot
$ npx skills add BintzGavin/helios --skill framer-motion -a github-copilot -y
OpenCode
$ npx skills add BintzGavin/helios --skill framer-motion -a opencode -y
Windsurf
$ npx skills add BintzGavin/helios --skill framer-motion -a windsurf -y
name: example-framer-motion description: Patterns for using Helios with Framer Motion. Use when you want to use Framer Motion's physics and transitions but need frame-perfect synchronization with Helios.
Framer Motion animations are typically time-based. To synchronize them with Helios (which is frame-based and scrubbable), you must map the Helios frame state to MotionValues.
Ensure you have the `useVideoFrame` hook (see `examples/react/SKILL.md`).
Use `useTransform` to map the current frame (from `useVideoFrame`) to animation values.
import { useMotionValue, useTransform, motion } from 'framer-motion';
import { useVideoFrame } from './hooks/useVideoFrame';
export const MyComponent = ({ helios }) => {
// 1. Get current frame
const frame = useVideoFrame(helios);
// 2. Create a MotionValue for the frame
const frameMv = useMotionValue(0);
// Sync MotionValue whenever frame changes
useEffect(() => {
frameMv.set(frame);
}, [frame, frameMv]);
// 3. Transform Frame -> Animation Value
// Example: Rotate 360 degrees over 60 frames (0 to 60)
const rotate = useTransform(frameMv, [0, 60], [0, 360]);
// Example: Opacity fade in over first 30 frames
const opacity = useTransform(frameMv, [0, 30], [0, 1]);
return (
<motion.div
style={{
width: 100,
height: 100,
background: 'blue',
rotate, // Bind transformed value
opacity
}}
/>
);
};For better performance in deep trees, update a shared `MotionValue` directly in the subscription, bypassing React state.
const frameMv = useMotionValue(0);
useEffect(() => {
const unsubscribe = helios.subscribe((state) => {
// Update MotionValue directly - no React re-render!
frameMv.set(state.currentFrame);
});
return unsubscribe;
}, [helios, frameMv]);
const x = useTransform(frameMv, [0, 100], [0, 500]);
return <motion.div style={{ x }} />;Programmatic video creation with web technologies you already know. CSS animations just work.
Make videos drawn with code: motion graphics, launch and explainer videos, animated shorts, animated charts and data, logo…
Core API for Helios video engine. Use when creating compositions, managing timeline state, controlling playback, or subscribing…
Story-first motion design philosophy for animated video: motion must earn its place; arc (establish, complicate, resolve); show…
End-to-end production plan template for feeling-first cinematic product promos: brief interrogation, 45s beat structure (cold…
Opt-in library of established visual styles for code-drawn Helios videos: style cards (colour rules, type, motion grammar, a…
Patterns for using Helios with Vanilla Canvas API. Use when building high-performance 2D/3D animations without frameworks.
Overlay doctrine for captions in HyperFrames videos — the caption MODEL (drop / rail / embed) and the rule that captions are an…
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when…
This skill should be used when a Seedance 2.0 prompt contains generic AI filler, hollow superlatives, vague cinematic language,…