Communitygithub.com

learnaiwithhugo/video-editor-skills

Montez un clip brut en tête-à-tête en un Reel Instagram fini dans le style Kallaway (fond noir pointillé, un diagramme par idée, fiche visage arrondie avec la tête qui dépasse, légendes blanches d'un mot, rouge comme seule accentuation, coupes franches sur les débuts de mots, effet sonore réel sur chaque animation, musique de fond optionnelle en sourdine). Outils locaux gratuits uniquement (ffmpeg, Whisper, HyperFrames).

Qu'est-ce que video-editor-skills ?

Cette compétence transforme des rushes vidéo bruts (un clip en tête-à-tête) en un Reel Instagram vertical (1080×1920, 30 ips, -14 LUFS) dans le style distinctif de Kallaway. Le style se caractérise par un fond de scène noir pointillé, un seul diagramme en direct par idée, une fiche visage arrondie où la tête dépasse du bord, des légendes blanches d'un mot, le rouge (#C41514) comme seule couleur d'accentuation, des coupes franches sur les débuts de mots, un effet sonore réel sur chaque animation, et une musique de fond optionnelle en sourdine. Tout s'exécute localement sur le Mac de l'utilisateur avec des outils entièrement gratuits (ffmpeg, Node.js, Python, HyperFrames, faster-whisper) – aucune API payante, aucune connexion à HeyGen ni contenu protégé par le droit d'auteur. La compétence est conçue pour des utilisateurs non techniques : elle communique en français simple, une courte instruction par étape, et ne leur demande jamais de toucher au code. Elle guide l'utilisateur via une installation unique (assistant de 5 à 10 minutes) qui configure les dossiers de projet, vérifie les outils et télécharge les ressources nécessaires. Ensuite, le flux de travail complet se déroule automatiquement : détection des meilleures prises, montage, extraction du locuteur (cut-out), ajout de musique, planification des scènes avec animations et effets sonores, rendu et vérification qualité. Chaque scène est construite à partir d'un modèle HTML/JavaScript qui gère les animations et les effets sonores réels. La compétence prend en charge Claude Code (terminal, onglet Code dans l'appli de bureau, ou extension IDE) et nécessite un dossier local pour fonctionner.

Compatible avec✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/learnaiwithhugo/video-editor-skills/tree/HEAD/skills/kallaway-edit

Demander à votre IA préférée

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

Documentation

/kallaway-edit

Rushes bruts en entrée, reel vertical fini en sortie (1080×1920, 30 ips, -14 LUFS), dans le style Kallaway. Tout s'exécute sur le Mac de l'utilisateur avec des outils gratuits. La personne qui utilise ceci n'est généralement PAS technique : parlez-lui en français simple, un court message par étape, et ne lui faites jamais toucher de code.

SK = ${CLAUDE_SKILL_DIR}, le dossier de cette compétence (n'écrivez jamais dedans : une mise à jour le remplace). DATA = $HOME/.claude-video-editor, le dossier propre de l'éditeur, conservé entre les mises à jour : les paramètres de l'utilisateur (DATA/config.json), le Python de l'éditeur (DATA/venv), les effets sonores (DATA/sfx). ROOT = le dossier du projet (contient raw/, exports/) : le projectRoot dans DATA/config.json, enregistré par l'assistant d'installation (étape 0). WORK = ROOT/work/<slug>/ (un dossier par reel ; le slug est court en kebab-case, ex. opus-tips). Mettez chaque chemin entre guillemets : ils contiennent souvent des espaces. Exécutez chaque script via l'un de ces deux chemins, exactement comme écrit, afin qu'il trouve les paramètres de l'utilisateur : PY = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" "$HOME/.claude-video-editor/venv/bin/python" -I (après l'installation) SETUP = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" python3 -I "${CLAUDE_SKILL_DIR}/scripts/setup.py" Lisez les documents suivants avant de construire : references/style-rules.md (le rendu, sous forme de chiffres), references/graphics-recipes.md (comment une idée parlée devient un diagramme), references/gotchas.md.

