Communitygithub.com

thatrebeccarae/claude-marketing

Bonnes pratiques pour la production vidéo Remotion — animations ressort, motifs d'interpolation, effets de dessin SVG, transitions de scène, animations de graphiques, intégration audio et rendu. À utiliser lors de la création de vidéos programmatiques avec Remotion, de contenu animé ou de vidéos marketing par code.

Qu'est-ce que claude-marketing ?

Ce skill fournit un ensemble structuré de bonnes pratiques et de modèles pour créer des vidéos programmatiques avec Remotion, une bibliothèque de production vidéo basée sur React. Il couvre les animations basées sur la physique (spring), les motifs d'interpolation (zoom, parallaxe, simulation de défilement), les effets de révélation SVG, les transitions de scène via TransitionSeries, les animations de graphiques (barres, lignes, camemberts, compteurs) et l'intégration audio. Il est particulièrement utile pour les développeurs et créateurs de contenu qui souhaitent produire des vidéos marketing animées de manière programmatique. Le skill inclut également des règles de performance et des anti-patrons pour éviter les erreurs courantes. Il est compatible avec les agents d'IA comme Claude Code, Cursor ou Codex, et peut être installé localement pour guider la génération de code Remotion.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thatrebeccarae/claude-marketing/tree/HEAD/skills/remotion-video

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Production Vidéo Remotion

Bonnes pratiques pour créer des vidéos programmatiques avec Remotion — animations, transitions, graphiques et rendu.

Installation

git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/remotion-video ~/.claude/skills/

Capacités principales

  • Préréglages d'animations ressort (rebondissant, lisse, net, décalé)
  • Motifs d'interpolation (zoom caméra, parallaxe, simulation de défilement)
  • Animations de dessin SVG (tracé de chemin, révélation de trait)
  • Transitions de scène via TransitionSeries
  • Superposition AbsoluteFill pour le compositing
  • Animations de graphiques (barres croissantes, lignes tracées, révélation circulaire, compteurs de nombres)
  • Intégration et synchronisation audio
  • Configuration du rendu

Préréglages ressort

Utilisez spring() de Remotion pour des animations basées sur la physique :

PréréglageConfigurationCas d'utilisation
Rebondissantmass: 0.5, damping: 8, stiffness: 120Révélations ludiques, rebonds de logo
Lissemass: 1, damping: 15, stiffness: 80Transitions UI, glissements
Netmass: 0.8, damping: 20, stiffness: 200Interactions rapides, bascules
DécaléTout préréglage avec décalage d'image par élémentRévélations de liste, animations de grille
import { spring, useCurrentFrame, useVideoConfig } from "remotion";

const frame = useCurrentFrame();
const { fps } = useVideoConfig();

const scale = spring({
  frame,
  fps,
  config: { mass: 0.5, damping: 8, stiffness: 120 },
});

Motifs d'interpolation

Zoom caméra

import { interpolate } from "remotion";

const zoom = interpolate(frame, [0, 30], [1, 1.5], {
  extrapolateRight: "clamp",
});

Couches parallaxe

const bgX = interpolate(frame, [0, 100], [0, -50]);
const fgX = interpolate(frame, [0, 100], [0, -150]);

Simulation de défilement

const scrollY = interpolate(frame, [0, 90], [0, -800], {
  extrapolateRight: "clamp",
});

Dessin SVG

Animez strokeDashoffset pour révéler des chemins SVG :

const pathLength = 500;
const draw = interpolate(frame, [0, 60], [pathLength, 0], {
  extrapolateRight: "clamp",
});

<path
  d="..."
  strokeDasharray={pathLength}
  strokeDashoffset={draw}
/>

Motifs d'animations de graphiques

MotifTechnique
Barres croissantesAnimer la hauteur de 0 à la cible, décaler chaque barre de 3 à 5 images
Lignes tracéesChemin SVG avec animation strokeDashoffset
Révélation circulaire/donutAnimer l'arrêt du dégradé conique ou le chemin d'arc SVG
Compteurs de nombresInterpoler de 0 à la cible, Math.round() pour l'affichage

Transitions de scène

import { TransitionSeries, linearTiming } from "@remotion/transitions";
import { fade } from "@remotion/transitions/fade";

<TransitionSeries>
  <TransitionSeries.Sequence durationInFrames={90}>
    <SceneOne />
  </TransitionSeries.Sequence>
  <TransitionSeries.Transition
    timing={linearTiming({ durationInFrames: 15 })}
    presentation={fade()}
  />
  <TransitionSeries.Sequence durationInFrames={90}>
    <SceneTwo />
  </TransitionSeries.Sequence>
</TransitionSeries>

Règles de performance

  1. Pas de useEffect pour les animations. Utilisez useCurrentFrame() + interpolate().
  2. Mémorisez les composants statiques. React.memo pour tout ce qui ne dépend pas de l'image.
  3. Préchargez les ressources. staticFile() pour les fichiers locaux, prefetch() pour les URL distantes.
  4. Gardez les compositions sous 30s pour des itérations de rendu rapides pendant le développement.
  5. Testez à la résolution cible (1920x1080 ou 1080x1080) avant le rendu final.

Anti-patrons

  • Pas de transition ou animation CSS — utilisez interpolate() et spring() de Remotion
  • Pas de setTimeout ou setInterval — synchronisation basée sur les images uniquement
  • Pas de positionnement en pixels absolus pour les mises en page réactives — utilisez AbsoluteFill + flex
  • Pas d'objets style en ligne recréés à chaque image — extrayez-les dans des constantes ou useMemo
  • Pas d'audio non contrôlé — définissez toujours explicitement volume et startFrom

Pour des exemples de code complets et des modèles de composition, consultez REFERENCE.md.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés