Agent skill
react-animation
ReactBits animations for Remotion - curated for aesthetic excellence in video production
Install this agent skill to your Project
npx add-skill https://github.com/notedit/happy-skills/tree/main/skills/video/react-animation
Metadata
Additional technical details for this skill
- tags
- react-animation, reactbits, remotion, animation, video, effects, text, backgrounds, motion-graphics
SKILL.md
When to use
Use this skill when creating Remotion video compositions that need aesthetically refined visual effects. Components are curated for motion graphics excellence, categorized by visual style.
Installation
npx shadcn@latest add https://reactbits.dev/r/<Component>-TS-CSS
π¨ Aesthetic Categories
Components organized by visual style. Avoid mixing more than 2 styles in one video.
1. Elegant & Soft (δΌι ζε)
Smooth, cinematic, refined. Best for luxury brands, emotional storytelling.
Text
| Component | Install | Aesthetic |
|---|---|---|
| BlurText | npx shadcn add https://reactbits.dev/r/BlurText-TS-CSS |
Blur-to-clear cinematic reveal |
Backgrounds
| Component | Install | Aesthetic |
|---|---|---|
| Aurora | npx shadcn add https://reactbits.dev/r/Aurora-TS-CSS |
Flowing northern lights |
| Silk | npx shadcn add https://reactbits.dev/r/Silk-TS-CSS |
Minimalist fabric waves |
| Grainient | npx shadcn add https://reactbits.dev/r/Grainient-TS-CSS |
Grainy artistic gradients |
Effects
| Component | Install | Aesthetic |
|---|---|---|
| Ribbons | npx shadcn add https://reactbits.dev/r/Ribbons-TS-CSS |
Flowing silk ribbons |
| ShapeBlur | npx shadcn add https://reactbits.dev/r/ShapeBlur-TS-CSS |
Soft abstract geometry |
Usage Pattern:
const ElegantScene: React.FC = () => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
return (
<AbsoluteFill>
<Aurora time={frame / fps} colorStops={['#3A29FF', '#FF94B4', '#FF3232']} />
<BlurText text="Elegant Title" startFrame={15} />
</AbsoluteFill>
);
};
2. Modern & Tech (η°δ»£η§ζ)
Cutting-edge, dynamic, futuristic. Best for tech products, startups, innovation.
Text
| Component | Install | Aesthetic |
|---|---|---|
| GlitchText | npx shadcn add https://reactbits.dev/r/GlitchText-TS-CSS |
Digital glitch artifacts |
| GradientText | npx shadcn add https://reactbits.dev/r/GradientText-TS-CSS |
Flowing gradient sweep |
Backgrounds
| Component | Install | Aesthetic | Disable Mouse |
|---|---|---|---|
| Iridescence | npx shadcn add https://reactbits.dev/r/Iridescence-TS-CSS |
Rainbow oil-slick | mouseReact={false} |
| LiquidChrome | npx shadcn add https://reactbits.dev/r/LiquidChrome-TS-CSS |
Liquid metal surface | interactive={false} |
| Particles | npx shadcn add https://reactbits.dev/r/Particles-TS-CSS |
Floating data points | moveParticlesOnHover={false} |
Effects
| Component | Install | Aesthetic |
|---|---|---|
| MetaBalls | npx shadcn add https://reactbits.dev/r/MetaBalls-TS-CSS |
Organic liquid fusion |
| Antigravity | npx shadcn add https://reactbits.dev/r/Antigravity-TS-CSS |
Ethereal particle field |
Usage Pattern:
const TechScene: React.FC = () => (
<AbsoluteFill style={{ background: '#000' }}>
<Iridescence mouseReact={false} color={[0.3, 0.1, 0.8]} speed={1} />
<GlitchText speed={0.5} enableShadows enableOnHover={false}>
FUTURE IS NOW
</GlitchText>
</AbsoluteFill>
);
3. Luxury & Premium (ε₯’ει«η«―)
Metallic, refined, sophisticated. Best for luxury goods, finance, high-end services.
Text
| Component | Install | Aesthetic |
|---|---|---|
| ShinyText | npx shadcn add https://reactbits.dev/r/ShinyText-TS-CSS |
Metallic sheen sweep |
Backgrounds
| Component | Install | Aesthetic |
|---|---|---|
| Silk | npx shadcn add https://reactbits.dev/r/Silk-TS-CSS |
Premium fabric texture |
Effects
| Component | Install | Aesthetic |
|---|---|---|
| StarBorder | npx shadcn add https://reactbits.dev/r/StarBorder-TS-CSS |
Animated gradient border |
Usage Pattern:
const LuxuryScene: React.FC = () => (
<AbsoluteFill style={{ background: '#0a0a0a' }}>
<Silk speed={0.5} color="#1a1a2e" />
<StarBorder color="#gold" speed="4s">
<ShinyText text="PREMIUM" color="#c9b037" shineColor="#fff" />
</StarBorder>
</AbsoluteFill>
);
4. Retro & Pixel (ε€ε€εη΄ )
Nostalgic, digital, lo-fi. Best for gaming, retro tech, vaporwave aesthetics.
Text
| Component | Install | Aesthetic |
|---|---|---|
| TextType | npx shadcn add https://reactbits.dev/r/TextType-TS-CSS |
Terminal typewriter |
| DecryptedText | npx shadcn add https://reactbits.dev/r/DecryptedText-TS-CSS |
Data decryption effect |
Transitions
| Component | Install | Aesthetic |
|---|---|---|
| PixelTransition | npx shadcn add https://reactbits.dev/r/PixelTransition-TS-CSS |
Pixel grid dissolve |
Backgrounds
| Component | Install | Aesthetic |
|---|---|---|
| LetterGlitch | npx shadcn add https://reactbits.dev/r/LetterGlitch-TS-CSS |
Matrix code rain |
| Dither | npx shadcn add https://reactbits.dev/r/Dither-TS-CSS |
Retro dithering |
| FaultyTerminal | npx shadcn add https://reactbits.dev/r/FaultyTerminal-TS-CSS |
CRT monitor effect |
Usage Pattern:
const RetroScene: React.FC = () => (
<AbsoluteFill style={{ background: '#000' }}>
<LetterGlitch glitchSpeed={100} glitchColors={['#0f0', '#00ff41']} />
<GlitchText>SYSTEM OVERRIDE</GlitchText>
</AbsoluteFill>
);
5. Energy & Dramatic (θ½ιζε§)
High-impact, dynamic, powerful. Best for action, sports, announcements.
Backgrounds
| Component | Install | Aesthetic | Disable Mouse |
|---|---|---|---|
| Lightning | npx shadcn add https://reactbits.dev/r/Lightning-TS-CSS |
Electric storm | None |
| Beams | npx shadcn add https://reactbits.dev/r/Beams-TS-CSS |
Volumetric light columns | None |
| LightRays | npx shadcn add https://reactbits.dev/r/LightRays-TS-CSS |
God rays, dramatic | followMouse={false} |
Usage Pattern:
const DramaticScene: React.FC = () => (
<AbsoluteFill>
<Lightning hue={45} intensity={0.8} speed={2} />
<BlurText text="THUNDER STRIKE" />
</AbsoluteFill>
);
6. Abstract & Artistic (ζ½θ±‘θΊζ―)
Experimental, artistic, unique. Best for creative projects, music videos.
Text
| Component | Install | Aesthetic |
|---|---|---|
| DecryptedText | npx shadcn add https://reactbits.dev/r/DecryptedText-TS-CSS |
Cryptic reveal |
Backgrounds
| Component | Install | Aesthetic | Disable Mouse |
|---|---|---|---|
| Plasma | npx shadcn add https://reactbits.dev/r/Plasma-TS-CSS |
Organic flowing colors | mouseInteractive={false} |
| Prism | npx shadcn add https://reactbits.dev/r/Prism-TS-CSS |
Light refraction | animationType='rotate' |
7. Utility (ιη¨ε·₯ε ·)
Enhance any scene.
Overlay
| Component | Install | Purpose |
|---|---|---|
| Noise | npx shadcn add https://reactbits.dev/r/Noise-TS-CSS |
Film grain texture overlay |
Usage Pattern:
const SceneWithGrain: React.FC = () => {
const frame = useCurrentFrame();
const { width, height } = useVideoConfig();
const canvasRef = useRef<HTMLCanvasElement>(null);
useEffect(() => {
const ctx = canvasRef.current?.getContext('2d');
if (!ctx || frame % 2 !== 0) return;
const imageData = ctx.createImageData(width, height);
for (let i = 0; i < imageData.data.length; i += 4) {
const seed = frame * 100000 + i / 4;
const val = Math.floor((Math.sin(seed) * 10000 % 1) * 255);
imageData.data[i] = imageData.data[i + 1] = imageData.data[i + 2] = val;
imageData.data[i + 3] = 15;
}
ctx.putImageData(imageData, 0, 0);
}, [frame]);
return (
<>
<YourScene />
<canvas ref={canvasRef} style={{ position: 'absolute', inset: 0, pointerEvents: 'none' }} />
</>
);
};
π§ Core Adaptation Patterns
Frame-Based Animation
Replace all time-driven animations with useCurrentFrame():
import { useCurrentFrame, useVideoConfig, interpolate, Easing } from 'remotion';
// Before: time accumulation
// After: deterministic from frame
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
const progress = interpolate(frame, [0, 30], [0, 1], {
easing: Easing.out(Easing.cubic),
extrapolateLeft: 'clamp',
extrapolateRight: 'clamp',
});
Seeded Randomness
Ensure deterministic rendering:
function seededRandom(seed: number): number {
const x = Math.sin(seed) * 10000;
return x - Math.floor(x);
}
const rand = seededRandom(frame * 1000 + index);
Shader Uniforms
For WebGL/OGL components:
// Time uniform
uniforms.iTime.value = frame / fps;
// Scripted mouse path (optional)
uniforms.iMouse.value.set(
0.5 + 0.3 * Math.sin(frame / fps),
0.5 + 0.2 * Math.cos(frame / fps * 0.7)
);
β οΈ Style Consistency Guidelines
DO:
- β Mix Elegant + Luxury styles (BlurText + ShinyText + Silk)
- β Mix Modern + Retro styles (GlitchText + LetterGlitch)
- β Use Noise overlay on ANY scene
- β Keep backgrounds subtle when text is prominent
DON'T:
- β Mix Elegant + Retro (BlurText + PixelTransition)
- β Mix Luxury + Glitch (ShinyText + GlitchText)
- β Use Lightning with complex text animations
- β Use more than 2 background effects simultaneously
π¦ Full Component List (35 curated)
Text (6)
BlurText, GlitchText, GradientText, ShinyText, DecryptedText, TextType
Backgrounds (18)
Aurora, Silk, Grainient, Lightning, Iridescence, LiquidChrome, Particles, Galaxy, Plasma, LetterGlitch, Beams, LightRays, Dither, FaultyTerminal, DarkVeil, PixelSnow, Balatro, Prism
Effects (10)
MetaBalls, Ribbons, ShapeBlur, Antigravity, StarBorder, PixelTransition
Utility (1)
Noise
β Removed Components
Why these were removed:
- Low aesthetic value: SplitText, FadeContent, AnimatedContent
- Style overlap: ElectricBorder (covered by GlitchText), Orb (covered by Iridescence)
- Outdated aesthetics: Hyperspeed, Cubes, Squares
- Narrow use cases: CircularText, RotatingText, TrueFocus
- Functional > Aesthetic: Counter, Stepper, Carousel (UI components)
π¬ Recommended Combinations
| Project Type | Text | Background | Effect | Mood |
|---|---|---|---|---|
| Luxury Brand | ShinyText | Silk | StarBorder | Premium |
| Tech Startup | GradientText | Iridescence | - | Innovative |
| Creative Studio | BlurText | Aurora | Ribbons | Artistic |
| Gaming | GlitchText | LetterGlitch | PixelTransition | Edgy |
| Documentary | BlurText | Grainient | Noise | Cinematic |
| Event Promo | DecryptedText | Lightning | - | Energetic |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
screenshot-analyzer
Analyze product screenshots to extract feature lists and generate development task checklists. Use when: (1) Analyzing competitor product screenshots for feature extraction, (2) Generating PRD/task lists from UI designs, (3) Batch analyzing multiple app screens, (4) Conducting competitive analysis from visual references.
feature-pipeline
Execute implementation tasks from design documents using markdown checkboxes. Use when (1) implementing features from feature-analyzer output, (2) resuming interrupted work, (3) batch executing tasks. Triggers on 'start implementation', 'run tasks', 'resume'.
feature-analyzer
Turn ideas into fully formed designs and specs through natural collaborative dialogue. Use when planning new features, designing architecture, or making significant changes to the codebase.
feature-dev
Guided feature development with codebase understanding and architecture focus. Use for implementing features systematically: explore β clarify β design β implement β test β review.
issue-flow
AI-Native Issue-Driven development workflow. From GitHub Issue to merged PR: parse issue, explore codebase, design technical plan, execute with agent team, create PR, and cleanup. Use when a user wants to implement a GitHub Issue end-to-end: `/issue-flow #123` or `/issue-flow` to pick from open issues.
video-producer
End-to-end Remotion video production from natural language briefs. Orchestrates narrative structure, scene animation, visual style, and rendering to produce complete promotional videos. Use when a user wants to create a complete video (product promo, typographic piece, social media animation) β not just individual animation effects. Coordinates gsap-animation, spring-animation, and react-animation skills as building blocks.
Didn't find tool you were looking for?