Communitygithub.com

brand-intake

Captura de identidade visual para um filme de lançamento, vídeo de produto ou promo: extrai as cores, fontes, logotipo, raio e tema reais do produto a partir do repositório do usuário (configuração Tailwind, variáveis CSS, tokens shadcn, next/font, SVG do logotipo), depois do site ao vivo e de capturas de tela, e escreve films/<slug>/brand.json com a origem de cada valor.

O que é brand-intake?

Este skill, chamado brand-intake, é responsável por extrair os tokens visuais reais de um produto — como cores, fontes, logotipo, raio de borda e tema — a partir do repositório do usuário, do site ao vivo e de capturas de tela, e então escrever um arquivo brand.json padronizado. Ele é essencial para garantir que vídeos de lançamento, vídeos de produto ou promos reflitam fielmente a identidade visual do produto, evitando invenções ou suposições. O skill suporta configurações Tailwind (v3 e v4), tokens shadcn, next/font, variáveis CSS e arquivos SVG/PNG de logotipo. A extração segue uma ordem de fontes de dados: primeiro o repositório do usuário (ideal), depois o site ao vivo, depois capturas de tela, e por fim, pergunta ao usuário por valores faltantes. O skill também realiza verificação de contraste, mapeamento de fontes não licenciadas para redistribuição e gera um relatório de fontes (BRAND-SOURCES.md). Ele possui paradas rígidas em caso de falha na captura: nunca inventa um logotipo ou cores. É indicado para uso ao iniciar um novo filme, quando a marca, logotipo ou cores mudam, ou quando o usuário solicita 'use minha marca / minhas cores / meu logotipo'.

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

Perguntar na sua IA favorita

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

Documentação

brand-intake: tokens reais, brand.json de saída

O filme deve se parecer com o produto, então os tokens vêm do produto, nunca do gosto. Ordem das fontes, pare na primeira que fornecer um valor para um campo e registre de onde cada valor veio:

  1. O repositório do usuário (melhor: tokens exatos, nomes de fontes reais, o arquivo de logotipo real).
  2. A URL ativa (estilos computados, meta tags, SVG de cabeçalho).
  3. Capturas de tela fornecidas pelo usuário (amostragem de pixels).
  4. Pergunte ao usuário por qualquer coisa ainda faltando. Nunca adivinhe.

Saída (caminhos relativos a launch-video/): films/<slug>/brand.json, films/<slug>/BRAND-SOURCES.md e arquivos de logotipo copiados como estão para public/films/<slug>/brand/ (para que as cenas os carreguem com staticFile()). Receitas de extração: references/sources.md. Mapeamento de campos, fallbacks de fontes, matemática de contraste: references/brand-json.md.

