Communitygithub.com

IAmCosmin-YT/emotion-factory-devlog-shorts

Créez entièrement par code des vidéos promotionnelles verticales (TikTok / YouTube Shorts) pour un jeu Roblox : de l'analyse de références à la capture d'écran dans Roblox Studio, en passant par le montage, l'audio et la vignette.

Qu'est-ce que emotion-factory-devlog-shorts ?

Cette compétence permet à un agent IA de produire de A à Z une vidéo courte promotionnelle pour un jeu Roblox – sans aucune intervention manuelle de l'utilisateur après approbation du plan de travail. Elle couvre l'analyse de vidéos de référence (téléchargement avec yt-dlp, transcriptions, métriques de performance), l'écriture d'un script réaliste à partir de données réelles du jeu (via Studio MCP), l'enregistrement de séquences in-engine (fly-throughs en mode édition et gameplay réel avec pouvoirs admin), le montage selon deux templates (explainer motion-design ou réaction façon streamer avec facecam), l'intégration audio (effets sonores et musique libres de droits depuis Pixabay, normalisation LUFS) et la création de vignettes. L'agent prend en charge chaque étape technique : il exécute les scripts Python de la toolbox (`driver.py`, `render_explainer.py`, `render_reaction.py`, `thumbnail_*.py`) et utilise des outils comme ffmpeg, Whisper pour la transcription, Demucs pour l'isolation vocale. La compétence intègre des garde-fous importants : interdiction des clones vocaux IA, pas de sons synthétisés, demande d'approbation pour chaque téléchargement, protection des données des autres utilisateurs, et restauration de l'état du jeu après les playtests. Elle est conçue pour fonctionner avec Claude Code, Cursor, ou tout agent capable d'exécuter des commandes shell et des scripts Python, et elle est livrée avec des références détaillées et des scripts prêts à l'emploi éprouvés sur un jeu réel (Archer Heroes).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/IAmCosmin-YT/emotion-factory-devlog-shorts/tree/HEAD/extracted_skills/roblox-promo-shorts/roblox-promo-shorts

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 promotionnelles Roblox

Vous produisez vous-même la totalité de la vidéo : script, séquences, montage, audio, vignette. Le travail de l'utilisateur consiste à approuver le plan, à ne pas toucher au PC pendant l'enregistrement et, s'il le souhaite, à enregistrer une voix off. Le résultat est une vidéo en 1080x1920 @60fps H.264, -14 LUFS, accompagnée de vignettes.

Tout ce qui se trouve ici a été appris sur le terrain avec un vrai jeu (Archer Heroes). Les scripts dans scripts/ sont le pipeline fonctionnel ; copiez-les dans le projet de l'utilisateur et modifiez les blocs de données clairement marqués plutôt que de tout réécrire.

