Communitygithub.com

kidsavagez/reel

Pipeline script-vers-Realisation avec deux étapes de validation humaine. Rédige le script avec des repères d'effets, puis après le tournage : sélectionne les meilleures prises, coupe les blancs et les remplissages, ajoute effets, sous-titres et texte à l'écran, génère un aperçu, prend les notes, produit la version finale et rédige la légende de la publication. À utiliser lorsque l'utilisateur tape /reel, a une idée de vidéo, dépose des rushes bruts, dit « édite cette vidéo », « fais un reel », donne des notes sur un aperçu ou partage un montage de référence pour en copier le style.

Qu'est-ce que reel ?

Cette compétence implémente un pipeline complet de création de Reels, allant de la rédaction du script à la production de la vidéo finale, en passant par deux étapes de validation humaine. Elle permet à l'utilisateur de se concentrer sur le tournage et les décisions créatives, tandis que l’IA gère la transcription, l’alignement, le montage, les effets, les sous-titres et la génération de la légende de publication. Fonctionne avec Claude Code (ou interface CLI équivalente) sur Windows, Mac et Linux, avec une installation automatisée des dépendances (FFmpeg, Whisper). Le pipeline accepte les références de style (à partir de vidéos existantes), gère les voix-off sans visage, la musique de fond sans licence, et les corrections itératives via des boucles de retour.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kidsavagez/CLAUDE-VIDEO-PIPLINE/tree/HEAD/.claude/skills/reel

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 reel ?

Où se trouvent les choses et configuration initiale

  • Dossier du pipeline = le dossier video-pipeline dans lequel se trouve cette compétence (trois niveaux au-dessus de ce fichier : video-pipeline/.claude/skills/reel/SKILL.md). Exécutez chaque commande depuis cet emplacement. Les projets vivent dans projects/<date>-<slug>/ à l'intérieur.
  • PY = le Python propre au pipeline. Utilisez-le pour toutes les commandes ci-dessous, jamais le Python système : .venv/Scripts/python.exe sur Windows, .venv/bin/python sur Mac ou Linux.
  • Si PY n'existe pas encore, configurez-le d'abord, sans demander à l'utilisateur de taper quoi que ce soit : exécutez python install.py (ou py install.py sur Windows, python3 install.py sur Mac). Si l'installation s'arrête avec « ffmpeg est manquant » ou « git est manquant », installez cet outil pour eux (Windows : winget install ffmpeg / winget install Git.Git ; Mac : brew install ffmpeg), dites-leur de redémarrer Claude Code si la nouvelle commande n'est pas trouvée, puis relancez l'installation. Quand l'installation affiche READY, exécutez PY scripts/selftest.py et confirmez 9/9 réussi.
STYLE (une fois par référence) -> 1 BRIEF -> [validation : utilisateur approuve le script] -> 2 TOURNAGE (utilisateur)
-> 3 ALIGNEMENT -> 4 MONTAGE -> 5 EFFETS -> 6 APERÇU -> [validation : notes utilisateur, boucle] -> 7 FINAL

Vous écrivez, montez et rendez. L'utilisateur tourne, approuve et publie. Rien n'est jamais publié depuis ici.

0. Style à partir d'une référence (quand l'utilisateur envoie des montages de référence)

  1. PY scripts/style_ref.py <ref.mp4> [autres refs] --name <nom-du-style>
  2. Ouvrez chaque image qu'il écrit dans styles/refs/<nom-du-style>/ et lisez les chiffres du report.json.
  3. Écrivez styles/<nom-du-style>.json avec UNIQUEMENT les clés qui diffèrent de styles/default.json : police/taille/couleurs/position des sous-titres, mots par groupe/majuscules, aspect du texte à l'écran, serrage du montage (cut.max_gap : plus serré pour les montages rapides), espacement des effets (effects.min_gap, d'après le rythme de la référence), volume sonore.
  4. Écrivez styles/<nom-du-style>.md : ce que fait le montage, en termes simples. Parmi les 51 effets, lesquels correspondent aux mouvements que vous avez vus, à quelle fréquence quelque chose se produit à l'écran, comment l'accroche s'ouvre, ce qu'il ne fait jamais. Ajoutez les chiffres mesurés (coupes par minute, durée des plans).
  5. Montrez le .md à l'utilisateur et demandez-lui ce que vous avez mal compris. Vous voyez des images échantillonnées, pas le mouvement ni le son : dites-le, et demandez-leur de nommer des horodatages qu'ils aiment (--at 7.2,12 capture ces images).

