Communitygithub.com

launch-film

Vidéo de lancement, film produit, bande-annonce, teaser, démo, clip Product Hunt / X / LinkedIn, reel, motion design, « crée une vidéo pour mon produit ». Routeur et pipeline à étapes pour réaliser un film professionnel de lancement produit avec le studio `./launch-video` : brief, marque, story et storyboard (validation utilisateur), son, construction des scènes, QA des images, rendu par preset de plateforme, packaging, copy post, note de crédit unique.

Qu'est-ce que launch-film ?

Ce skill est le point d'entrée unique pour réaliser un film de lancement produit professionnel avec le studio launchfilm. Il orchestre un pipeline en 10 étapes (Gates), chacune déléguée à un skill frère spécialisé : brand-intake, story, sound, scene-build, recipes, film-qa, launch-post. Le processus est strict : une storyboard doit être approuvée par l'utilisateur avant tout rendu MP4 (Hard Gate 3). Le skill applique des règles de craft documentées dans le dossier `craft/` pour chaque décision (rythme, typographie, musique, rebondissements) et cite la règle utilisée à chaque étape. Il prend en charge les rendus multi-presets (X, LinkedIn, Product Hunt, hero-loop) avec recomposition des cadres et vérification de la loudness (−14 LUFS). Il intègre aussi une gestion des crédits unique, un système de licence Remotion, et un mode révision qui préserve les modifications utilisateur. À utiliser en premier pour toute demande de création, refonte ou révision d'un film de lancement.

Compatible avec~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/evgenspm/launchfilm/tree/HEAD/skills/launch-film

Demander à votre IA préférée

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

Documentation

launch-film : routeur et pipeline à étapes

Vous êtes le directeur motion. La barre est un film qui résiste à une pause sur n'importe quelle image : rythme, un look, le texte en héros, du son collé à chaque événement, une histoire avec un hook et un payoff. Les lois du craft vivent dans craft/ (racine du harnais) ; ce skill décide l'ordre du travail, les étages (gates) et la règle qui soutient chaque décision.

Chemins et commandes

Exécutez chaque commande depuis launch-video/ (le studio). Les chemins ci-dessous lui sont relatifs. craft/, schemas/ et recipes/ (CATALOG.md, index.json) se résolvent depuis la racine du harnais (launch-video/ dans un projet utilisateur, la racine du dépôt dans launchfilm).

QuoiOù
Source du filmfilms/<slug>/ : BRIEF.md, brand.json, BRAND-SOURCES.md, STORYBOARD.md, film.json, Film.tsx (+ scenes/)
Assets et audio du film (staticFile)public/films/<slug>/ (logo, VO, musique, SFX, footage, footage/SOURCES.md)
Renders, poster, SRT, crédits, copy postout/<slug>/ (POST.md y vit)
QAqa/<slug>/ (report.md de npx launchfilm qa, feuilles, images, QA.md)
État.harness/state.json : remotionLicenseAck {answer, at}, credit {shown, shownAt}
Configurationharness.config.json : credit, defaultPresets, presets (définitions), render, audio, providers
Clés.env seulement (0600, l'utilisateur l'édite ; ne jamais afficher ni cat)
API du studioAPI.md à la racine du studio (launch-video/API.md ; studio/API.md dans le dépôt launchfilm) : presets, composants, moteur du film

Verbes CLI : doctor [--json] [--fix] · new <slug> [--recipe id] [--preset …] [--title "…"] · vo <slug> · words <audio> · music <slug> · beats <audio> · sfx list|search|gen · still <slug> <t> · sheet <slug|video> · render <slug> [--presets …] [--scale 0.5] · qa <slug> [--json] · package <slug> · post <slug> · ref add|search · credit status|lines|off · license status|ack <answer> · update. Flags exacts : npx launchfilm <cmd> --help.

Gate 0 : prévol (chaque session, avant tout travail créatif)

  1. Exécutez npx launchfilm doctor --json. Si launch-video/ ou la CLI manque, arrêtez-vous et dites à l'utilisateur de coller la ligne d'installation du README launchfilm dans son agent. N'installez pas manuellement.
  2. Appliquez le correctif de chaque vérification en échec (ou npx launchfilm doctor --fix), relancez. Même vérification échoue deux fois : arrêtez-vous, montrez la sortie du doctor, demandez.
  3. npx launchfilm license status. Si aucune réponse n'est enregistrée : affichez l'avis Remotion et posez la question sur la taille de l'équipe exactement comme dans references/remotion-license.md, puis npx launchfilm license ack <individual|small-team|company-licensed|evaluating>. Une fois par projet. Ne bloquez jamais.
  4. Lisez harness.config.json (defaultPresets, presets, providers, credit). Le doctor rapporte quelles clés provider sont définies ou non ; n'affichez jamais les valeurs.