Etapas

  1. Encontre a raiz do produto. Se launch-video/ estiver dentro de um repositório de produto, a raiz do repositório está um nível acima. Caso contrário, peça a URL e as capturas de tela. Observe a stack: dependências de package.json (versão do tailwindcss, next, @fontsource/*, shadcn).
  2. Cores do repositório. Em ordem: variáveis @theme do Tailwind v4 no CSS, tailwind.config.{js,ts,cjs,mjs} theme.extend.colors do Tailwind v3, tokens shadcn em globals.css (--background, --foreground, --primary, --muted, --card, --accent), outras propriedades personalizadas :root. Converta HSL/OKLCH/RGB para hex de 6 dígitos. Use o tema que o site de marketing usa (escuro ou claro), não ambos misturados.
  3. Fontes do repositório. Imports next/font/google ou next/font/local, dependências @fontsource*, @font-face, font-family em body/html/h1, fontFamily do Tailwind. Registre os nomes das famílias e pesos realmente usados.
  4. Logotipo do repositório. Procure por SVG primeiro: public/logo*.svg, public/*mark*.svg, app/icon.svg, public/favicon.svg, src/assets/*logo*, src/components/*Logo* (JSX SVG inline: extraia o <svg>), depois PNG ≥ 512 px (apple-touch-icon.png tem 180 px: último recurso para uma marca, nunca para um wordmark). Copie para public/films/<slug>/brand/ sem modificações.
  5. Raio e tema. --radius ou borderRadius do Tailwind; tema = escuro se a luminância relativa do bg < 0.2.
  6. Preencha lacunas da URL ativa (references/sources.md § URL ativa): meta theme-color, og:image, link rel=icon, SVG de cabeçalho inline, estilos computados de body, botão primário, h1.
  7. Preencha lacunas de capturas de tela: amostre pixels em pontos nomeados (fundo da página, texto do corpo, botão primário, cartão). Escreva as coordenadas dos pixels em BRAND-SOURCES.md.
  8. Nome, tagline, URL: de package.json name/description, o <title> do site, h1 do hero, og:description, primeira linha do README. Use as próprias palavras do usuário; nunca escreva uma nova tagline aqui (a história cuida do texto).
  9. Mapeie fontes que você não pode enviar ou carregar para uma fonte OFL enviada por função (brand-json.md § fontes) e informe isso.
  10. Verificação de contraste (brand-json.md § contraste): fg sobre bg ≥ 4.5:1 obrigatório (alvo 7:1), accent sobre bg ≥ 3:1. Escreva os números. Falha de accent → mantenha para formas, escolha fg para texto sobre ele.
  11. Escreva brand.json, depois valide se schemas/brand.schema.json existe: npx -y -p ajv-cli@5 -p ajv-formats ajv validate --spec=draft2020 -c ajv-formats -s schemas/brand.schema.json -d films/<slug>/brand.json
  12. Escreva BRAND-SOURCES.md: uma linha por valor → fonte (arquivo:linha, URL + seletor, ou captura de tela + x,y).
  13. Mostre ao usuário um resumo de 6 linhas (nome, tema, 6 amostras como hex, fontes, arquivo de logotipo, qualquer coisa mapeada ou perguntada).

Paradas rígidas (não continue o pipeline)

SituaçãoFaçaNunca
Nenhum arquivo de logotipo no repositório, site ou capturas de telaPergunte: "Envie o logotipo como SVG (melhor) ou um PNG ≥ 512 px com transparência."desenhe, trace, gere ou aproxime um logotipo
Logotipo apenas como um favicon pequenoPeça um arquivo maioraumente a resolução de um favicon de 32 px para uma marca hero
Nenhuma cor capturada (sem acesso ao repositório, site bloqueado, sem capturas de tela)Peça a URL ou 2-3 capturas de tela, ou os códigos hexescolha cores "legais" ou uma paleta padrão
Paletas conflitantes (aplicativo vs marketing)Pergunte qual o filme deve usar; padrão para o site de marketingmisture-as
Usuário quer um wordmark de texto porque não existe logotipoPermitido apenas com "sim" explícito: nome do produto na fonte de exibição, cor fgapresente como logotipo deles

Regras

  • Copie arquivos de logotipo byte por byte. Não recolorir, cortar ou "limpar" um logotipo a menos que o usuário peça.
  • Nunca use o logotipo de outra empresa ou os logotipos dos clientes do usuário sem que o usuário confirme que tem o direito.
  • Nunca baixe fontes de fontes cuja licença proíba a redistribuição em um repositório (faces FFL do Fontshare, como Satoshi ou General Sans, Apple SF Pro): mapeie-as (brand-json.md § fontes).
  • brand.json não contém segredos nem dados pessoais além do nome público do produto e URL.
  • Reexecutar a captura substitui apenas campos cuja fonte mudou; mantenha campos que o usuário editou manualmente (dif primeiro).
  • Skills downstream leem apenas brand.json; nunca codifique valores hex da marca em cenas [craft/06#grade-discipline].

Individual skills in this repo

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

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

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