Communitygithub.com

yamlreel-video-skills

Transformez un sujet en vidéo courte terminée (YouTube Shorts, Reels, TikTok vertical, paysage ou carré) sans éditeur vidéo, en écrivant une spécification YAML et en la rendant localement avec le CLI open source yamlreel.

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

Cette compétence permet de créer des vidéos courtes complètes (MP4, affiche, planche contact et texte de partage) à partir d'une simple spécification YAML, en utilisant l'outil en ligne de commande open source yamlreel. Elle prend en charge les formats verticaux (Reels, Shorts, TikTok), paysage et carré, avec une durée adaptable de 15 à 60 secondes. Le processus suit un workflow structuré : clarification du sujet, écriture d'un script, rédaction d'un plan détaillé, génération d'une spécification YAML, prévisualisation, inspection visuelle obligatoire via une planche contact, et rendu final. La compétence gère les thèmes visuels (midnight, sumi, washi), la musique générative, et peut intégrer une voix off via un serveur TTS local. Elle est conçue pour fonctionner avec n'importe quel agent IA capable d'exécuter des scripts Python et des commandes CLI, et s'appuie sur des scripts de vérification (`check_setup.py`) et de rendu (`render.py`) pour garantir la fiabilité. La sécurité est primordiale : aucun secret ou donnée personnelle n'est intégré dans les spécifications, et le rendu reste strictement local.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nsijwali/yamlreel-video-skills/tree/HEAD

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 yamlreel-video-skills ?

Écrivez une spécification YAML, rendez-la localement avec yamlreel, vérifiez la planche contact, puis remettez la vidéo. <skill> ci-dessous désigne le répertoire où se trouve ce fichier.

Workflow

  1. Configuration. Exécutez python3 <skill>/scripts/check_setup.py (cela vérifie aussi la version et les fonctionnalités de yamlreel). En cas d'échec, montrez à l'utilisateur les corrections imprimées. Exécutez --install uniquement après l'accord de l'utilisateur. N'installez jamais de polices ou de paquets système vous-même.
  2. Clarifiez en UN SEUL message, en proposant des valeurs par défaut : sujet, public, format (par défaut vertical), durée (par défaut 30 s), thème (midnight|sumi|washi), voix (par défaut aucune). Sautez tout ce que l'utilisateur a déjà dit.
  3. Scénario d'abord. Écrivez videos/<slug>/script.txt dans le format de battement de references/writing-guide.md (longueur cible, un bloc [BATTEMENT - entrée -> action -> résultat] par battement avec sa ligne parlée, puis notes de livraison) et montrez-le à l'utilisateur. S'il a demandé une révision avant, arrêtez-vous et attendez un feu vert avant d'ébaucher ou de rendre quoi que ce soit. Plan. Ensuite, écrivez videos/<slug>/outline.yaml (sujet, accroche, problème, 1 à 6 étapes chacune avec nom, dire, montrer, plus quand_utiliser, question, réponses). Les règles sont dans references/writing-guide.md : 15 s = une idée ; 30 à 45 s = une idée plus jusqu'à 3 étapes ; au maximum 60 s pour #Shorts.
  4. Ébauche : yamlreel story videos/<slug>/outline.yaml --out videos/<slug>/spec.yaml --format <fmt> --theme <t>. Passez --force uniquement pour les fichiers que vous avez créés vous-même.
  5. Modifier la spécification. Remplacez chaque TODO ; définissez meta.title/description/tags, formats, music.seed. Le texte à l'écran est court ; la narration explique l'écran et ne le répète jamais. Champs par type de scène : references/scene-types.md.
  6. Prévisualisation : python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage preview --out videos/<slug>/out. En cas d'erreur, corrigez la spécification d'après le message (les erreurs de champ inconnu listent les clés autorisées) et references/troubleshooting.md. Réessayez au maximum 3 fois, puis faites un rapport à l'utilisateur.
  7. Inspecter (obligatoire). Ouvrez chaque contact.png listé dans la ligne RESULT avec l'outil de visualisation d'images. Vérifiez : pas de chevauchement, pas de texte rogné ou rétréci, révèle la progression à travers les vignettes, accroche lisible dans la première vignette. Corrigez la spécification et répétez l'étape 6 jusqu'à ce que ce soit propre, au maximum 3 boucles.
  8. Final : python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage final --out videos/<slug>/out.
  9. Polissage optionnel. Si l'utilisateur veut des effets sonores, une correction de volume ou une vérification de boucle, et que yamlreel audit --help fonctionne, suivez references/polish.md sur la video.mp4 terminée (cela ne touche jamais à la spécification).
  10. Rapportez les chemins vers chaque video.mp4, poster.jpg et contact.png, et collez le contenu de share-copy.txt. Rappelez à l'utilisateur de vérifier les faits pour tout ce qui a été simplifié. La publication est le travail de l'utilisateur.

Codes de sortie de render.py : 0 ok, 1 erreur yamlreel (stderr renvoyé), 2 refus de prévol (le message explique pourquoi), 3 avertissements de prévisualisation bloquent le rendu final (raccourcissez le texte, réordonnez les repères at ; utilisez --allow-warnings uniquement si l'utilisateur accepte), 4 mauvais arguments (par exemple --contact-frames en dehors de 1 à 8). Sa dernière ligne est RESULT {json} avec chaque chemin de sortie. Un journal est écrit dans <out>/render-log.txt.

Valeurs par défaut et faits

  • Les rendus utilisent --no-voice (musique uniquement). Les sous-titres et la narration ne sont pas visibles dans les rendus sans voix ; c'est attendu.
  • La sortie va dans <out>/{preview,final}/<format>/ ; passez toujours --out videos/<slug>/out pour que deux projets ne partagent jamais un dossier (la valeur par défaut est <dossier spec>/out).
  • music.seed fixe rend les rendus déterministes. N'ajoutez pas watermark sauf si l'utilisateur le demande.
  • La voix off est optionnelle et apportée par l'utilisateur : voir references/voiceover.md.
  • Exemples à copier : examples/*.yaml.

Règles de sécurité

  • Ne mettez jamais de secrets, jetons, contenus .env, noms d'hôte internes ou données personnelles/client dans une spécification : ils sont gravés dans les images et share-copy.txt. Les exemples de code utilisent des placeholders.
  • Lisez et écrivez uniquement dans le dossier projet de l'utilisateur ; placez les images à côté de la spécification. N'ajoutez jamais --allow-path ou --allow-private-hosts sauf si l'utilisateur le demande explicitement, en nommant le dossier.
  • Voix uniquement avec un serveur TTS local que l'utilisateur nomme ; le texte de narration lui est envoyé. Jamais une URL distante.
  • N'installez jamais de paquets système ou de polices, ni ne modifiez ~/.config/yamlreel/config.yaml, sans l'accord de l'utilisateur.
  • Scènes shot : uniquement des URL https publiques fournies par l'utilisateur, ou des images locales dans le projet.
  • Ne téléchargez ni ne publiez jamais le résultat.

Skills associés