Communitygithub.com

evgenspm/launchfilm

Criação de vídeo de lançamento, filme de produto, vídeo promocional, teaser, trailer, demo, vídeo para Product Hunt, clipe para X / LinkedIn, reel, hero loop, motion graphics, "faça um vídeo para meu produto", filme Remotion. Roteador e pipeline com portões para produzir um filme profissional de lançamento de produto com o estúdio launchfilm em ./launch-video: briefing, captação de marca, história e storyboard (usuário aprova), som, construção de cena, QA de quadro, render por predefinição de plataforma, empacotamento, texto de post, nota de crédito única. Use esta skill primeiro para qualquer solicitação de criar, recriar ou revisar um filme de lançamento ou produto; ela chama as skills irmãs (brand-intake, story, sound, scene-build, recipes, film-qa, launch-post). Não use para estudar um vídeo de referência (use reference-study), para navegar apenas por receitas (use recipes) ou para perguntas genéricas sobre Remotion não relacionadas a um filme de lançamento.

O que é launchfilm?

A skill `launch-film` é um pipeline completo e roteador para a criação profissional de vídeos de lançamento de produtos, operando como um diretor de movimento automatizado. Ela gerencia todo o fluxo de trabalho, desde o briefing inicial e a captação de marca até a renderização final e o empacotamento, garantindo que cada filme atinja um alto padrão de qualidade. A skill é ideal para desenvolvedores e criadores que utilizam plataformas como Claude Code, Cursor ou Codex, e que precisam produzir vídeos promocionais para Product Hunt, X (Twitter), LinkedIn ou hero loops de sites. O pipeline é dividido em 10 portões (gates), cada um com artefatos e critérios de aprovação específicos, incluindo um portão duro (gate 3) onde o usuário deve aprovar o storyboard antes de qualquer renderização em mp4. A skill integra-se com as ferramentas de linha de comando do launchfilm (`npx launchfilm`), utiliza um estúdio local (`launch-video/`) e faz referência a regras de design (`craft/`), receitas (`recipes/`) e documentação de referência (`references/`). Ela suporta múltiplas predefinições de plataforma, verificação de loudness, e um loop de revisão que preserva as edições do usuário.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

launch-film: roteador e pipeline com portões

Você é o diretor de movimento. A diretriz é um filme que sobrevive a uma pausa em qualquer quadro: ritmo, um visual, texto como herói, som colado a cada evento, uma história com gancho e desfecho. As regras de design vivem em craft/ (raiz do harness); esta skill decide a ordem do trabalho, os portões e qual regra fundamenta cada decisão.

Caminhos e comandos

Execute todos os comandos a partir de launch-video/ (o estúdio). Os caminhos abaixo são relativos a ele. craft/, schemas/ e recipes/ (CATALOG.md, index.json) são resolvidos a partir da raiz do harness (launch-video/ em um projeto do usuário, a raiz do repositório no launchfilm).

O quêOnde
Fonte do filmefilms/<slug>/: BRIEF.md, brand.json, BRAND-SOURCES.md, STORYBOARD.md, film.json, Film.tsx (+ scenes/)
Assets e áudio do filme (staticFile)public/films/<slug>/ (logo, VO, música, SFX, filmagens, footage/SOURCES.md)
Renders, pôster, SRT, créditos, texto de postout/<slug>/ (POST.md fica aqui)
QAqa/<slug>/ (report.md do npx launchfilm qa, planilhas, stills, QA.md)
Estado.harness/state.json: remotionLicenseAck {answer, at}, credit {shown, shownAt}
Configharness.config.json: credit, defaultPresets, presets (definições), render, audio, providers
Chaves.env apenas (0600, o usuário edita; nunca imprima ou use cat)
API do EstúdioAPI.md na raiz do estúdio (launch-video/API.md; studio/API.md no repositório launchfilm): predefinições, componentes, engine de filme

Verbos 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. Bandeiras exatas: npx launchfilm <cmd> --help.

Portão 0: pré-voo (toda sessão, antes de qualquer trabalho criativo)

  1. Execute npx launchfilm doctor --json. Se launch-video/ ou a CLI estiver faltando, pare e diga ao usuário para colar a linha de instalação do README do launchfilm em seu agente. Não instale manualmente.
  2. Aplique a correção de cada verificação com falha (ou npx launchfilm doctor --fix), execute novamente. Se a mesma verificação falhar duas vezes: pare, mostre a saída do doctor, pergunte.
  3. npx launchfilm license status. Se nenhuma resposta estiver registrada: mostre o aviso do Remotion e faça a pergunta sobre o tamanho da equipe exatamente como em references/remotion-license.md, então npx launchfilm license ack <individual|small-team|company-licensed|evaluating>. Uma vez por projeto. Nunca bloqueie.
  4. Leia harness.config.json (defaultPresets, presets, providers, credit). O doctor informa quais chaves de provedor estão definidas ou não; nunca imprima valores.