Flux de travail

  1. Analyser les références (si l'utilisateur partage des liens) → references/research.md. Téléchargez avec yt-dlp, réalisez des planches d'images, transcrivez et extrayez les compteurs de vues. Les chiffres de vues comptent plus que les impressions : en test, un format histoire a fait 28M de vues alors qu'une re-publication d'un moment de stream déjà utilisé n'a fait que 34K vues. Dites à l'utilisateur ce qui fonctionne vraiment.
  2. Choisir le format et écrire le script avec des faits réels. Lisez les chiffres du jeu (nombre de lignes, nombre d'ennemis, taux de drop) via Studio MCP ; n'inventez jamais de statistiques. Signalez toute affirmation que l'utilisateur doit confirmer (ex. « Je n'ai pas écrit une seule ligne »).
  3. Enregistrer les séquences depuis Studio → references/studio-recording.md. Vols de caméra en mode édition (caméra animée en Luau + capture d'écran avec ffmpeg) et vrais playtests (remotes admin, waves accélérées, mode dieu). Demandez à l'utilisateur de mettre Studio au premier plan et de ne pas toucher aux entrées ; prévenez-le quand il peut réutiliser son PC.
  4. Monter avec l'un des deux templates :
    • Explainer motion-design → references/explainer.md (scripts/render_explainer.py)
    • Réaction façon streamer → references/reaction.md (scripts/render_reaction.py)
  5. Audio → references/audio.md. Uniquement des échantillons réels (Pixabay / bibliothèque de l'utilisateur), la musique apparaît sur le reveal, elle baisse sous la voix, loudnorm -14 LUFS.
  6. Vignettes : scripts/thumbnail_explainer.py (verticale + 16:9), scripts/thumbnail_reaction.py.
  7. Vérifier, puis livrer : examinez les images fixes et une planche contact, transcrivez le final pour vérifier la synchronisation des sous-titres, contrôlez le niveau sonore, puis envoyez le MP4 + vignettes avec SendUserFile.

Boîte à outils (scripts/driver.py)

python <skill>/scripts/driver.py check                         # ffmpeg, yt-dlp, whisper, demucs, polices
python <skill>/scripts/driver.py stills <proj> render.py 0.5,6,12   # aperçus d'images -> .promo_out/stills.jpg
python <skill>/scripts/driver.py sheet  video.mp4 2            # planche contact -> à visualiser
python <skill>/scripts/driver.py cuts   recording.mp4          # temps de coupes franches (PTS réels)
python <skill>/scripts/driver.py words  final.mp4              # horodatages Whisper (vérification synchro)
python <skill>/scripts/driver.py mux    video.mp4 mix.wav out.mp4   # encodage de livraison -14 LUFS
python <skill>/scripts/driver.py viewport                      # trouver la zone du viewport Studio à l'écran
python <skill>/scripts/driver.py grab   take.mp4 40 168 1146   # enregistrer cette zone à 60 ips
python <skill>/scripts/music_drops.py track.mp3                # bpm, courbe de volume, moments de drop

Ouvrez toujours les images produites. Un rendu qui a « réussi » peut encore être plein d'écrans de mort, de caméra sous le sol ou d'un tag de nom que vous ne devez pas publier.

Règles qui protègent l'utilisateur

  • Pas de clones vocaux IA de vraies personnes. Ne faites pas dire à un streamer des répliques qu'il n'a jamais dites, avec ElevenLabs ou autre. Utilisez ses vrais extraits (trouvez le VOD original, pas le montage d'un autre créateur) et isolez la voix avec Demucs. Suggérez de labelliser les montages comme étant des montages.
  • Pas d'effets sonores synthétisés. L'utilisateur a trouvé douloureux les whoosh/ticks générés par numpy-synth (« comme des ongles sur un tableau »). Utilisez des échantillons réels, chauds/graves (centroïde spectral < ~2 kHz) pour les impacts.
  • Les téléchargements nécessitent un accord. Avant de télécharger des effets sonores ou de la musique, listez les fichiers, la source et la taille approximative, et attendez l'approbation. yt-dlp pour les vidéos de référence/source est acceptable quand l'utilisateur l'a demandé.
  • Ne publiez pas les informations d'autrui. Les collaborateurs Team Create apparaissent comme des tags de nom dans les captures en mode édition ; coupez autour ou floutez-les.
  • Les playtests écrivent dans la vraie sauvegarde. Les équipements/dons admin persistent. Mentionnez-le et proposez de restaurer l'équipement. Restaurez toute modification du lieu (ShowDevelopmentGui, dossiers d'étape temporaires).
  • N'enregistrez pas le bureau de l'utilisateur pendant qu'il l'utilise. Capturez l'écran seulement après qu'il ait dit que Studio est au premier plan ; sinon, utilisez des images fixes screen_capture.

Livraison

Envoyez le MP4 de téléchargement et les vignettes avec SendUserFile (display: render). Dans le message : ce qu'il contient mesure par mesure, ce qui est réel vs placeholder (ex. voix TTS), le niveau sonore et les réserves honnêtes (affirmations à vérifier, risque Content ID de la musique Pixabay, modifications de profil). Proposez une reconstruction en une commande lorsque l'utilisateur enregistrera sa propre voix (references/explainer.md → « Remplacement par la voix de l'utilisateur »).

Individual skills in this repo

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

Skills associés