Communitygithub.com

motion-storyboard

Storyboardez un script papercut avant d'écrire le code. Génère la table Caméra/Coupe, un bloc par scène avec des événements au niveau de la trame sur chaque mot accentué, le plan SFX et le rythme de preuve. Utilisez-le pour « storyboarder ce script » ou « planifier les mouvements de caméra et les coupes ».

Qu'est-ce que motion-storyboard ?

Ce skill génère un storyboard détaillé pour des animations papercut à partir d'un script narratif. Il produit une table Caméra/Coupe qui spécifie le mouvement de caméra et le type de coupe pour chaque scène, évitant ainsi que l'agent de scène invente des transitions non conformes au kit. Chaque scène est développée en un bloc structuré avec des événements au niveau de la trame sur chaque mot accentué, un plan d'effets sonores (SFX), et une preuve par capture d'écran réelle. Le storyboard sert de plan directeur pour l'outil `motion-build` qui assemble le projet final. Il est conçu pour fonctionner avec les kits de style papercut et nécessite les fichiers `narration/script.json` et `video/STORYBOARD.md` préexistants.

Compatible avec~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/boytegar/motion-skills/tree/HEAD/skills/motion-storyboard

Demander à votre IA préférée

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

Documentation

Papercut storyboard

Le storyboard est le plan à partir duquel chaque scène est construite. Il nomme le mouvement de caméra et la coupe pour chaque scène, afin que l'agent de scène ne les invente pas. Un brief qui dit "CameraPush ou votre propre transformation" reçoit une poussée plate ou un zoom artisanal dans chaque scène, et les mouvements de caméra du kit restent inutilisés.

Prévol

  • Installation : le minimum suffit. Avec une bibliothèque, vérifiez style/$MOTION_STYLE/remotion/CATALOG.md (sections "paper/camera.tsx" et "paper/transitions.tsx") pour les props de chaque mouvement et quand il convient. Si le fichier est manquant ou obsolète, exécutez python3 $MOTION_LIB/core/tools/catalog.py. Résolvez $MOTION_LIB à partir de l'environnement, sinon à partir de la ligne MOTION_LIB= dans ~/.config/motion-explainer/config.env, sinon demandez une fois.
  • Nécessite narration/script.json et video/STORYBOARD.md avec le bloc HOOK et la table de mise en scène (bannière, décor, accessoire, moment UI, mascotte, gag par ligne). Manquants : exécutez motion-hook et motion-script.
  • Feuille de fond pour choisir les décors : style/$MOTION_STYLE/remotion/public/bg/backdrops/_sheet.jpg. Ouvrez seulement ce dont l'étape a besoin.

1. Règles globales

Placez-les en haut de STORYBOARD.md, sous le bloc HOOK. Palette par rôle (faites pivoter les couleurs de fond par décor) : $MOTION_LIB/style/$MOTION_STYLE/docs/style-guide.md section 5. Polices : section 6. Toile et zones : section 4. Un déverrouillage de fonctionnalité qui convient à une métaphore étendue peut utiliser la section 12.

  • 1080x1920, 30 ips. Bannière à 14-21% de hauteur, bande de légende 68-80% (elle se décale par scène pour rester hors des visages), bas 20% dégagé.
  • Lumière depuis le coin supérieur gauche. Saturation uniquement sur les personnages, les légendes et les signaux.

2. Table Caméra / Coupe

Une ligne par scène, avant les blocs de scène. Chaque ligne nomme un composant du kit paper/camera.tsx et le type CutSeries (depuis paper/transitions.tsx) pour la coupe dans cette scène.

ScèneCaméra (paper/camera.tsx)Coupe entrante (type CutSeries)
S01HookOrbitCamera + Depth, SnapZoom sur ""none
S04NameCrane monte vers tearAway
S09PeakCrabTrack le long de whip
S10CTARackFocus vers téléphonetapePull
  • Options de caméra : OrbitCamera + Depth, SnapZoom, Crane, CrabTrack, DollyZoom, RackFocus, ForegroundPass, DutchTilt, FocusPulse, FreezeFrame, PullBack, PovMask, TimeRamp, TiltShift, FocusHunt, Handheld, et CameraPush (depuis paper/kit.tsx). La section paper/camera.tsx du catalogue indique quand chacun convient.
  • Options de coupe : hard, whip, zoomThrough, pageTurn, tearAway, tapePull, stampCut, infiniteZoom, popUpBook, keyhole, burnAway.
  • Un simple CameraPush est autorisé sur au maximum un tiers des scènes.
  • Copiez la caméra de chaque ligne dans l'en-tête de son bloc de scène. La colonne de coupe va dans episode.json sous "cuts": {"S04Name": {"kind": "tearAway"}} (aucune entrée signifie une coupe franche), que motion-build remplit.

3. Blocs de scène

Un bloc par scène, 1,5-5 s chacun, coupant aux limites des phrases :

