Communitygithub.com

storyboard

Storyboard une vidéo courte (Reels, TikTok, Shorts) à partir de son script : découpez le script en plans mot pour mot, donnez à chaque plan un cadre 9:16, le texte à l'écran, une note de montage et le son, et regroupez les prises en séances. Crée un dossier storyboard avec un tableau de bord consultable dans le navigateur, un PNG par plan et une planche contact.

Qu'est-ce que storyboard ?

Cette compétence (skill) transforme un script de vidéo courte (Reels, TikTok, Shorts) en un storyboard complet prêt pour le tournage et le montage. Elle découpe le script en plans individuels, attribue à chacun un type (face caméra, split, écran, graphique, b-roll), le texte à l'écran, la note de montage, le son, et génère une représentation visuelle 9:16 pour chaque plan. Le résultat est un dossier contenant un fichier `storyboard.json`, des fichiers HTML pour chaque plan, des images PNG, une planche contact et un tableau de bord HTML consultable dans le navigateur. La compétence inclut également un assistant de configuration initiale qui analyse les vidéos existantes de l'utilisateur (via ffmpeg, et éventuellement yt-dlp) pour personnaliser le style du storyboard (couleurs, typographie, types de plans, etc.) en fonction de son contenu. Elle est particulièrement utile pour les créateurs de contenu qui ont un script finalisé et veulent planifier efficacement le tournage et le montage, servant également de prompt pour construire les graphismes de la vidéo plan par plan. Ne doit pas être utilisée pour écrire ou retravailler le script lui-même ; le script doit être fourni tel quel.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Chefy3x/storyboard-skill/tree/main/storyboard

Demander à votre IA préférée

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

Aperçu

Depuis le README du skill

storyboard preview
storyboard preview

Documentation

Que fait storyboard ?

Un storyboard est le plan de tournage et le plan de montage pour une vidéo. Il est terminé lorsque l'utilisateur peut le lire de haut en bas, filmer chaque séance et remettre chaque plan au montage (ou à Claude) avec une image claire de ce qui se passe à l'écran, de ce que dit le texte et de ce qu'est le son.

Restez léger. Plans et séances, rien d'autre. Pas de schéma d'arc narratif, pas de transitions par plan, pas de charte graphique, pas de liste de contrôle. Si l'utilisateur veut plus, il le demandera.

Première exécution : configuration guidée

