Communitygithub.com

evgenspm/launchfilm

Encontre receitas de launchfilm (filmes de lançamento publicados, estudados quadro a quadro e escritos como texto, alguns com código Remotion pronto) e monte o filme do usuário a partir de 1 a 3 delas.

O que é launchfilm?

Esta skill permite que um agente de IA atue como um assistente de criação de filmes de lançamento, usando um catálogo de receitas pré-analisadas. Ela é útil para desenvolvedores e criadores que desejam reutilizar a estrutura, o ritmo e as técnicas de filmes de sucesso, mas com seu próprio conteúdo e marca. A skill suporta as plataformas de linha de comando (como Claude Code e Cursor) e opera pesquisando em `recipes/CATALOG.md` ou `recipes/index.json`, pontuando e selecionando de 1 a 3 receitas com base em critérios como formato, duração, técnicas e inputs do usuário. Uma vez selecionada, a skill lê a ficha técnica da receita (`recipe.md`) e gera o esqueleto do filme com o comando `npx launchfilm new <slug> --recipe <id>`, resultando em código pronto (se `Recipe.tsx` existir) ou cenas TODO construídas a partir da ficha técnica usando presets de estúdio, mantendo os tempos, molas e sons da receita reajustados para a duração e grade rítmica do usuário.

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

Perguntar na sua IA favorita

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

Documentação

recipes

Uma receita é um filme de lançamento publicado, estudado e documentado para que um agente possa reconstruir sua técnica para outro produto. Ela fica em <studio>/src/recipes/<id>/:

ArquivoSempreO que fornece
recipe.mdsimquando usar, a ficha técnica (tempos, quadros, imagem, câmera, movimento, transição, som), técnicas vinculadas ao ofício, o que adaptar, armadilhas, componentes ausentes
recipe.jsonsimos mesmos dados (esquema schemas/recipe.schema.json): structure[], techniques, audio, inputs, components, source
Recipe.tsx + index.tsxapenas status: "built"código pronto: um componente parametrizado por brand + content, registrado com uma marca demo

A maioria das receitas são apenas texto (status: "studied"), e isso é suficiente para construir a partir delas: você escreve as cenas a partir da ficha técnica usando os presets e componentes do estúdio. Uma receita nunca contém o filme original, seus quadros ou seu texto; o link da fonte é como o usuário vê a referência.

Execute comandos a partir de launch-video/ (usuário) ou studio/ (repositório launchfilm). recipes/ e schemas/ ficam na raiz do harness (launch-video/ em um projeto do usuário, a raiz do repositório no launchfilm).

1. Saiba o que você precisa (de BRIEF.md / STORYBOARD.md)

Anote antes de pesquisar: preset(s) (aspecto), duração alvo, modo (filme de produto / filme de lançamento / híbrido), tema (escuro/claro de brand.json), narração sim/não, os beats que você precisa cobrir (hook, feature, logo…), os inputs que o usuário realmente tem (logotipo, capturas de tela, uma gravação de tela, uma UI reconstruível, estatísticas, uma URL).

2. Pesquise

Folheie recipes/CATALOG.md (uma linha por receita, agrupada por família: formato, principais técnicas, inputs, fonte, texto/código), ou pesquise:

npx launchfilm ref search "statement vertical dark"            # texto livre sobre título, resumo, tags, técnicas
npx launchfilm ref search "launch aspect:9:16 max:30 theme:dark" # filtros: family: aspect: tech: theme: max: min: status:

Ou filtre recipes/index.json diretamente (campos: references/index-format.md):

node -e '
const idx=JSON.parse(require("fs").readFileSync("recipes/index.json","utf8")).recipes;
const want={aspect:"9:16",dur:30,techniques:["statement-sequence","end-card"],theme:"dark"};
for(const r of idx){const t=r.techniques.filter(x=>want.techniques.includes(x)).length;
 if(r.format.aspect===want.aspect||t>0) console.log(r.id,r.format.aspect,r.format.duration_s+"s",r.theme,r.vo?"vo":"-",t,r.code?"code":"text");}'