Règles strictes

  • Outils gratuits uniquement. ffmpeg, Node 22+, Python, HyperFrames (npx hyperframes@<pinned>), faster-whisper, suppression d'arrière-plan locale d'HyperFrames, les polices OFL fournies, les effets sonores enregistrés d'HyperFrames media-use (téléchargés à l'installation, jamais intégrés : licence Pixabay) et la musique CC0/CC BY d'Openverse ou de la propre piste de l'utilisateur. Pas d'API payantes, pas de connexion HeyGen, pas de génération de musique, rien de protégé par le droit d'auteur.
  • Options que l'utilisateur peut donner : music: on|off (par défaut : le choix enregistré à l'installation), music: <chemin vers sa propre piste>, setup (relancer l'assistant d'installation).
  • Ne jamais exécuter npx hyperframes init ou npx hyperframes skills (ils installent des compétences dans ~/.claude/skills). Chaque appel à HyperFrames : HYPERFRAMES_SKIP_SKILLS=1 HYPERFRAMES_NO_TELEMETRY=1. Toujours snapshot ... --describe false (sinon les images sont téléchargées vers Gemini).
  • Ne jamais toucher aux images originales de l'utilisateur. Travaillez à partir de copies dans raw/. Les fichiers de travail vont dans WORK ; seuls les reels finis vont dans exports/. Ne supprimez jamais les fichiers de l'utilisateur.
  • Les légendes montrent ce qui a été réellement dit, correctement orthographié (« Claude », « Opus 5.5 »), chiffres pour les nombres.
  • Les graphiques ne couvrent jamais le visage ; le texte jamais en dessous de y 1470 ou dans les 100 px de droite en dessous de y 1155.
  • Rien n'anime vers l'extérieur. Le rouge #C41514 est la seule accentuation. Un mot en italique serif par titre et par section.
  • Montrez votre travail : déposez un PNG numéroté dans WORK/progress/ à chaque étape (01-takes-picked.png, ...).
  • Vérifiez le rendu FINAL avec qa.py, en pleine taille, avant de dire que c'est terminé. Soyez honnête sur ce qui ne correspond pas.

Le flux de travail

0. Assistant d'installation (première fois uniquement, ~5-10 min)

Lisez DATA/config.json. S'il contient "setupComplete": true et que son dossier projectRoot existe, exécutez SETUP --check (secondes, n'installe rien) ; sur READY passez à l'étape 1, sur NOT READY corrigez ce qu'il nomme (après une mise à jour qui nécessite une nouvelle version d'outil, c'est simplement SETUP à nouveau : les dossiers et choix de l'utilisateur sont conservés). Sinon (première exécution, ou l'utilisateur dit « /kallaway-edit setup ») exécutez l'assistant. Dites-leur à quelle étape vous êtes en une courte ligne (« Étape 2 sur 5 : vérification de vos outils »).

  1. Bienvenue. « Bienvenue dans l'éditeur Kallaway ! Je vais vous configurer. Cela prend environ 5 à 10 minutes et ne se produit qu'une seule fois. »
  2. Sommes-nous dans Claude Code ? Cela nécessite Claude Code (l'application de terminal, l'onglet Code dans l'application de bureau Claude, ou une extension IDE), ouvert dans un dossier local, car cela édite de véritables fichiers vidéo. Si vous pouvez exécuter des commandes shell et lire des fichiers locaux, vous l'êtes. Sinon (un chat ordinaire), dites : « Ouvrez l'application de bureau Claude, cliquez sur Code, choisissez Local, sélectionnez un dossier (ou créez-en un appelé Éditeur vidéo AI), puis tapez /kallaway-edit à nouveau. » Puis arrêtez-vous.
  3. Vérification des outils. SETUP --check. Affichez le résultat sous forme d'un petit tableau : outil, trouvé oui/non, à quoi il sert (ffmpeg coupe et mixe le son ; Node.js exécute HyperFrames ; HyperFrames transforme le montage en vidéo ; faster-whisper entend chaque mot ; Python exécute les scripts d'aide ; yt-dlp est facultatif ici, il télécharge des reels à partir de liens, et /new-edit-style en a besoin). Pour tout ce que l'utilisateur doit installer lui-même (ffmpeg, Node.js, Python), donnez la ligne unique avec les noms des correctifs et dites où la coller : dans l'application Terminal (Mac : Commande + Espace, tapez Terminal). Si le mot de passe Mac est demandé, ils le tapent eux-mêmes dans le terminal, jamais dans ce chat. Attendez qu'ils disent que c'est fait, puis vérifiez à nouveau. Les éléments marqués « l'installation complète l'installe » ne nécessitent rien de leur part.
  4. Où vont les choses. Demandez en un seul message, chacun avec une réponse suggérée :
    • « Où dois-je créer vos vidéos ? » Suggérez le dossier actuel s'il est vide ou déjà un dossier vidéo (affichez son chemin complet), sinon ~/Bureau/Éditeur vidéo AI.
    • « Où vos images arrivent-elles habituellement ? » Suggérez ~/Téléchargements (là où AirDrop met les clips téléphoniques), ou « Je déposerai moi-même les clips dans le dossier raw ».
    • « Musique de fond sous votre voix : activée ou désactivée ? » Suggérez activée (ils peuvent la changer par vidéo). Proposez ensuite les dossiers : « Voulez-vous que je configure votre dossier de projet ? Je vais créer raw/ (vos clips), references/ (vidéos dont vous aimez le style), exports/ (reels finis), work/ (mes fichiers de travail) et archive/ (anciennes versions). Tout ce qui existe déjà reste intact. » Sur oui : SETUP --project "<dossier>" --clips-from "<dossier ou omettre>" --music on|off. Il crée uniquement les dossiers manquants et enregistre les réponses dans DATA/config.json.
  5. Installation. « Installation des outils d'édition gratuits maintenant (une fois, environ 5 minutes : un moteur de transcription, le rendu vidéo, des effets sonores et un modèle vocal). » Exécutez SETUP en arrière-plan et relayez ses lignes de progression en mots simples. Il installe uniquement dans DATA (rien de global, rien dans le dossier de compétence, donc les mises à jour ne l'annulent jamais) et marque l'installation comme terminée quand elle se termine.
  6. Terminé. Donnez les 4 conseils de tournage du fichier references/filming-guide.md (caméra fixe, plan large, pièce sombre avec une lumière chaude sur le visage, répétez une ligne jusqu'à ce qu'elle soit bonne), puis : « Vous êtes prêt. Déposez vos clips dans raw/ (ou dites-moi quels fichiers dans ) et dites /kallaway-edit. » S'ils ont déjà donné des clips, continuez directement à l'étape 1.