Polices : les sous-titres peuvent utiliser n'importe quelle police dans vendor/claude-video-effects/fonts/ (Montserrat, Anton, Archivo Black, Inter, Instrument Serif, Playfair Display, Space Mono, Permanent Marker) ou tout .ttf/.otf déposé par l'utilisateur dans fonts/.

1. Brief

  1. PY scripts/new_project.py "<slug>" --lang id --style <style> (langue : id, en ou auto).
  2. Lisez ~/.claude/youtube/voice.md ou ~/.claude/instagram/voice.md s'il existe. Écrivez dans la langue et la voix de l'utilisateur. N'inventez jamais un chiffre, un résultat ou un client ; demandez, ou laissez {{angka}}.
  3. Remplissez script.json : une ligne par phrase qu'il prononcera, rôles hook / body / cta.
    • Accroche : écrivez 3 options, recommandez-en une, gardez-la sous environ 3 secondes parlées.
    • onscreen : texte court pour l'accroche (et pour toute ligne qui nécessite un carton-titre).
    • effects : repères d'effets SUR UN MOT : {"fx": "backdrop-word", "on": "GRATIS", "text": "GRATIS"}. Choisissez dans le .md du style. Au maximum un effet toutes les effects.min_gap secondes. Toutes les lignes n'en reçoivent pas. Les effets qui utilisent les propres reels de l'utilisateur (orbit, phone-fan, place-in-grid, fan-build, noise, profile-wall, carousel-spin) nécessitent "images": "<dossier>".
    • Graphiques et compteurs (liquid-glass-graph, over-the-shoulder-zoom) uniquement avec des chiffres réels.
  4. Écrivez brief.md à côté : les options d'accroche, le script tel qu'il le lira, une note de prise par effet (« ligne 4 : laissez de l'espace au-dessus de votre tête »), et les règles de tournage de templates/shooting.md.
  5. Validation : montrez le script et arrêtez-vous. Ne continuez pas tant que l'utilisateur ne l'a pas approuvé.

2. Tournage (utilisateur)

Ils placent les fichiers dans <projet>/raw/. Plusieurs fichiers sont acceptables ; ils sont utilisés dans l'ordre des noms.

3. Alignement

  1. PY scripts/transcribe.py <projet> (le premier téléchargement du modèle Whisper). De nombreux redémarrages dans l'enregistrement, ou le montage répète encore des mots ? Utilisez PY scripts/burst_transcribe.py <projet> à la place : il transcrit chaque salve de parole indépendamment (large-v3-turbo), de sorte qu'un redémarrage après une pause n'est jamais fusionné avec la prise suivante. Si les mots engloutissent encore les pauses, exécutez PY scripts/snap_words.py <projet> avant l'alignement.
  2. PY scripts/align.py <projet>. Lisez le rapport à l'utilisateur sous forme courte : les lignes qui sont MANQUANTES ou qui n'ont PAS DE PRISE COMPLÈTE, et toute improvisation qui mérite d'être conservée. Ne vous arrêtez pas pour eux sauf si une ligne manque ; mentionnez-les avec l'aperçu.

4. Montage

PY scripts/cut.py <projet>

Reels voix seule (l'utilisateur enregistre seulement sa voix, l'image est entièrement composée de graphiques animés) : utilisez PY scripts/cut_voice.py <projet> à la place -> work/voice.wav (propre, -16 LUFS) et work/prog_words.json (chaque mot conservé avec son temps dans la piste montée). Construisez les visuels là-dessus (HyperFrames, si l'utilisateur les a, ou son propre éditeur). L'étape des effets a besoin d'un visage, alors sautez-la.

Musique de fond sans licence : si .venv-music/ existe (python install.py --music), créez un tapis avec .venv-music/<Scripts|bin>/python scripts/music_bed.py work/bed.wav --seconds 30 --seed 1 --prompt "<ambiance>, pas de voix", écoutez les silences (essayez une autre seed si irrégulier), et définissez "music": {"file": "<chemin absolu>/work/bed.wav", "db": -22}.

5. Effets

  1. PY scripts/effects.py <projet> plan. Corrigez tout avertissement en éditant les repères de script.json.
  2. PY scripts/effects.py <projet> check, puis REGARDEZ chaque work/check/fx_*.png. Texte sur le visage, coupé au bord, illisible : corrigez les options (x, y, text plus court) et vérifiez à nouveau.
  3. PY scripts/effects.py <projet> render. C'est l'étape lente (chaque image passe par le suivi du visage). Dites à l'utilisateur que cela s'exécute.

6. Aperçu

  1. PY scripts/finish.py <projet> -> preview/preview_vN.mp4.
  2. PY scripts/finish.py <projet> --check <t1,t2,...> au milieu de chaque effet et à deux ou trois autres moments. REGARDEZ les PNG : sous-titres en collision avec un effet, texte d'accroche illisible, quoi que ce soit sur le visage. Corrigez avant de montrer.
  3. Validation : donnez à l'utilisateur le chemin de l'aperçu et une courte liste de montage : prises utilisées, ce qui a été coupé, effets et où. Demandez des notes.

Transformer les notes en modifications

notemodificationrelancer à partir de
« utilise l'autre prise de la ligne 3 »choices.json {"take": {"3": 1}}alignement
« garde ce que j'ai dit à 0:14 »choices.json {"keep_unmatched": ["u3"]}alignement
« supprime la ligne 5 »choices.json {"drop_lines": [5]}alignement
« le montage est trop serré / trop lâche »style cut.max_gap, cut.post_padalignement
« pas d'effet là » / « mot plus grand »script.json effetsplan des effets
aspect des sous-titres, texte à l'écranstyle captions / onscreen, ou script onscreenfinition
musiquescript.json "music": {"file": "...", "db": -22}finition

Relancer à partir d'une étape signifie aussi toutes les étapes suivantes. Relancer l'alignement ou le montage signifie refaire le rendu des effets (lent), donc regroupez d'abord les notes.

7. Final

  1. PY scripts/finish.py <projet> --final -> final/final.mp4 et final/cover.jpg.
  2. Écrivez final/caption.md :
    • Les ~125 premiers caractères portent l'accroche ; c'est tout ce que le fil d'actualité montre avant « plus ».
    • Un seul appel à l'action. Si c'est « commentez MOT_CLÉ », cela correspond à la vidéo.
    • Maximum 5 hashtags, spécifiques au sujet, à la fin. Dans la langue et la voix de l'utilisateur.
    • Pas de chiffres inventés. Pas d'« arrêtez de défiler », pas de mur de hashtags.
  3. Rappelez-leur en une ligne : l'audio tendance est ajouté dans Instagram, et ils le publient eux-mêmes.

Règles

  • Le .md du style est le goût. En cas de doute sur l'ajout de quelque chose, ne l'ajoutez pas.
  • Ne couvrez jamais le visage. Ne zoomez jamais au-delà de 2x.
  • Soyez franc sur les limites : l'éditeur choisit bien les prises et les timings ; il ne juge pas leur interprétation. Si une prise semble plate, dites « vérifiez l'énergie de la ligne 3 », ne faites pas semblant de l'avoir entendue.
  • Gardez projects/ hors de git : les rushes bruts sont volumineux et personnels.

Skills associés