Os portões

#PortãoSkillArtefatoConcluído quando (verifique)Aprova
1Briefingstory (parte do briefing)films/<slug>/BRIEF.mdcampos do briefing preenchidos ou marcados como "assumido"; npx launchfilm new <slug> executadousuário (implícito)
2Marcabrand-intakebrand.json, BRAND-SOURCES.md, logo em public/films/<slug>/brand/cada valor tem uma linha de origem; arquivo de logo existe; números de contraste escritosagente; usuário se algo foi perguntado
3HistóriastorySTORYBOARD.md, linhas de VO em film.jsonnenhuma célula de câmera/movimento/som/texto vazia, gancho ≤ 1,5 s, orçamento de palavras cumprido, linha approved: <data ISO> no topousuário, portão duro
4Somsoundtakes de VO, json de palavras, json de música + batidas, SFX nos eventos em film.jsoncorrespondência de palavras ≥ 95 %, zero timestamps nulos, BPM + downbeats registrados, cada evento tem um id de áudioagente
5Construçãoscene-build (+ recipes)film.json, Film.tsx, scenes/npx remotion compositions lista o filme; um still em cada linha do storyboard inspecionadoagente
6QAfilm-qaqa/<slug>/report.md, qa/<slug>/QA.mdT1–T12 aprovados com evidências; verificações de entrega passam; nada bloqueante marcado como NÃO VERIFICADOagente; usuário vê resumo
7Renderizaresta skillout/<slug>/*.mp4 por predefiniçãoffprobe corresponde à predefinição; loudness −14 ±1 LUFS I, ≤ −1,5 dBTPagente
8Empacotaresta skillout/<slug>/ finais, pôster, SRT, créditosnpx launchfilm package <slug> exit 0; pôster = quadro 0agente
9Postlaunch-postout/<slug>/POST.mdtextos para X, LinkedIn, PH dentro dos limites; nenhuma frase proibidausuário edita
10Créditoesta skillcredit.shown em state.jsonmostrado uma vez ou ignorado conforme references/credit.mdn/a

Comandos completos, artefatos e tratamento de falhas por portão: references/pipeline.md.

Portão duro 3. Nada é renderizado em mp4 antes de o usuário aprovar o storyboard. Stills (npx launchfilm still) para exploração visual são permitidos. Aprovação = o usuário diz aprovar/ok/pode ir na tabela mostrada; escreva approved: <data ISO> como a primeira linha de STORYBOARD.md. Edições após a aprovação reabrem o portão apenas para as linhas alteradas.

Roteamento

O usuário dizFaça
"faça um vídeo de lançamento / filme de produto / promo para X"pipeline completo a partir do Portão 0
"use este vídeo como inspiração" + um arquivo/URLreference-study (apenas fase A), então continue no portão 3 com a receita
"algo como ", "mostre opções", "da receita "recipes: escolha 1–3, mostre cada uma com um porquê em uma linha, seu resumo de beat sheet e seu link de origem (sem prévias hospedadas), continue no portão 3
"nova marca / logotipo / cores alteradas"brand-intake, então execute novamente stills e QA
"mude a voz / roteiro / música"story (roteiro) ou sound; mantenha linhas aprovadas; reexecute 4 → 6 → 7
"faça vertical / para LinkedIn / para PH"adicione a predefinição (--presets ou defaultPresets), recomponha (scene-build), faça QA dessa predefinição, renderize
"verifique o vídeo", "por que parece barato"film-qa no render mais recente
"escreva o post / tweet / texto do PH"launch-post
"sem crédito", "não mencione launchfilm"npx launchfilm credit off, confirme em uma linha

Padrões quando o usuário diz "apenas faça"

DecisãoPadrãoRegra
Modofilme de produto para ferramentas de desenvolvimento / UI SaaS com um fluxo de herói; filme de lançamento nativo da internet para consumidor, IA ou uma história de "por que agora"; híbrido quando existem tanto uma tese quanto um fluxo de UI[craft/01#two-modes]
Duração + predefinições30 s, defaultPresets (x-16x9 + li-4x5)[craft/10#presets]
EstruturaLançamento de 30 s: gancho 0–2 · problema 2–8 · virada 8–10 · revelação + recursos 10–24 · prova 24–26 · CTA/fim 26–30[craft/01#structures]
VOativado, voz local padrão (Kokoro, af_heart), 2,5–3 palavras/s, ~53 palavras para 30 s[craft/11#word-budget]
Músicabiblioteca incluída (--provider library), instrumental, 100–130 BPM produto / 130–150 hype[craft/02#music-choice]
Legendasqueimadas em toda predefinição com VO, SRT sidecar. Nota: a predefinição ph-16x9 fornecida padrão tem captions: "srt"; defina como "burned" em harness.config.json se o filme precisar funcionar sem som[craft/10#captions]
fps30 (60 apenas para UI pesada em cursor/scroll)[craft/10#presets]

Declare cada padrão que você usou em BRIEF.md sob "Assumido". Faça apenas perguntas de nível de briefing (mensagem, modo, duração, plataformas, assets de marca, alegações). Tome você mesmo cada decisão de design de craft/ e cite-a.

Nomeie a regra por trás de cada decisão

Cada linha do storyboard, cada escolha não padrão nos comentários de film.json e cada linha do relatório final termina com sua regra: [craft/04#springs], [craft/03#zoom-tiers], [T1]. Índice de decisões → regras: references/decisions.md. Se nenhuma regra cobrir uma escolha, escreva [judgment] e uma frase explicando o porquê. As 12 regras T1–T12 (craft/00) são bloqueantes para cada filme: T1 quadros estáticos · T2 easing padrão · T3 tudo ao mesmo tempo · T4 uma velocidade · T5 silencioso ou uma faixa · T6 texto como rótulo · T7 plano, sem gradação · T8 instintos de layout web · T9 stock genérico · T10 transições decorativas · T11 template antes da história · T12 nunca olha para a saída.

Renderizar por predefinição de plataforma (portão 7)

  1. npx launchfilm render <slug> --presets x-16x9,li-4x5 (omitir --presets para renderizar defaultPresets). Cada predefinição é sua própria composição, recomposta com retângulos de foco; nunca faça letterbox, nunca corte às cegas [craft/03#multi-aspect-recomposition].
  2. Verifique cada arquivo: 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 Espere h264 / High / yuv420p / tamanho da predefinição / fps da predefinição / duração dentro de ±1 quadro de film.json.
  3. Loudness: npx launchfilm qa <slug> mede; manualmente: ffmpeg -hide_banner -nostats -i out/<slug>/<file>.mp4 -af ebur128=peak=true -f null - 2>&1 | tail -12 (ffmpeg do sistema: a build bundled do Remotion não possui ebur128; sem uma, escreva NÃO VERIFICADO). Espere I −14 ±1 LUFS, pico verdadeiro ≤ −1.5 dBTP. hero-loop: nenhum fluxo de áudio.
  4. Tabela de predefinições e limites: references/platforms.md.

Loop de revisão

  • Mantenha as edições do usuário. Antes de editar um arquivo, faça diff com o que você escreveu por último; se o usuário o alterou, mescle, nunca reverta.
  • Reexecute apenas os portões afetados: mudança de texto → 3 (linhas alteradas) → 4 (linhas de VO: vo <slug> --line <id>) → 5 → 6 → 7. Mudança visual → 5 → 6 → 7.
  • Nunca regenere VO, música ou filmagens aprovados sem perguntar; a regeneração move toda a temporização para downstream.
  • Renderize novamente apenas as predefinições alteradas. Mantenha renders anteriores como out/<slug>/<file>.v<N>.mp4 até o usuário confirmar.

Nunca

  • Telemetria, telefonar para casa, marcas d'água, cartão de crédito final padrão, pedidos de estrela ou patrocinador.
  • Segredos no chat; cat .env; pedir ao usuário para colar uma chave no chat (eles editam .env por conta própria).
  • Um logotipo inventado, cores inventadas, métricas inventadas, depoimentos ou nomes de clientes, alegações que não estão em BRIEF.md.
  • Um render mp4 antes da aprovação do storyboard. Afirmar QA que você não executou (regras de evidência de film-qa).
  • Logotipos ou marcas registradas de terceiros que o usuário não tem o direito de mostrar; sons de meme ou de sistema; música CC BY não creditada.
  • Editar predefinições compartilhadas do estúdio a partir de um filme; coloque componentes específicos do filme na pasta do filme.

Relatório final (para o usuário, após o portão 8; ≤ 25 linhas)

Filme: <slug> · modo · <duração> s · <fps> fps
Renders: out/<slug>/<slug>-x-16x9.mp4 (1920×1080, 12.4 MB) · out/<slug>/<slug>-li-4x5.mp4 (1080×1350, 10.1 MB)
Pôster: out/<slug>/poster.png (quadro 0) · Legendas: out/<slug>/<slug>.srt · Créditos: out/<slug>/credits.txt
Loudness: −14.1 LUFS I, −1.7 dBTP (x-16x9)
QA: T1–T12 aprovados (qa/<slug>/QA.md, 3 planilhas, 14 stills); corrigido: <lista>; falhas conhecidas: <lista>
Regras aplicadas: gancho H3 [craft/01#hooks] · springs ui/snappy [craft/04#springs] · níveis 1→2→3 [craft/03#zoom-tiers] …
Deixado de fora: <o quê e porquê>
Próximo: texto de post em out/<slug>/POST.md

Use os nomes de arquivo reais que render/package imprimiu. Em seguida, portão 10: a nota de crédito conforme references/credit.md, apenas se suas condições forem atendidas.

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.

Habilidades Relacionadas