Communitygithub.com

LucasLBrito/video-dev

Crée des vidéos explicatives verticales (9:16, Shorts/Reels/TikTok) sur des sujets de programmation et de technologie, avec des diagrammes animés, une narration en français et une musique de fond, le tout généré avec Python et sans logiciel de montage. C'est le point de départ : pose les bonnes questions, prépare l'ordinateur, crée le dossier de la vidéo et appelle les compétences video-conceito, video-tutorial-terminal, narracao-voz et trilha-video. À utiliser dès que l'utilisateur demande 'faire une vidéo', 'vidéo explicative', 'vidéo courte', 'vidéo pour TikTok/Reels/Shorts', 'expliquer X en vidéo', 'tutoriel vidéo', ou souhaite continuer, modifier ou refaire les vidéos SSH et Git, même s'il ne prononce pas le mot 'compétence'.

Qu'est-ce que video-dev ?

Cette compétence agit comme un hub central pour la création automatisée de vidéos explicatives verticales (format 9:16, idéal pour YouTube Shorts, Instagram Reels et TikTok) sur des sujets de programmation et de technologie. Elle orchestre l'ensemble du processus, en commençant par poser les questions clés à l'utilisateur pour définir le type de vidéo (concept, tutoriel terminal ou mixte), le thème visuel, la durée et la musique de fond. Ensuite, elle prépare l'environnement de travail, crée la structure du projet, et coordonne l'exécution d'autres compétences spécialisées : video-conceito pour les diagrammes animés, video-tutorial-terminal pour les démonstrations en terminal, narracao-voz pour la synthèse vocale et trilha-video pour la musique. Le rendu final est un fichier MP4 vertical 1080×1920 à 30 ips, généré entièrement en Python (Pillow pour les animations, edge-tts pour la voix, numpy pour la musique), sans aucun logiciel de montage payant. La compétence gère également les modifications courantes après rendu, comme changer une phrase, ajuster la prononciation ou modifier le volume de la musique.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LucasLBrito/midia-skills/tree/main/skills/video-dev

Demander à votre IA préférée

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

Documentation

Vidéos dev (hub)

Chemins : ${CLAUDE_PLUGIN_ROOT} est la racine de ce plugin. Si la variable n'est pas définie, la racine se trouve deux dossiers au-dessus du "Base directory" de cette compétence (<racine>/skills/<skill>). Si les compétences ont été copiées seules dans ~/.claude/skills, utilisez ~/.claude/skills à la place de ${CLAUDE_PLUGIN_ROOT}/skills.

Cette compétence conserve ce qui a été appris en réalisant les vidéos "Qu'est-ce que SSH" et "Bonnes pratiques Git et GitHub". Le résultat est un MP4 vertical 1080×1920 à 30 ips, avec des animations dessinées image par image en Python (Pillow), une voix neuronale gratuite (edge-tts) et une musique générée par code (numpy). Pas de After Effects, CapCut ni aucun logiciel payant.

Répondez en français, simple, résultat en premier.

Carte des compétences

CompétenceQuand l'utiliser
video-dev (celle-ci)Toujours en premier : questions, préparation, dossier, rendu final, livraison
video-conceitoExpliquer comment quelque chose fonctionne (SSH, DNS, HTTPS, Docker, JWT...) : diagrammes, paquets qui voyagent
video-tutorial-terminalEnseigner des commandes à taper ensemble (Git, Docker CLI, npm, Linux...) : terminal avec frappe
narracao-vozÉcrire / ajuster le script parlé, la voix, la prononciation des termes en anglais, le timing des mots
trilha-videoMusique de fond et mixage avec la voix (ducking)

Lisez la compétence du type choisi dès que vous connaissez le type. Narration et musique peuvent être lues lorsque vous arrivez à ces étapes.

Chemins

SK = ${CLAUDE_PLUGIN_ROOT}/skills   (racine du plugin ; voir "Chemins" ci-dessus)
SK/video-dev/scripts/            motor.py, render.py, novo.py, checar.py
SK/video-dev/exemplos/ssh/       projet complet de la vidéo SSH (concept)
SK/video-dev/exemplos/git/       projet complet de la vidéo Git (tutoriel)
SK/narracao-voz/scripts/         narracao.py, pronuncia_base.json
SK/trilha-video/scripts/         trilhas.py, mixar.py
SK/video-dev/references/         elementos.md (API et layout), licoes.md (erreurs déjà commises)

Étape 1 — Poser les questions (avant tout fichier)

Posez les questions avec l'outil AskUserQuestion, en une seule série de 4 questions maximum, avec l'option recommandée en premier. Sautez ce que l'utilisateur a déjà répondu dans sa demande. S'il dit "décide toi-même", utilisez les valeurs par défaut (en gras).

Série 1 (toujours) :

  1. Type de vidéo : concept (comment ça marche, avec diagrammes) · tutoriel terminal (commandes pas à pas) · mixte (concept puis commandes : utiliser la compétence concept et emprunter le Term du tutoriel).
  2. Visuel : Dracula (sombre, couleurs néon, comme les vidéos finales) · crème (fond papier, boîtes blanches, style papier).
  3. Durée : court, jusqu'à 60 s (5-6 scènes, bon pour Shorts) · moyen, 1:30-2 min (8-10 scènes) · complet, ~3 min (12-14 scènes, comme SSH et Git).
  4. Musique : synth (tech minimaliste, celle utilisée dans les vidéos) · lofi · ambiant · piano · sans musique.