## S03 : <rythme>  (5,6-8,2 s, 78 i)   BANNIÈRE : <LEÇON EN MAJUSCULES>
Emplacement/fond : <emplacement monde + couleur fond>     Caméra : <composant camera.tsx + params, depuis la table>   Coupe entrante : <type>
Distribution : <qui, accessoires>                       Bande légende : y=0,76
| Mot VO (accentué) | trame | événement                                    | spécification mouvement      |
| "<mot>"           | +6    | <accessoire entre / état bascule / agit>       | <ressort/glisse/échange + images>  |
Ambiance : <clignotement LED, oscillation au repos, étoiles, forme d'onde écran>
Bouillon : bannière + étiquettes, +-1,5 px toutes les 2 trames
SFX : <pop, carillon, clic...>
  • Développez chaque ligne de la table de mise en scène en événements au niveau de la trame : un par mot accentué (toutes les 0,4-0,8 s), mouvement ambiant toujours actif. Les trames sont des décalages par rapport au mot, lues plus tard avec cueOf(ID)(mot, n).
  • L'UI produit est la reconstruction grossière sur un moniteur ou un ordinateur portable en papier, avec des interactions factices (clic de curseur, frappe, progression, forme d'onde, défilement de liste).
  • Preuve : une fois par bobine, une capture d'écran réelle de la page source (une capture de navigateur via $MOTION_LIB/core/tools/capture.mjs, pas un redessin) collée sur une carte en papier, avec un cercle de marqueur rouge se dessinant autour de la ligne clé. Tout le reste reste une reconstruction papercut grossière.
  • Un rappel vers un décor antérieur avant l'APPEL À L'ACTION.

4. Règles de caméra et de transition

  • Chaque scène a un mouvement. Une poussée lente est la base. Ajoutez une orbite parallaxe sur les décors éclairés pour la profondeur, un punch-in ou snap zoom sur le mot accentué pour les chiffres et les blagues, un passage avant (objet papier flou devant l'objectif) ou un rack focus, un pull-back pour révéler l'échelle, et un freeze frame avec une étiquette sur le rythme de la mascotte en difficulté.
  • Principalement des coupes franches sur le changement de bannière. Un whip-pan avec flou de mouvement sur 2-3 changements de sujet, un zoom-through en entrant "à l'intérieur" d'un écran, d'une porte ou d'un miroir, au maximum un tournage de page ou déchirure par bobine (sur l'accroche ou un contraste avant/après), et la tape pull vers l'APPEL À L'ACTION (une bande kraft simple, avec une étiquette facultative pour imprimer un mot dessus).
  • La coupe de sortie de l'accroche porte le mouvement à travers elle. Appliquez la règle de motion-hook à S01 et S02.
  • Les transitions durent 6 à 12 trames, chacune avec son SFX (whip, zoom, page-flip, rip, tape-peel).
  • Dans un projet de bibliothèque, enchaînez les scènes avec la série de transitions du kit, ce qui maintient le début de chaque scène sur son image plan.json pour que la voix reste synchronisée.

5. Plan SFX

  • Sons aériens (whoosh, slide, whip, zoom) ensemble : au maximum un toutes les 2,5 s de bobine. cues.py imprime une note au-dessus de cela. Pour l'échelle, 12 en 33 s est bien et 24 en 26 s est distrayant.
  • Les entrées reçoivent des sons de contact (pop, thud, stamp) ou du silence. Comptez-les dans tools/cues.json avant le rendu audio.
  • Nommez les SFX depuis $MOTION_LIB/core/audio/CATALOG.md dans la ligne SFX: de chaque bloc. Les agents de scène écrivent les vraies lignes dans tools/cue_sheet.d/<Scène>.json.
  • Choisissez le préréglage de fond (episode.json "bed") et définissez cutSfx pour correspondre aux types de coupe : tearAway rip, tapePull tape-peel.

Porte

  • Chaque scène a une caméra et une coupe entrante, et un simple CameraPush est sur au maximum un tiers d'entre elles.

  • Chaque mot accentué a un événement ; le mouvement ambiant est listé.

  • Un rythme de preuve, un rappel, la tape pull ou whip vers l'APPEL À L'ACTION.

  • Au maximum un tournage de page ou déchirure ; sons aériens dans le budget.

  • Nommez l'anticipation et le rythme exagéré dans la table d'événements de chaque bloc de scène. Les 12 principes, mappés aux composants du kit, se trouvent dans $MOTION_LIB/style/$MOTION_STYLE/docs/motion-principles.md.

Remise

La prochaine étape est motion-build, qui échafaude le projet et transforme la table Caméra/Coupe et les limites de scène en episode.json. Il lit STORYBOARD.md et narration/script.json. La section Timing de STORYBOARD.md est générée plus tard, après la voix, donc laissez-la de côté.

Individual skills in this repo

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

Skills associés