Exécutez la configuration lorsque ~/.claude/storyboard-profile/profile.md n'existe pas encore, juste après l'installation de la compétence, ou lorsque l'utilisateur demande de configurer ou réapprendre son style. Guidez-le une étape à la fois : dites en une phrase à quoi sert l'étape, faites-la, et attendez là où il est indiqué de demander. Gardez chaque message court ; la plupart des gens qui font ça sont des créateurs, pas des développeurs.

  1. Accueil. Un message court : ce que fait la compétence (script en entrée, une image pour chaque ligne en sortie, puis Claude construit les graphismes à partir de là) et que la configuration prend environ cinq minutes. Dites ensuite que la première chose nécessaire est un aperçu de leurs vidéos.

  2. Vérifier les outils. Recherchez Python 3, Google Chrome (ou Chromium / Edge) et ffmpeg. yt-dlp est un bonus pour les liens. Pour tout outil manquant, donnez la commande d'installation unique pour leur système (par exemple brew install ffmpeg sur un Mac, winget install ffmpeg sur Windows) et proposez de l'exécuter. Ne continuez pas tant que Chrome et ffmpeg ne fonctionnent pas.

  3. Poser des questions sur eux. Un message, répondu en une ligne chacun : leur pseudo et plateformes, le sujet de leur contenu, la durée habituelle de leurs vidéos, et comment ils les terminent (un mot-clé de commentaire, un abonnement, un lien dans la bio).

  4. Demander leurs vidéos. C'est l'étape importante, alors expliquez pourquoi : leurs storyboards doivent ressembler à leurs vidéos, pas à un modèle. Demandez 3 à 5 vidéos publiées qui montrent le mieux leur style, idéalement une avec des enregistrements d'écran ou des graphismes s'ils en font. Ils peuvent glisser-déposer les fichiers dans le chat (cela colle le chemin) ou coller des liens. Téléchargez les liens avec yt-dlp s'il est installé ; si un lien ne se télécharge pas, demandez le fichier. Mettez tout dans ~/.claude/storyboard-profile/source/.

  5. Étudier les vidéos. Pour chacune :

    • Images : ffmpeg -i v1.mp4 -vf "fps=1,scale=360:-2" -q:v 4 source/v1_%03d.jpg, puis regardez-les.
    • Coupes : ffmpeg -i v1.mp4 -vf "select='gt(scene,0.1)',showinfo" -f null - 2>&1 | grep -o "pts_time:[0-9.]*" donne les temps de coupe, vous obtenez ainsi la durée moyenne des plans. Les coupes de montage dans une tête parlante changent à peine l'image et sont manquées, alors vérifiez le nombre par rapport aux images à 1 image/s.
    • Mots : si whisper (ou un autre transcripteur) est installé, transcrivez-le. Sinon, lisez les légendes incrustées sur les images, ou demandez-leur de coller le script.

    Notez ce que vous voyez réellement, pas des suppositions : la répartition des types de plans (combien de visage vs écran vs b-roll), la durée moyenne des plans, le cadrage (plan moyen ou rapproché, où ils s'assoient, l'arrière-plan), comment les deux premières secondes accrochent, le texte à l'écran (graisse de police, casse, couleurs, style de surbrillance, où il se trouve), le style des légendes, les couleurs principales, les graphismes ou superpositions qui reviennent, les habitudes sonores, et comment l'appel à l'action (CTA) atterrit.

  6. Choisir leur image fixe du visage. Choisissez une image propre d'eux parlant à la caméra sans légende incrustée, recadrez-la en 9:16 (ffmpeg -ss <t> -i v1.mp4 -frames:v 1 -vf "crop=ih*9/16:ih,scale=540:960" face.jpg) et sauvegardez-la dans ~/.claude/storyboard-profile/face.jpg. Chaque plan de visage l'utilisera désormais.

  7. Écrire le profil. Sauvegardez ~/.claude/storyboard-profile/profile.md avec des sections pour Créateur (étape 3), Plans (répartition des types, durée moyenne, cadrage), Accroche, Texte à l'écran, Légendes, Couleurs, Son, CTA et Graphismes récurrents. Ensuite, écrivez ~/.claude/storyboard-profile/theme.css, en remplaçant les variables du kit par leur apparence :

    :root { --ink: #111; --accent: #ff5a1f; --on-accent: #fff; --bg: #f4f1ea;
            --grid: rgba(0,0,0,.05); --font: "Montserrat", sans-serif; }
    

    Utilisez une police qu'ils ont installée ; si la leur ne l'est pas, choisissez la plus proche qui l'est.

  8. Leur montrer et confirmer. Construisez un exemple de plan (leur style de titre sur leur image fixe du visage), rendez-le, montrez-le avec un résumé de trois lignes du profil, et demandez ce qui ne va pas. Corrigez jusqu'à ce qu'ils disent que cela ressemble à leur contenu.

  9. Passer la main. Dites-leur que la configuration est terminée et quoi faire ensuite : "Colle un script et dis storyboard ceci." Ils peuvent réexécuter la configuration à tout moment si leur style change.

S'ils préfèrent sauter la configuration, créez le storyboard avec l'apparence par défaut du kit et proposez à nouveau la configuration à la fin.

Le format

Chaque plan a :

champce qu'il contient
typeface (parle à la caméra), split (écran en haut, visage dans une boîte arrondie en bas), screen (un enregistrement d'écran), graphic (construit au montage), b-roll (images réelles)
voles mots exacts du script prononcés sur ce plan
on_screen_texttexte incrusté dans l'image, généralement vide
edit_noteune ou deux lignes : ce qui est à l'écran, ce qui bouge, le cadrage
sfxun son, généralement vide
thesistrue sur exactement un plan
statusreal (l'image EST la séquence), stand-in (montre l'intention), to-capture (rien pour l'instant)

Le timing vient de la VO à 3,4 mots par seconde. Ne le définissez jamais manuellement.

Les séances regroupent les plans par lieu de tournage : label, detail (quoi préparer) et shots (numéros de plans).

Étapes

  1. Lire le profil et récupérer le script. Lisez ~/.claude/storyboard-profile/profile.md et suivez-le : leurs durées de plans, leur répartition des types de plans, leur style de texte, leur CTA. Là où il est en désaccord avec les valeurs par défaut ci-dessous, le profil gagne. Pas encore de profil ? Proposez d'abord la configuration. Demandez le script s'il n'est pas dans la conversation ou dans un fichier, et notez la durée cible (la durée habituelle du profil s'ils ne la précisent pas). Ne modifiez pas le script. Si une ligne sonne faux, dites-le et laissez l'utilisateur la corriger.

  2. Diviser le script en plans, mot pour mot. Rassemblés, les champs vo doivent correspondre exactement au script. Ne reformulez pas, ne coupez pas et n'ajoutez pas de ligne.

    • Coupez là où l'image change, pas à la fin des phrases. Une virgule est un bon point de coupe.
    • Visez 2 à 6 secondes par plan (7 à 20 mots). Au-delà d'environ 8 secondes, divisez, sauf si une image continue porte vraiment la ligne.
    • Le plan 1 contient le visage de l'orateur (un plan face ou split). Un visage dans la première seconde retient les gens.
    • Marquez exactement un plan thesis : la ligne qui dit de quoi parle la vidéo.
    • Dernier plan : le visage de l'orateur disant l'appel à l'action. S'il y a un mot-clé de commentaire, il est prononcé et vit dans les légendes, pas comme une grosse pilule à l'écran.
    • Variez le type. Pas trois plans face à la suite. Utilisez face pour les affirmations, les apartés et le CTA ; utilisez screen pour tout ce qui est montré.
  3. Remplir les champs avec parcimonie.

    • on_screen_text : le titre du plan 1, les numéros de liste (01 SCRIPT), et au plus une punchline. Vide partout ailleurs ; les légendes portent le reste.
    • edit_note : ce qui est à l'écran, ce qui bouge, et le cadrage (plan moyen ou rapproché). Mettez aussi les consignes de confidentialité ici : flouter les e-mails, recadrer les chemins de fichiers qui montrent un nom d'utilisateur.
    • sfx : deux ou trois dans toute la vidéo, seulement là où quelque chose atterrit (un ping à l'ouverture, un coup quand quelque chose devient actif).
  4. Grouper les plans en séances par lieu de tournage, pas par ordre des plans.

    • Visage : une séance pour chaque plan de visage plus la moitié visage de chaque split.
    • Écrans : une séance par application ou session d'outil, en utilisant le même projet réel tout du long.
    • Loins du bureau : seulement si un plan b-roll le nécessite.
    • detail : quoi préparer (quel projet ouvrir, quoi faire tourner, quoi nettoyer de l'écran d'abord).
  5. Écrire storyboard.json dans un dossier storyboard/<video-slug>/ dans le répertoire de travail de l'utilisateur (demandez s'il y a un meilleur endroit) :

    {
      "title": "AI edits my videos",
      "target_seconds": 50,
      "shots": [
        {"type": "face", "vo": "My last couple of videos were all edited by Claude.",
         "on_screen_text": "CLAUDE EDITS MY VIDEOS", "edit_note": "Mid shot, headline holds 4s.",
         "sfx": "", "thesis": false, "status": "to-capture"}
      ],
      "sittings": [
        {"label": "Face", "detail": "Même chemise et même lumière pour toute ligne face caméra.", "shots": [1]}
      ]
    }
    
  6. Construire une image pour chaque plan (section suivante) sous forme de frames/f01.html, frames/f02.html, etc. Le numéro est la position du plan.

  7. Rendre :

    python3 <chemin du dossier de cette compétence>/kit/render.py storyboard/<video-slug>
    

    Cela rend frames/out/fNN.png en 540x960 avec Chrome sans tête, une frames/out/contact-sheet.jpg, et board.html : chaque image à côté de sa VO, son texte, sa note de montage, son son et son timing, plus les séances. Cela affiche la durée totale et les secondes face vs écran.

  8. Vérifier la planche contact, puis corriger et re-rendre : texte sur un visage, chevauchements, texte dans les zones de sécurité, tout ce qui est privé.

  9. Faire un rapport succinct : nombre de plans, durée totale par rapport à la durée cible, secondes face vs écran, et ce qui reste à capturer. Ouvrez board.html pour l'utilisateur.

Images

Utilisez la source la plus réelle possible, dans cet ordre :

  1. Matériel réel. Une capture d'écran du vrai site ou de l'application que le plan présente (Chrome sans tête ou Playwright, 1440 de large pour le bureau, 390 pour le mobile), ou une image fixe de la propre séquence de l'utilisateur (ffmpeg -ss <temps> -i clip.mp4 -frames:v 1 still.jpg). Placez les images dans le dossier frames/ et référenciez-les par leur nom de fichier.

  2. Images construites. Écrivez l'image comme un fragment de corps HTML en utilisant les classes dans kit/frame-kit.css. {{face}} dans un fragment devient frames/face.jpg s'il existe, sinon l'image fixe du visage de la configuration, sinon une silhouette neutre. Le theme.css de la configuration restyle automatiquement chaque image avec leurs couleurs et police.

    classeutilisez-la pour
    .fle conteneur de l'image, toujours l'élément extérieur
    .hltitre en haut, <em> sur un mot clé
    .lbl avec .n + .tune étiquette de liste numérotée (01 SCRIPT)
    .facevisage en plein cadre (une <img src="{{face}}">)
    .faceboxla boîte du visage dans un plan split
    .termun terminal Claude Code (.p invite, .tool appel d'outil, .ok, .dim)
    .chat + .bub + .vidun message de chat d'agent, éventuellement avec une vidéo
    .shotune carte de capture d'écran (<div class="shot"><img src="..."></div>)
    .tblun tableau de données (.h en-tête, .r lignes, .r.new une nouvelle ligne)
    .bigune grosse punchline
    .roomun espace réservé b-roll avec une légende

    Définissez la position verticale avec un style="top:..px" en ligne. Exemple de fragment :

    <div class="f">
      <div class="lbl"><span class="n">01</span><span class="t">SCRIPT</span></div>
      <div class="term" style="top:200px">
        <div class="bar"><i></i><i></i><i></i></div>
        <div class="p">écris-moi un script de 45 secondes sur ...</div>
        <div class="ok">  ✓ script.md</div>
      </div>
      <div class="facebox"><img src="{{face}}"></div>
    </div>
    
  3. Simuler avec des données réelles lorsque l'écran est derrière une connexion à laquelle vous ne pouvez pas accéder. Ne vous connectez pas au nom de l'utilisateur. Construisez l'écran à partir de chiffres réels et marquez-le comme provisoire.

Règles pour les images :

  • Zones de sécurité : gardez le texte hors des 20 % inférieurs et des 12 % droits (le rail des likes et commentaires), et gardez les 8 % supérieurs libres. Les positions du kit respectent déjà ces zones.
  • Leur style de titre : suivez les notes de texte à l'écran du profil (casse, graisse, comment ils mettent un mot en évidence). La valeur par défaut est des majuscules grasses avec un mot clé en <em>. Sur un visage en plein cadre, le kit met le texte en blanc avec une ombre douce.
  • Confidentialité : pas de chemins de fichiers avec un nom d'utilisateur, d'e-mails, de clés API ou de contenu de fichier .env dans aucune image. Utilisez de faux identifiants dans les tableaux.

Utiliser pour construire la vidéo

Une fois le storyboard approuvé, il sert de prompt. Construisez les graphismes un plan à la fois : "Construis le plan 4 du storyboard comme un graphisme animé 9:16 : correspond à l'image, au texte à l'écran et à la note de montage." La première version n'est jamais bonne ; mettez-la dans le montage, comparez-la à l'image, et faites des allers-retours jusqu'à ce qu'elle corresponde.

Skills associés