Série 2 (seulement si ce n'est pas encore clair) :

  • Public : débutant (explique chaque terme) ou qui programme déjà (va droit au but).
  • Voix : pt-BR-AntonioNeural (masculine, celle utilisée) ou pt-BR-FranciscaNeural (féminine). Lancez narracao.py --vozes pour voir les autres.
  • Points obligatoires : qu'est-ce qui ne doit pas manquer ? Un exemple, une commande ou une histoire spécifique ?
  • Clôture : résumé / checklist (par défaut), appel "sauvegarde cette vidéo" ou question pour commenter.

Avant de continuer, confirmez en 2 ou 3 lignes : thème, type, visuel, durée, nombre de scènes et musique.

Étape 2 — Préparer l'ordinateur (une fois par machine)

python SK/video-dev/scripts/checar.py

Si quelque chose manque : python SK/video-dev/scripts/checar.py --instalar (installe edge-tts, pillow, imageio-ffmpeg et numpy via pip ; ffmpeg est inclus dans imageio-ffmpeg, sans rien installer sur le système). Les polices Bahnschrift et Consolas sont déjà fournies avec Windows.

Prévenez l'utilisateur une fois : la voix utilise Internet. Le texte du script est envoyé au service vocal de Microsoft. L'animation et la musique s'exécutent à 100 % sur l'ordinateur.

Attention aux chemins longs sous Windows : Python échoue avec "File name too long" dans des dossiers trop profonds (comme le dossier temporaire de Claude). Travaillez dans un dossier court.

Étape 3 — Créer le dossier de la vidéo

Préférez un dossier en dehors des dossiers synchronisés (OneDrive, Dropbox, iCloud) : le rendu écrit des milliers d'images et la synchronisation ralentit tout. Suggestion : ~/Projets/videos/<nom-court>/. Demandez si l'utilisateur préfère un autre emplacement.

python SK/video-dev/scripts/novo.py <dossier> --tipo conceito --titulo "Qu'est-ce que Docker" --tema dracula --cenas 12

Structure (1 réplique du script = 1 scène) :

<dossier>/  
  video.json     titre, nom de fichier, thème, voix, débit, musique
  roteiro.json   ["réplique de la scène 1", "réplique de la scène 2", ...]
  pronuncia.json optionnel : termes du projet -> orthographe pour la voix
  cenas.py       def cenas(): return [[éléments de la scène 1], ...]
  audio/          scene01.mp3 + scene01.json (timing de chaque mot)
  saida/         <nom>.mp4, <nom>_trilha.mp4, poster.jpg, preview/

Étape 4 — Script → montrer à l'utilisateur → approuver

Écrivez le script en suivant la compétence du type choisi (concept ou tutoriel) et les règles de parole de la compétence narracao-voz. Montrez le script avant d'animer : il est bien plus économique de changer du texte que des scènes. Ne continuez qu'après son accord.

Étape 5 — Narration

python SK/narracao-voz/scripts/narracao.py <dossier>
python SK/narracao-voz/scripts/narracao.py <dossier> --tempos 3     # quand chaque mot de la scène 3 est prononcé

La narration vient avant les scènes, car la durée de chaque scène est celle de la parole + 0,7 s, et les éléments apparaissent à la seconde où le mot correspondant est prononcé.

Étape 6 — Scènes (animation)

Écrivez cenas.py en utilisant from motor import * (API complète dans references/elementos.md). Pour chaque scène : lancez --tempos N, choisissez ce qui apparaît à chaque mot-clé et utilisez ce temps (ou 0,2 s avant) dans le t de l'élément.

Vérifiez en regardant les images, pas seulement le code :

python SK/video-dev/scripts/render.py <dossier> --preview      # dernière image de chaque scène
python SK/video-dev/scripts/render.py <dossier> --cena 4       # scène 4, une image par seconde

Ouvrez les PNG avec l'outil Read et vérifiez : rien coupé sur les bords, rien superposé, texte assez grand pour être lu sur mobile, rien d'important dans les 250 px du bas (où se trouvent le sous-titre et les boutons TikTok/Reels).

Étape 7 — Rendu final + musique

python SK/video-dev/scripts/render.py <dossier>                         # saida/<nom>.mp4 + poster.jpg
python SK/trilha-video/scripts/mixar.py <dossier>/saida/<nom>.mp4 synth  # saida/<nom>_trilha.mp4

Une vidéo de 3 min prend quelques minutes à rendre : lancez en arrière-plan.

Étape 8 — Vérifier et livrer

  • Vérifiez avec ffmpeg la durée et la présence d'audio (ffmpeg -i fichier.mp4 affiche les flux).
  • Extrayez 3 ou 4 images du MP4 final à différents moments et examinez-les.
  • Livrez avec SendUserFile (display: "render") et dites où se trouve le dossier.
  • S'il veut une page pour regarder ou partager (comme celle des vidéos SSH et Git), publiez comme Artifact avec les MP4 et les scripts dans files. Ne rendez public que s'il le demande.
  • Rien ne va sur YouTube/TikTok/GitHub sans l'autorisation de l'utilisateur.

Modifications courantes après finalisation

DemandeQue faire
Changer une phraseéditer roteiro.json → narracao.py --so N → ajuster le timing de la scène N → rendu
Prononciation erronéepronuncia.json dans le projet → narracao.py --so N (voir narracao-voz)
Autre visuel--tema creme dans le rendu, ou changer tema dans video.json
Musique trop forte/faiblemixar.py ... --trilha 0.25 (voir trilha-video)
Version courte d'une longue vidéonouveau projet en copiant uniquement les scènes clés et un script resserré

Avant de commencer, lisez references/licoes.md : ce sont les erreurs et les réussites des deux premières vidéos.

Individual skills in this repo

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

Skills associés