Sem índice? Faça glob em src/recipes/*/recipe.json e leia-os.

3. Pontue e escolha de 1 a 3

CritérioPontos
format.aspect igual ao aspecto do preset principal+3 (recomposição é possível, mas custa trabalho)
format.duration_s dentro de ±30 % do alvo (ou a receita cobre o beat que você precisa)+2
cada técnica que se sobrepõe às necessidades do storyboard+1 (máx +4)
todo inputs que ela precisa é algo que o usuário tem+2; qualquer input ausente que não pode ser criado
theme corresponde a brand.json theme+1
vo corresponde ao plano+1
code: true (Recipe.tsx pronta) quando o usuário está com pressa+1; status: "reviewed"
render_cost pesado enquanto o usuário está em um laptop ou com pressa−1

Texto vs código é um bônus de velocidade, não um filtro de qualidade: uma receita de texto que se encaixa na brief supera uma com código que não se encaixa. Pegue a melhor para um filme inteiro, ou até 3 para diferentes beats (hook da A, features da B, cartão final da C).

4. Mostre as escolhas

Para cada escolha, mostre ao usuário:

  • título (id), e text ou code;
  • uma linha sobre por que se encaixa na brief (aspecto, duração, o beat que cobre, os inputs que eles têm);
  • a ficha técnica em 3–6 linhas curtas (0–3.1 s hook: nome aparece palavra por palavra…), resumida de recipe.md;
  • o link da fonte (source.url) para que possam assistir ao original. Não há prévias hospedadas.

Em uma sessão assistida, deixe-os escolher. Se eles disseram "decida você", pegue a maior pontuação e diga em uma linha.

5. Leia a receita

Leia o recipe.md escolhido por completo: a ficha técnica, movimento em quadros e molas nomeadas, transições, o som em cada evento, "O que adaptar", "Armadilhas", "Componentes ausentes". Leia recipe.json structure[], audio, inputs, components. Esses números são o ofício que você está reutilizando; a imagem e o texto serão do usuário.

6. Estrutura inicial

npx launchfilm new <slug> --recipe <id> --preset x-16x9 [--title "Produto"] [--dry-run]
  • Receita com código: films/<slug>/Film.tsx recebe uma cena recipe que renderiza o componente da receita com seus valores padrão; você altera suas props content (recipe.json params) e passa a marca.
  • Receita de texto: film.json recebe um plano por linha da ficha técnica (os tempos da receita, suas transições e SFX), e Film.tsx recebe um TodoScene por plano com a imagem da linha, câmera, movimento e som como comentários. O CLI imprime a lista de TODOs. Um TodoScene renderiza um placeholder rotulado, e npx launchfilm qa falha (B1) enquanto um existir.
  • Ambos copiam recipe.md para films/<slug>/RECIPE.md e pré-preenchem STORYBOARD.md com as linhas da receita.
  • Combinando receitas: estruture a partir da que possui mais tempo de execução, depois adicione as linhas das outras receitas como planos (seu componente Recipe como uma cena quando têm código, caso contrário cenas TODO).

7. Construa (detalhes: references/remix.md)

  1. Reajuste o esqueleto para a duração e grade rítmica do usuário primeiro (remix.md §3): mantenha a ordem e as proporções dos beats, encaixe cada limite em um downbeat ou uma frase de narração. Atualize os planos de film.json e as linhas do STORYBOARD; o usuário aprova o storyboard (portão 3) antes das cenas serem construídas.
  2. Marca: brand.json em cada cena através de useBrand() (receitas de código: a prop brand). Nunca edite a pasta da receita.
  3. Conteúdo: o nome do produto do usuário, linhas, estatísticas e UI. Nunca o texto do filme original ou o texto da marca demo.
  4. Cenas de receita de texto: substitua cada TodoScene por uma cena construída a partir de src/presets e src/components (leia API.md primeiro; a skill scene-build possui as regras). Use os componentes listados em recipe.json; mantenha exatamente as molas nomeadas da linha, contagens de quadros, escalonamentos e ids de transição; as durações de movimento não escalam com a duração do filme. Um componente que a receita lista em "Componentes ausentes" é construído em films/<slug>/scenes/ a partir de sua especificação.
  5. Som: cada evento em audio.sfx e o sfx de cada linha mantém seu som no novo quadro (regra de cola, ofício/02).
  6. Still em cada plano antes de qualquer render (passo 4 de scene-build), depois film-qa.

Regras

  • Receitas são pontos de partida, não resultado final: o filme carrega a história do usuário (STORYBOARD aprovado primeiro).
  • Nada da fonte vai para o filme: nenhum texto fonte, nenhuma marca fonte, nenhuma filmagem fonte. O link da fonte é para o usuário assistir, e fica em recipe.json e sua mensagem, nunca no filme.
  • Componente ausente → construa-o dentro de films/<slug>/scenes/, não na pasta da receita ou nos presets compartilhados.
  • Registre em STORYBOARD.md qual(is) receita(s), quais linhas, o fator de escala e parâmetros, para que uma reexecução seja reproduzível.

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

Launch video, launch film, product video, product launch, promo, teaser, trailer, demo video, Product Hunt video, X / LinkedIn launch clip, reel, hero loop, motion graphics, "make a video for my product", Remotion film. Router and gated pipeline for making a pro product-launch film with the launchfilm studio in ./launch-video: brief, brand intake, story and storyboard (user approves), sound, scene build, frame QA, render per platform preset, package, post copy, one-time credit note. Use this first for any request to make, remake or revise a launch or product film; it calls the sibling skills (brand-intake, story, sound, scene-build, recipes, film-qa, launch-post). Do not use it to study a reference video (use reference-study), to browse recipes only (use recipes), or for generic Remotion questions unrelated to a launch film.

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).

Habilidades Relacionadas