animations
community[skill]
Fundamental animation skills for Remotion
$
/plugin install claude-code-video-toolkitdetails
All animations MUST be driven by the useCurrentFrame() hook.
Write animations in seconds and multiply them by the fps value from useVideoConfig().
For eased motion, prefer interpolate with explicit frame ranges and an easing—especially Easing.bezier, which matches CSS cubic-bezier so timing can be shared with web specs and curve editors. See timing.
import { useCurrentFrame, Easing } from "remotion";
export const FadeIn = () => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
const opacity = interpolate(frame, [0, 2 * fps], [0, 1], {
extrapolateRight: "clamp",
extrapolateLeft: "clamp",
easing: Easing.bezier(0.16, 1, 0.3, 1),
});
return <div style={{ opacity }}>Hello World!</div>;
};
CSS transitions or animations are FORBIDDEN - they will not render correctly.
Tailwind animation class names are FORBIDDEN - they will not render correctly.
technical
- github
- digitalsamba/claude-code-video-toolkit
- stars
- 928
- license
- MIT
- contributors
- 1
- last commit
- 2026-04-20T10:52:53Z
- file
- .claude/skills/remotion-official/rules/animations.md