À chaque exécution : les clips sont les fichiers que l'utilisateur nomme ; sinon, demandez en proposant les fichiers vidéo les plus récents dans clipsFrom. Copiez-les dans ROOT/raw/ (ne déplacez ni ne modifiez jamais les originaux). La musique suit le choix music enregistré sauf si l'utilisateur dit autrement.

1. Trouver chaque prise (~1 min par minute de métrage)

PY "SK/scripts/takes.py" "WORK" "ROOT/raw/clip1.MOV" "ROOT/raw/clip2.MOV" (ajoutez --fast pour un passage plus rapide, moins précis). Lisez WORK/takes/*.takes.txt : chaque tentative avec son intervalle de temps, les reprises marquées. Demandez (ou trouvez dans les clips) le script s'il y en a un. Dites : « J'écoute vos clips et je trouve la meilleure prise de chaque ligne. »

2. Choisir les prises et couper (~1 min)

Écrivez WORK/edl.json (format : SK/template/examples/edl.json) : un segment par ligne, dans l'ordre du script, généralement la DERNIÈRE prise propre complète. Utilisez {"clip","chunk"} ou {"clip","start","end"} (pour sauter un bégaiement à l'intérieur d'un chunk ; vérifiez les temps des mots avec transcribe.py --range a-b --model medium.en --no-vad). Visez 20-30 s ; dépasser un peu (jusqu'à ~38 s) vaut mieux que de briser une promesse faite par l'accroche. Sautez les appels à l'action sauf demande contraire. Ensuite PY "SK/scripts/assemble.py" "WORK" : cut.mp4 (CFR, serré sur la voix, compressé, -14 LUFS), segments.json, words.json, words.txt. Lisez words.txt : chaque ligne doit dire ce qui a été voulu. PY "SK/scripts/qa.py" "WORK" --takes écrit progress/01-takes-picked.png. Dites : « Voici le montage : . secondes. » Verrouillez le montage avant de construire les graphiques. Si vous le refaites plus tard : PY "SK/scripts/reindex.py" "WORK" "WORK/.prev/words.json" conserve chaque graphique sur son mot.

3. Découper le locuteur (~3-4 min, exécuté en arrière-plan)

PY "SK/scripts/cutout.py" "WORK" : cutout.webm (correspondance d'image, bords nettoyés) + headtrack.json. Pendant son exécution, planifiez le montage (étape 4). Examinez ensuite une image composée sur fond noir pour les halos et enregistrez-la sous progress/02-cutout-check.png.

3b. Musique (sauf si music: off ; ~2-6 min, exécuté en arrière-plan)

PY "SK/scripts/music.py" "WORK" (ou --file "<leur chanson>", ou --off). Il choisit un instrumental gratuit CC0/CC BY sur Openverse, rejette les voix, et écrit WORK/music-credit.txt. Dites à l'utilisateur ce qu'il a choisi et, pour CC BY, que la ligne de crédit va dans la légende.

4. Planifier le montage, ligne par ligne

Écrivez WORK/plan.json (format : SK/template/examples/plan.json) :

  • shots : où chaque disposition commence (0, "line:N" = première image de la ligne N de l'EDL, "w:N" = début du mot N). Stage pour tout ce qui peut être montré ; full pour les lignes de transition/personnelles et la conclusion (16-29 % du temps). Coupe franche également entre les scènes de stage . Première coupe vers ~3,5 s.
  • scenes : quel graphique joue quand (id, from, to, src en option + vars pour monter un fichier de scène plusieurs fois, par ex. un graphique « maison » numéroté récurrent). Une scène peut s'exécuter sous un plan full et revenir (un retour ajoute une nouvelle chose en 0,6 s).
  • punch : recadrages rapprochés nets (x1,19, montée avant) sur une phrase de clôture, au maximum un ou deux.
  • captions : fix (index de mot -> texte correct), emphasis (un mot serif par section), keep_together (paires d'indices de mots, ex. « Numéro » + « 1, »). Utilisez graphics-recipes.md : chaque idée obtient une forme, un titre (gras + un accent serif, l'affirmation sur une boîte rouge), et des battements sur ses mots, quelque chose de nouveau toutes les ~1 s. Dites le plan en une ligne par plan.

5. Construire les scènes (~15-25 min)

Chaque scène est WORK/scenes/<nom>.html, démarré à partir de SK/template/scene-starter.html ou du fichier le plus proche dans SK/template/examples/ (six scènes réelles). La trousse (template/kit/kw.css, kw.js) donne le rendu de la scène et les aides au mouvement (KW.title, blurIn, pill, pulse, draw, cam, type, strike, count, scramble ; at(i) = début du mot i). CHAQUE animation reçoit son signal sonore dans le commentaire <!--KW:SFX [...] --> de la scène, par ex. {"t": "w:24-0.02", "s": "whoosh"}, en suivant references/sound-map.md (mouvement de caméra = whoosh, pill = pop, snap/tick = clic, texte tapé = frappe, grand moment = impact, conclusion = étincelle). Si vous disposez de l'outil Agent et de plus de ~3 scènes, confiez les scènes à jusqu'à 2 agents en parallèle avec : la liste exacte des mots et des temps de la scène, l'idée, les références de cette compétence, et build.py ... --project WORK/project-<lettre> pour qu'ils n'entrent jamais en collision. PY "SK/scripts/build.py" "WORK" écrit WORK/project/ (racine : scène pointillée, fiche visage, couche pop-out , piste de légende, hôtes de scène, piste SFX, tout généré). Ensuite dans WORK/project : npx -y hyperframes@<pin> lint (0 erreurs) et snapshot --at <temps> --no-end --describe false -o snaps/x, lisez les PNG, corrigez, répétez. Enregistrez la feuille de chaque scène sous progress/03-scene-.png.

6. Rendu (~1 min) et vérification (~1 min)

PY "SK/scripts/render.py" "WORK" --name draft (rapide), puis PY "SK/scripts/qa.py" "WORK" "WORK/renders/draft.mp4" et REGARDEZ qa/cuts.png (images avant/après chaque coupe), qa/beats.png (chaque bloc de légende), qa/report.txt (écarts coupe-parole, sonie). Vérifiez : le pop-out n'a pas de halo ni de dérive après les coupes ; la carte montre la TÊTE ET LES ÉPAULES (jamais un recadrage visage) ; aucune légende ni graphique sur le visage ; les légendes correspondent aux mots ; chaque coupe de ligne arrive 0-80 ms avant la parole ; rien dans les zones interdites d'Instagram. Ensuite PY "SK/scripts/audiomap.py" "WORK" --out progress/NN-audio-map.png : musique 18-24 dB sous la voix, effets ~10-16 dB sous son pic local, pas de doubles frappes ; corrigez toute queue signalée avec "db": -3. Correspondance stylistique : PY "SK/scripts/match/fingerprint.py" score "SK/references/style-spec.json" "WORK/renders/draft.mp4" --out "WORK/progress/NN-style-match.md" mesure le montage de la même manière que les 3 reels de Kallaway ont été mesurés (rythme de coupe, changements visuels par seconde, parts de disposition, position de la carte et des légendes, taille et rythme des légendes, part de couleur d'accent, sonie, effets sonores stéréo) et dit quoi corriger pour chaque ÉCHEC. Corrigez ce que le montage contrôle ; un ÉCHEC causé par les images (un selfie serré) va à l'utilisateur comme note de tournage. Le rapport dans WORK/progress/ est l'enregistrement (SK/references/lock-log.md contient l'historique mesuré du style ; laissez-le tel quel). Corrigez et refaites le rendu (une reconstruction + un nouveau rendu prend ~1,5 min).

7. Livrer

PY "SK/scripts/render.py" "WORK" --final -> exports/<slug>-kallaway-vN.mp4 (1080×1920) plus -720p.mp4 copie pour téléphone. Exécutez qa.py sur l'exportation. Si l'utilisateur a un reel Kallaway personnel enregistré dans ROOT/references/ (aucun n'est fourni avec cette compétence), ajoutez un côte-à-côte (--ref <ce reel> --ref-at <t> --at <t>) et enregistrez-le sous progress/NN-side-by-side.png. Dites : où se trouve le fichier, combien de temps il dure, ce qu'il contient scène par scène, et ce qui ne ressemble toujours pas à Kallaway (soyez précis et honnête).

Chronométrages (sur un Mac M4 Pro, reel de 35 s à partir de ~8 min de métrage brut)

installation 5 min (première fois) · prises 7 min (modèle moyen ; --fast ~3) · montage 1 min · cut-out 3,5 min · musique 2-6 min (en arrière-plan ; Openverse/Freesound peut être lent) · scènes 15-25 min · rendu brouillon 50 s · rendu final 70 s · nouveau rendu après une modification ~1,5 min.

Tournage

Donnez references/filming-guide.md à quiconque s'apprête à filmer : plan large fixe (4K horizontal est le meilleur), pièce sombre avec une lumière clé chaude, haut sombre, fond uni derrière la tête, répétez une ligne jusqu'à ce qu'elle soit bonne.

Individual skills in this repo

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

learnaiwithhugo/video-editor-skills

Style Studio. Walks a creator (usually non-technical) through building their OWN video editing style on an interactive page in their browser - their colours and font, reference reels they love broken down frame by frame, then rounds of real animated options (captions, accent and intro text, zooms, diagrams, logos, split screen, tool talk, sound effects) they mark Keep / Maybe / Drop, plus Shine, Zoom and Shadow labs with Lock buttons. Ends with a STYLE.md guide and locked settings that /edit-my-video uses. Use whenever someone says "/build-my-style", "build my style", "make my editing style", "style studio", "I want my own edit style", "copy the editing style of these reels", "make my brand style for videos", sends reels they want their edits to look like, or comes back to carry on their style (rounds, labs, sounds). Also the STYLE keyword giveaway.

learnaiwithhugo/video-editor-skills

Edit raw talking-head clips into a finished vertical Instagram reel in the creator's OWN style, read from a style folder made by build-my-style (STYLE.md, locked shine/zoom/shadow, picked sound effects). Picks the last clean take of every line, shows a storyboard page first (a still per beat, A/B/C options on the key beats, Approve/Change and notes), optionally renders short variations of key moments to pick from, then builds the full edit in HyperFrames, reviews its own render, and turns every note the user gives into a dated rule in their STYLE.md so the next edit is better. Free local tools only. Use whenever someone says "/edit-my-video", "edit my video", "edit these clips", "make this into a reel in my style", "storyboard this edit", drops a folder of raw clips and wants an edit, or gives notes on an edit this skill made ("I don't like the zoom", "make the logos bigger").

learnaiwithhugo/video-editor-skills

Create a new editing-style skill from 2-3 reference reels of one creator or style (e.g. "make me a skill that edits like @creator"). Downloads the reels, measures them frame by frame, has one agent break down each reel, merges the breakdowns into a style guide plus a measurable style spec, clones the proven editing engine into a new /<style>-edit skill, then locks the style with a match score, pixel font matching, a golden recreation test, one critic round and the user's ear check. Free local tools only. Use when someone says "/new-edit-style", "make an edit style skill", "copy this creator's editing style", "I want to edit like X", or drops several reels from one creator and asks for their style.

Skills associés