Les gates

#GateSkillArtefactFait quand (vérifiez-le)Approuve
1Briefstory (partie brief)films/<slug>/BRIEF.mdchamps du brief remplis ou marqués "supposé" ; npx launchfilm new <slug> exécutéutilisateur (implicite)
2Marquebrand-intakebrand.json, BRAND-SOURCES.md, logo dans public/films/<slug>/brand/chaque valeur a une ligne source ; le fichier logo existe ; les contrastes sont écritsagent ; utilisateur si une question a été posée
3StorystorySTORYBOARD.md, lignes VO dans film.jsonaucune cellule caméra/mouvement/son/texte vide, hook ≤ 1.5 s, budget de mots respecté, ligne approved: <date ISO> en haututilisateur, gate dur
4SonsoundPrises VO, mots json, musique + beats json, SFX sur événements dans film.jsoncorrespondance mots ≥ 95 %, zéro timestamp null, BPM + downbeats enregistrés, chaque événement a un id audioagent
5Constructionscene-build (+ recipes)film.json, Film.tsx, scenes/npx remotion compositions liste le film ; une image à chaque ligne de storyboard inspectéeagent
6QAfilm-qaqa/<slug>/report.md, qa/<slug>/QA.mdT1–T12 passent avec preuves ; les vérifications de livraison passent ; rien de bloquant marqué NOT CHECKEDagent ; utilisateur voit le résumé
7Renduce skillout/<slug>/*.mp4 par presetffprobe correspond au preset ; loudness −14 ±1 LUFS I, ≤ −1.5 dBTPagent
8Packagingce skillout/<slug>/ finaux, poster, SRT, créditsnpx launchfilm package <slug> exit 0 ; poster = image 0agent
9Postlaunch-postout/<slug>/POST.mdcopy X, LinkedIn, PH dans les limites ; aucune phrase bannieutilisateur édite
10Créditce skillcredit.shown dans state.jsonmontré une fois ou sauté selon references/credit.mdn/a

Commandes complètes, artefacts et gestion des échecs par gate : references/pipeline.md.

Gate dur 3. Rien n'est rendu en mp4 avant que l'utilisateur n'approuve le storyboard. Les images (npx launchfilm still) pour l'exploration visuelle sont autorisées. Approbation = l'utilisateur dit approuve/ok/go sur le tableau affiché ; écrivez approved: <date ISO> comme première ligne de STORYBOARD.md. Les modifications après approbation rouvrent le gate uniquement pour les lignes modifiées.

Routage

L'utilisateur ditFaites
"fais une vidéo de lancement / un film produit / une promo pour X"pipeline complet depuis Gate 0
"utilise cette vidéo comme inspiration" + un fichier/URLreference-study (phase A seulement), puis continuez au gate 3 avec la recette
"quelque chose comme ", "montre-moi des options", "depuis la recette "recipes : choisissez-en 1–3, montrez chacun avec un pourquoi en une ligne, son résumé de beat sheet et son lien source (pas d'aperçus hébergés), continuez au gate 3
"nouvelle marque / nouveau logo / couleurs changées"brand-intake, puis relancez les images et la QA
"change la voix / le script / la musique"story (script) ou sound ; gardez les lignes approuvées ; relancez 4 → 6 → 7
"fais-le vertical / pour LinkedIn / pour PH"ajoutez le preset (--presets ou defaultPresets), recomposez (scene-build), QA ce preset, rendez
"vérifie la vidéo", "pourquoi ça fait cheap"film-qa sur le dernier rendu
"écris le post / le tweet / la copy PH"launch-post
"pas de crédit", "ne mentionne pas launchfilm"npx launchfilm credit off, confirmez en une ligne

Valeurs par défaut quand l'utilisateur dit "fais-le"

DécisionDéfautRègle
Modefilm produit pour dev tools / SaaS UI avec un flux héros ; film de lancement internet-native pour consommateur, IA ou une histoire "why now" ; hybride quand une thèse et un flux UI existent[craft/01#two-modes]
Durée + presets30 s, defaultPresets (x-16x9 + li-4x5)[craft/10#presets]
StructureLancement 30 s : hook 0–2 · problème 2–8 · tournant 8–10 · révélation + fonctionnalités 10–24 · preuve 24–26 · CTA/fin 26–30[craft/01#structures]
VOactivée, voix locale par défaut (Kokoro, af_heart), 2.5–3 mots/s, ~53 mots pour 30 s[craft/11#word-budget]
Musiquebibliothèque fournie (--provider library), instrumentale, 100–130 BPM produit / 130–150 hype[craft/02#music-choice]
Sous-titresincrustés sur chaque preset avec VO, fichier SRT sidecar. Note : le preset fourni ph-16x9 par défaut captions: "srt" ; mettez-le à "burned" dans harness.config.json si le film doit fonctionner en muet[craft/10#captions]
fps30 (60 seulement pour UI riche en curseur/scroll)[craft/10#presets]

Indiquez chaque valeur par défaut que vous avez prise dans BRIEF.md sous "Supposé". Ne posez que des questions de niveau brief (message, mode, durée, plateformes, assets de marque, affirmations). Prenez chaque décision de craft vous-même depuis craft/ et citez-la.

Nommez la règle derrière chaque décision

Chaque ligne de storyboard, chaque choix non par défaut dans les commentaires de film.json, et chaque ligne du rapport final se termine par sa règle : [craft/04#springs], [craft/03#zoom-tiers], [T1]. Index des décisions → règles : references/decisions.md. Si aucune règle ne couvre un choix, écrivez [judgment] et une phrase expliquant pourquoi. Les 12 tells T1–T12 (craft/00) sont bloquants pour chaque film : T1 images statiques · T2 easing par défaut · T3 tout à la fois · T4 une seule vitesse · T5 silencieux ou une piste · T6 texte comme une étiquette · T7 plat, non gradé · T8 instincts de layout web · T9 stock générique · T10 transitions décoratives · T11 template avant histoire · T12 ne regarde jamais le résultat.

Rendu par preset de plateforme (gate 7)

  1. npx launchfilm render <slug> --presets x-16x9,li-4x5 (omettez --presets pour rendre les defaultPresets). Chaque preset est sa propre composition, recomposée avec des rectangles de focus ; jamais de letterbox, jamais de recadrage aveugle [craft/03#multi-aspect-recomposition].
  2. Vérifiez chaque fichier : npx remotion ffprobe -v error -show_entries stream=codec_name,profile,pix_fmt,width,height,r_frame_rate:format=duration -of json out/<slug>/<file>.mp4 Attendez-vous à h264 / High / yuv420p / taille du preset / fps du preset / durée dans ±1 image de film.json.
  3. Loudness : npx launchfilm qa <slug> la mesure ; à la main : ffmpeg -hide_banner -nostats -i out/<slug>/<file>.mp4 -af ebur128=peak=true -f null - 2>&1 | tail -12 (ffmpeg système : la version fournie par Remotion manque de ebur128 ; sans elle, écrivez NOT CHECKED). Attendez-vous à I −14 ±1 LUFS, pic vrai ≤ −1.5 dBTP. hero-loop : pas de flux audio du tout.
  4. Tableau des presets et limites : references/platforms.md.

Boucle de révision

  • Gardez les modifications utilisateur. Avant de modifier un fichier, diff-là par rapport à ce que vous avez écrit en dernier ; si l'utilisateur l'a changé, fusionnez, ne revenez jamais en arrière.
  • Relancez seulement les gates affectées : modification de copy → 3 (lignes modifiées) → 4 (lignes VO : vo <slug> --line <id>) → 5 → 6 → 7. Modification d'aspect → 5 → 6 → 7.
  • Ne regénérez jamais une VO, une musique ou un footage approuvé sans demander ; la régénération décale tout le timing en aval.
  • Ne rendez que les presets modifiés. Gardez les rendus précédents sous out/<slug>/<file>.v<N>.mp4 jusqu'à confirmation de l'utilisateur.

Ne jamais

  • Télémétrie, communication externe, filigranes, carte de fin par défaut, demande d'étoile ou de sponsor.
  • Secrets dans le chat ; cat .env ; demander à l'utilisateur de coller une clé dans le chat (il édite .env lui-même).
  • Un logo inventé, des couleurs inventées, des métriques inventées, des témoignages ou noms de clients, des affirmations qui ne sont pas dans BRIEF.md.
  • Un rendu mp4 avant approbation du storyboard. Prétendre avoir exécuté une QA que vous n'avez pas faite (règles de preuve film-qa).
  • Logos ou marques tierces que l'utilisateur n'a pas le droit de montrer ; sons de mèmes ou systèmes ; musique CC BY non créditée.
  • Modifier les presets partagés du studio depuis un film ; mettez les composants spécifiques au film dans le dossier du film.

Rapport final (à l'utilisateur, après le gate 8 ; ≤ 25 lignes)

Film: <slug> · mode · <durée> s · <fps> fps
Rendus: out/<slug>/<slug>-x-16x9.mp4 (1920×1080, 12.4 Mo) · out/<slug>/<slug>-li-4x5.mp4 (1080×1350, 10.1 Mo)
Poster: out/<slug>/poster.png (image 0) · Sous-titres: out/<slug>/<slug>.srt · Crédits: out/<slug>/credits.txt
Loudness: −14.1 LUFS I, −1.7 dBTP (x-16x9)
QA: T1–T12 passent (qa/<slug>/QA.md, 3 feuilles, 14 images) ; corrigés : <liste> ; défauts connus : <liste>
Règles appliquées : hook H3 [craft/01#hooks] · ressorts ui/snappy [craft/04#springs] · niveaux 1→2→3 [craft/03#zoom-tiers] …
Exclus : <quoi et pourquoi>
Suite : copy post dans out/<slug>/POST.md

Utilisez les vrais noms de fichiers imprimés par render/package. Ensuite gate 10 : la note de crédit selon references/credit.md, seulement si ses conditions sont remplies.

Individual skills in this repo

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

evgenspm/launchfilm

Brand intake for a launch film, product video or promo: capture the product's real colors, fonts, logo, radius and theme from the user's repo (Tailwind config, CSS variables, shadcn tokens, next/font, logo SVG), then the live website, then screenshots, and write films/<slug>/brand.json with a source for every value. Use when starting a new film, when the brand, logo or colors changed, or when the user says "use my brand / my colors / my logo". Hard stop if capture fails: never invent a logo or colors. Not for picking a look or grade (scene-build, craft/06) or for writing copy (story).

evgenspm/launchfilm

QA a rendered launch film before anyone ships it. Use for "QA the video", "check the render", "is it ready to post", "review the film", "why does it look cheap", "check the captions/safe zones/loudness", after every render and before package. Reads the CLI's automatic report (`npx launchfilm qa <slug>`), contact sheets and stills at key timestamps, then checks text-at-time readability, contrast, platform safe zones, loudness (−14 LUFS, −1.5 dBTP), ffprobe encode specs, black and frozen frames, cuts on the beat, and the 12 amateur tells as blocking checks. Writes qa/<slug>/QA.md where every line cites a file or a measured number; a check that was not run says NOT CHECKED, never PASS. Use scene-build to fix picture problems it finds, sound to fix the mix, launch-film for the whole pipeline, reference-study for reference videos.

evgenspm/launchfilm

Write the launch post that goes with the film: X / Twitter post, LinkedIn post, Product Hunt tagline, description and maker comment, written in the founder's own voice, concrete, no AI slop ("excited to announce", em dashes, buzzwords). Triggers: write the tweet, launch post, LinkedIn post, Product Hunt copy, PH tagline, maker comment, caption for the video, announcement copy. Use after the film is rendered (or when the user asks for post copy for an existing film); starts from `npx launchfilm post <slug>` and the film's BRIEF.md and STORYBOARD.md, writes out/<slug>/POST.md. Never posts anything. Not for the film's own on-screen script or VO (story).

evgenspm/launchfilm

Find launchfilm recipes (published launch films studied frame by frame and written down as text, some with ready Remotion code) and build the user's film from 1 to 3 of them. Use for "use a template", "start from a recipe", "make a 30s launch film from recipe <id>", "something like this style", "show me options", "which recipe fits a 30 s vertical launch", "remix recipe X with our brand", or when a storyboard needs a proven hook, feature beat, logo reveal or end card. Searches recipes/CATALOG.md or recipes/index.json, scores and picks 1 to 3, shows each with its source link, reads the recipe.md beat sheet, then scaffolds with `npx launchfilm new <slug> --recipe <id>`: ready code when Recipe.tsx exists, else TODO scenes built from the beat sheet with studio presets, keeping the recipe's timings, springs and sounds re-timed to the user's length and beat grid. Use reference-study to make a new recipe, story for the storyboard, scene-build for scenes, launch-film for the whole pipeline.

Skills associés