Communitygithub.com

Montage Clip

Édite les propres clips vidéo de l'utilisateur en un montage vertical finalisé pour TikTok, Reels et Shorts : le meilleur moment de chaque clip, coupes sur le rythme, sous-titres, étiquettes et une carte de fin. À utiliser chaque fois que quelqu'un a des vidéos, clips ou séquences et souhaite un montage, une vidéo récapitulative, une visite ou des moments forts, même avant d'avoir envoyé les fichiers. Si ce ne sont que des photos, il faut utiliser montage-video.

Qu'est-ce que Montage Clip ?

Cette compétence prend les courtes vidéos filmées par l'utilisateur sur son téléphone, ainsi que la musique ou l'enregistrement vocal qu'il possède, et les assemble en un montage vertical au format 9:16 prêt à être publié sur TikTok, Instagram Reels ou YouTube Shorts. Elle sélectionne le meilleur moment de chaque clip, organise les séquences pour raconter une histoire, coupe au rythme de la musique, ajoute un accroche sur la première image, une étiquette sur chaque plan, un appel à l'action en fin de vidéo, et peut inclure les sons originaux des clips (paroles, rires, bruits) avec des sous-titres synchronisés mot à mot, ainsi qu'une voix-off avec ses propres sous-titres. Tout le rendu s'effectue localement sur la machine de l'utilisateur, sans aucun crédit, compte ou envoi de données vers l'extérieur. La compétence suit un processus étape par étape : vérification de la configuration, sélection du client, demande des fichiers (clips, musique, voix-off), inspection et analyse des clips via des feuilles de contact, rédaction d'un script de montage, génération de la page HTML, rendu de la vidéo, puis itérations d'édition jusqu'à satisfaction. Elle est entièrement gratuite et sert de compétence par défaut pour les montages. Attention : elle ne gère pas les photos seules (dans ce cas, rediriger vers `montage-video`), et ne lance jamais de modèles vidéo payants sans accord explicite de l'utilisateur. Elle est compatible avec Claude Code, Cursor et Codex, et utilise les outils internes du plugin (scripts/video/) pour toutes les opérations.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/GreyCatVP/marketing-skill/tree/main/skills/clip-montage

Demander à votre IA préférée

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

Documentation

Que fait Montage Clip ?

Objectif

Prenez les courtes vidéos que l'utilisateur filme avec son téléphone, ainsi que la musique ou l'enregistrement vocal qu'il possède, et montez-les en un montage vertical au format 9:16 prêt à être publié :

  • le meilleur moment de chaque clip, dans un ordre qui raconte l'histoire ;
  • coupé sur le rythme ;
  • une accroche sur la première image, une étiquette sur chaque plan, et l'appel à l'action à la fin ;
  • le son original du clip là où c'est important (quelqu'un qui parle, un grésillement, une acclamation), sous-titré mot à mot ;
  • la voix-off de l'utilisateur sur toute la vidéo, avec des sous-titres synchronisés.

Continuez à le modifier avec l'utilisateur jusqu'à ce qu'il soit satisfait (« utilise la partie où elle rit », « la cuisine en premier », « son plus fort, pas de musique ») une version à la fois, sans perdre les versions précédentes.

Ceci est le montage par défaut, et il est gratuit. Tout est rendu sur cette machine avec les outils scripts/video/ du plugin (montage.js construit la page à partir d'un court script, render.js crée le MP4). Pas de compte, pas de crédits, et rien ne quitte la machine. Les vraies images sont aussi le reflet le plus fidèle d'un lieu ou d'un produit : aucune IA n'invente quoi que ce soit.

Ce qui coûte de l'argent, et quand l'évoquer :

Ce que l'utilisateur aCe qui se passeCoût
Vidéos (avec ou sans photos, musique, enregistrement vocal)Cette compétenceGratuit
Uniquement des photos, et l'utilisateur peut filmer quelques clipsDemandez les clips, puis cette compétenceGratuit
Uniquement des photos, pas de clips possiblesmontage-video avec mouvements locaux (pano, zoom avant, mouvements 3D)Gratuit
Uniquement des photos, et l'utilisateur souhaite que la caméra bouge vraiment (nouveaux angles)« Mouvements de caméra IA » de montage-video, uniquement si l'utilisateur dit avoir un forfait payant avec un modèle vidéo (Figma Weave sur un forfait Figma payant, Higgsfield), devis et approbation préalablesCrédits payants

Ne lancez jamais de modèle vidéo payant depuis cette compétence. Ne faites jamais de devis sauf si l'utilisateur a déclaré avoir un forfait payant et le souhaite.

Processus étape par étape

Racine du plugin : si un chemin ci-dessous contient encore un espace réservé CLAUDE_PLUGIN_ROOT non développé (Claude Code le remplit ; d'autres agents comme Codex non), résolvez-le avant d'utiliser l'un d'eux : prenez la sortie de printenv CLAUDE_PLUGIN_ROOT si elle imprime un chemin, sinon remontez à partir du dossier de ce fichier jusqu'au premier dossier contenant references/brand-voice.md, et si rien ne fonctionne, demandez à l'utilisateur où se trouve ce plugin. Utilisez ce chemin absolu dans chaque chemin de fichier et chaque commande shell ci-dessous. VIDEO ci-dessous signifie ${CLAUDE_PLUGIN_ROOT}/scripts/video.

  1. Vérifiez l'état de la configuration. Lisez ${CLAUDE_PLUGIN_ROOT}/references/brand-voice.md. S'il n'existe pas, ou si sa première ligne est <!-- MARKETING-SKILL:UNCONFIGURED -->, faites une pause et demandez à l'utilisateur les 4 questions de configuration de ce plugin (tâche prioritaire ; types de contenu à produire ; public cible + ton ; format de sortie par défaut — identique à /marketing-skill:marketing-setup) avant de continuer, puis enregistrez les réponses dans ce fichier et basculez le marqueur sur CONFIGURED avec la date du jour. Si le fichier n'est pas configuré mais que l'utilisateur a déjà dit de passer la configuration ou d'utiliser les valeurs par défaut, ne demandez pas : utilisez les valeurs par défaut pour cette exécution, dites-le en une ligne, et laissez le marqueur tel quel.

  2. Choisissez le client. Exactement comme à l'étape 2 de montage-video (${CLAUDE_PLUGIN_ROOT}/skills/montage-video/SKILL.md) : un client enregistré (lisez le profil et ses ## Notes), un nouveau (nom de l'entreprise, coordonnées, mentions légales requises, logo, couleurs, la musique qu'il aime), ou la propre entreprise de l'utilisateur (omettez client:). Les profils se trouvent dans ${CLAUDE_PLUGIN_ROOT}/state/clients/ et restent hors de git.

  3. Demandez les images, la musique et la voix. En un seul message :

    • Les clips (la demande par défaut). Des courtes vidéos de téléphone, de 3 à 15 secondes chacune, une par pièce, angle ou moment. S'ils n'ont pas encore filmé, donnez-leur les « Conseils de tournage pour les clips » de montage-guide.md : vertical, maintenez chaque plan stable pendant 3 à 5 secondes, déplacez-vous lentement, bonne lumière, et les détails en gros plan.
    • La musique, s'ils en ont. Un morceau dont ils ont les droits d'utilisation dans une publicité. Une chanson d'une application de streaming ou de la radio n'en est pas une. Sinon : le son enregistré du client (une piste générée gratuitement), un morceau Creative Commons (node VIDEO/media.js search "<ambiance>" --type music --out state/videos/assets --count 3), ou pas de musique, pour qu'ils ajoutent un son tendance dans l'application lors de la publication (les comptes professionnels de TikTok et Instagram ont une bibliothèque à usage commercial).
    • Une voix, s'ils en ont une. Une voix-off qu'ils ont enregistrée (un fichier suffit, un mémo vocal de téléphone fonctionne), avec ce qu'ils disent mot pour mot pour les sous-titres. Ou des clips où quelqu'un parle à la caméra. Ou rien : la plupart des montages sont uniquement musicaux.
    • Un montage auquel ils aimeraient qu'il ressemble, le cas échéant : une vidéo qu'ils envoient (ou la référence de style dans brand-voice.md's Video Setup). Lancez node VIDEO/reference.js <video>, lisez son reference.md, et regardez ses fiches ; puis correspondez à son rythme (pace: sa durée de plan typique, en temps quand ses coupes tombent sur le rythme), ses rafales de coupes rapides, ses sous-titres, et son ambiance, et dites en une ligne ce à quoi vous correspondez. Copiez le montage, jamais ses images, sa musique ou ses paroles ; demandez le fichier plutôt que de télécharger la publication de quelqu'un sur l'application.
    • Que des photos ? Demandez s'ils peuvent plutôt filmer quelques clips (c'est gratuit et la représentation la plus fidèle). S'ils ne peuvent pas, passez à montage-video, qui anime les photos avec des mouvements locaux gratuits. Évoquez la transformation IA de photo en vidéo uniquement s'ils demandent de vrais mouvements de caméra ou de nouveaux angles, et dites que cela nécessite un forfait payant (les modèles vidéo Figma Weave fonctionnent uniquement sur les forfaits Figma payants). Lancez-la uniquement après qu'ils aient dit en avoir un et approuvé le devis, en suivant les « Mouvements de caméra IA » de montage-video.
    • Obtenez les fichiers sur le disque. Le moteur de rendu a besoin de fichiers : demandez le dossier (ou les chemins des fichiers). Les vidéos collées dans un chat ne peuvent pas être lues par le moteur de rendu. Si elles sont dans Google Drive et qu'un connecteur Drive est disponible, téléchargez-les avec celui-ci dans un nouveau dossier.
    • Utilisez uniquement les images que l'utilisateur ou le client a filmées ou dont il a une licence d'utilisation, et uniquement les personnes qui ont accepté d'y figurer.
  4. Importez-les. Lancez node VIDEO/montage.js inspect <dossier> --slug <slug>, où le slug est court et nomme la vidéo (maple, taco-night).

    • Il copie chaque clip dans state/videos/assets/<slug>-01.mp4, et ainsi de suite, avec l'image et le son tels quels et les métadonnées supprimées (y compris la localisation d'un clip de téléphone). Les originaux ne sont pas touchés.
    • Il imprime la taille, la forme, la longueur de chaque clip, et s'il a du son, et signale les clips longs, paysage et de basse résolution.
    • Il écrit une planche contact numérotée, <slug>-contact.png, et un script de démarrage, state/videos/<date>-<slug>.md, un plan par fichier.
    • Copiez la musique de l'utilisateur dans state/videos/assets/<slug>-music.<ext> et sa voix-off dans state/videos/assets/<slug>-vo.<ext>.
  5. Regardez chaque clip. Vous ne pouvez pas lire la vidéo, alors regardez les images :

    • Lancez node VIDEO/montage.js frames <clip> --every 1 pour chaque clip (--every 0.5 pour un clip court et chargé). Il dispose une image toutes les secondes avec son heure, et imprime quand le son du clip est fort (quelqu'un qui parle, ou un son qui mérite d'être conservé). Lisez chaque feuille.
    • Nommez ce que chaque clip montre, et choisissez son meilleur moment : stable, net, bien éclairé, le sujet clair. Ignorez le début tremblant, le téléphone abaissé, le flou, et toute personne n'ayant pas accepté d'apparaître. Chaque choix est un intervalle, [from: 3.5] [to: 6.5] : 1,5 à 4 secondes convient pour la plupart des plans. Un long clip peut donner deux ou trois plans de moments différents.
    • Un clip paysage est recadré en 9:16. Notez ce qui doit rester dans le cadre sous la forme [focus: x%,y%] (la personne, le produit, la cheminée).
    • Notez les clips dont le son doit rester ([sound]) : quelqu'un qui parle à la caméra, un rire, le grésillement sur le gril. Vous ne pouvez pas les entendre, alors demandez à l'utilisateur ce qui est dit, mot pour mot, pour les sous-titres, et dites quels clips vous garderiez le son pour qu'il puisse vérifier.
    • Dites quels clips ou moments vous avez laissés de côté et pourquoi, afin que l'utilisateur puisse vous contredire.
    • Ordonnez les plans avec ${CLAUDE_PLUGIN_ROOT}/references/montage-guide.md (« Clips : l'ordre ») : le moment le plus fort en premier, puis un parcours à travers le lieu ou l'événement, en terminant par l'appel à l'action.
  6. Confirmez le périmètre en un seul message. Proposez, et laissez l'utilisateur corriger :

    • Durée et plans : environ 15, 30 ou 60 secondes, et quels moments la remplissent.
    • Musique : leur morceau, le son du client, un autre genre, un morceau Creative Commons (envoyez-le pour écoute d'abord), ou rien.
    • Voix : leur voix-off, les clips qui gardent leur propre son, ou rien.
    • Les mots à l'écran : l'accroche (trois options issues de ${CLAUDE_PLUGIN_ROOT}/references/hooks.md, chacune d'un modèle différent), une étiquette pour chaque plan, un autocollant de statut le cas échéant, et l'appel à l'action, plus le prix et les spécifications pour une annonce ou un produit. Chaque fait provient de l'utilisateur ou du client. S'il en manque un, demandez, ou laissez-le de côté.
  7. Écrivez le script et construisez la page. Modifiez le script de démarrage. Le format et chaque balise sont documentés en haut de VIDEO/montage.js :

    ---
    title: taco night
    client: casa-lupe
    hook: tuesday is taco night
    cta: book a table · link in bio
    music: assets/taco-night-music.mp3
    pace: 4 beats
    ---
    3. assets/taco-night-03.mp4  Fresh off the grill  [from: 1.2] [to: 4] [sound]
    1. assets/taco-night-01.mp4  Handmade tortillas  [from: 0.5] [to: 3] [focus: 40%,60%]
    2. assets/taco-night-02.mp4  Meet chef Lupe  [from: 6] [to: 10.5] [sound] [say: Every tortilla is pressed by hand, every morning.]
    4. assets/taco-night-04.mp4  The patio  [from: 2] [to: 5] [move: push-in]
    
    • Intervalles des clips : [from:] et [to:] définissent l'intervalle. Le plan est ensuite ajusté au rythme (arrondi à la hausse, donc il dure un instant après [to:]). Utilisez pace: en temps, pas en mesures, pour les clips : une mesure arrondit un intervalle de 3 secondes à 5 secondes à 96 BPM.
    • Son propre d'un clip : [sound] le joue en synchronisation, avec la musique atténuée en dessous. Un [say: ...] sur ce clip est ce qui y est dit, sous-titré mot par mot. Il n'est pas redoublé.
    • La voix-off de l'utilisateur : voiceover: assets/<slug>-vo.m4a et voiceover-text: <leurs mots, mot pour mot>. Elle démarre à 0,3 seconde (voiceover-at: pour la modifier), la musique s'atténue en dessous, les sous-titres défilent en bas de chaque plan, et les plans s'étirent pour la couvrir. N'utilisez pas également des lignes vocales [say: ...].
    • Leur musique : music: assets/<slug>-music.mp3. Son rythme est lu avec beats.js et les coupes tombent dessus. music: none laisse de la place pour un son tendance ajouté dans l'application.
    • Mouvements : un clip conserve son propre mouvement. [move: push-in], pull-out ou drift ajoutent un zoom lent par-dessus. Un panoramique glisse le clip zoomé, car il n'y a rien à côté du cadre pour effectuer un panoramique.
    • Photos mélangées bougent comme dans montage-video (panoramiques, zooms avant, mouvements 3D).

    Puis lancez node VIDEO/montage.js state/videos/<date>-<slug>.md. Il écrit <date>-<slug>.html à côté du script, imprime le tableau des plans, le son, la voix, et toutes les notes (un clip plus court que son plan, un plan maintenu pour que son étiquette soit lisible), et lance render.js --check. Corrigez ce que la vérification liste, généralement en raccourcissant une étiquette, et relancez-la jusqu'à ce qu'elle soit propre.

  8. Première version. Regardez chaque image de node VIDEO/render.js <page> --slides vous-même : le sujet dans le cadre (pas recadré d'un clip paysage), étiquettes lisibles, sous-titres dégagés des étiquettes, l'ordre racontant l'histoire. Ensuite :

    • Envoyez à l'utilisateur les diapositives pour approuver l'ordre et les mots.
    • Rendu : node VIDEO/render.js <page> state/videos/<slug>-v1.mp4 --cover 0. Il écrit le MP4 (1080×1920, 30fps), une image de couverture et, quand il y a une voix ou un son de clip sous-titré, un fichier de sous-titres .srt. --draft crée une version rapide en demi-taille pour vérifier le timing d'abord. Ne publiez jamais une version provisoire.
    • Vous ne pouvez pas entendre le résultat. Demandez à l'utilisateur d'écouter : la musique, chaque son de clip conservé, et la voix-off par rapport aux sous-titres.
  9. Modifiez jusqu'à ce que ce soit bon. Chaque demande devient une modification du script, jamais de la page, car montage.js recalcule tout le timing :

    L'utilisateur ditChangement dans le script
    « utilise la partie où elle rit »le [from:] / [to:] de ce plan (trouvez-le sur la feuille --every)
    « coupe la partie tremblante »un [from:] plus tard, ou un [to:] plus tôt
    « plus long sur la cuisine »un [to:] plus tard, ou [hold: 4s]
    « plus rapide » / « plus lent »des intervalles plus courts, pace: (ex. 3 beats), ou length:
    « fais-le en 15 secondes »length: 15, et supprime les moments les plus faibles (dites lesquels)
    « la cuisine en premier », « échange 3 et 5 »réorganisez les lignes numérotées
    « garde le son sur celui-là » / « coupe-le »ajoutez ou supprimez [sound]
    « ajoute des sous-titres à ce qu'il dit »[say: <ses mots, exactement>] sur ce clip [sound]
    « ajoute ma voix-off »voiceover: et voiceover-text:
    « une chanson différente » / « pas de musique »music: un autre fichier, un genre, ou none
    « montre le côté gauche », « garde-la dans le cadre »[focus: 25%,50%]
    « zoome dessus »[move: push-in] (avec [focus:] sur l'endroit)
    « plus fluide » / « coupes plus percutantes »transition: fade, ou cut, slide, zoom, wipe, flash
    « change le texte »l'étiquette, hook:, cta:, price:, specs:
    « ralenti »non pris en charge : pas de changements de vitesse. Un clip filmé au ralenti du téléphone est lu tel qu'il a été filmé
    « une autre couleur / logo / numéro de téléphone »le profil du client, pas le script

    Chaque tour : modifiez le script, relancez montage.js, puis utilisez --draft pour un changement de timing ou --slides pour un changement d'apparence. Rendez la version suivante sous la forme <slug>-v2.mp4, -v3.mp4, et ainsi de suite. Ne remplacez jamais une version antérieure, afin que l'utilisateur puisse revenir en arrière.

    Quand l'utilisateur dit « publie-la », téléchargez la dernière version et la couverture sur le Drive du plugin (state/videos/), et ne la publiez nulle part. Dites que la vidéo est prête et qu'ils peuvent la télécharger depuis là où ils l'ont envoyée ou l'obtenir depuis state/videos/<slug>-v<n>.mp4.

Rappels

  • N'utilisez jamais d'images, de musique ou de voix générées par l'IA. Aucune image de référence ou vidéo de démonstration. Aucune séquence musicale générée par l'IA (media.js n'obtient que de la musique Creative Commons de véritables artistes).
  • Chaque plan de montage vient d'un clip appartenant à l'utilisateur ou au client, ou dont il a une licence d'utilisation. Chaque fait sur le produit ou le lieu vient de l'utilisateur ou du client.
  • Considérez le projet comme confidentiel. Ne partagez pas la vidéo en cours de montage avec d'autres personnes sans l'autorisation de l'utilisateur.
  • La règle est de vérifier les images de --slides et --every, pas de les décrire à l'utilisateur. L'utilisateur ne peut pas non plus voir les images, alors posez des questions précises (« est-ce qu'il parle autant ? »).
  • Les modifications se font toujours sur le script (.md), jamais sur la page HTML ou le MP4. montage.js recalcule tout à partir du script. render.js reconstruit le MP4.

Voir aussi

  • montage-video : pour les montages à partir de photos (mouvements locaux gratuits ; mouvements de caméra IA payants, nécessitant un forfait).
  • social-media-content : publie des photos et des vidéos sur des comptes professionnels. Demandez-la lorsque l'utilisateur veut que la vidéo aille sur Meta Business Suite ou Buffer.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés