Communitygithub.com

motionproof

Direcione, construa e verifique filmes de motion-graphics (reels, curtas, vídeos de lançamento, promos de produto, aberturas de marca, tipografia cinética, anúncios animados) para que pareçam projetados por uma pessoa e passem por verificações mensuráveis. Encontra uma ideia que a marca possui, recusa repetir combinações de filmes anteriores, constrói em HTML puro, HyperFrames ou Remotion e comprova a renderização com scripts – legibilidade, contraste, zonas seguras da plataforma, tempo de leitura, silêncio, finalização, flashes, volume – em vez de descrever como bom. Use para qualquer solicitação de criar, planejar, storyboardar, corrigir, revisar ou criticar uma peça de motion ou vídeo social, em qualquer proporção.

O que é motionproof?

O motionproof é uma skill especializada para agentes de IA que atuam como diretores, designers e revisores de filmes de motion graphics. Seu objetivo principal é garantir que cada filme comunique uma única ideia clara e pertencente à marca, evitando repetições de conceitos, trilhas ou encerramentos de produções anteriores. A skill segue cinco regras fundamentais: o filme deve ter uma ideia que a marca 'possui' (teste de cobrir o logo), cada batida deve fazer o espectador acreditar em algo, o filme nunca pode ser igual ao anterior, tudo deve ser medido por scripts antes de julgado e o texto deve ser legível em um celular. O fluxo de trabalho é altamente automatizado, com scripts Node.js e Python que verificam desde a saúde do ambiente (doctor.mjs) até a renderização final, passando por storyboard obrigatório (STORYBOARD.md), construção da batida mais difícil primeiro e verificações rigorosas de legibilidade, contraste, zonas seguras, tempo de leitura, flashes estroboscópicos e som. A skill suporta três adaptadores de renderização: HTML puro, HyperFrames e Remotion, e é compatível com Claude Code, Cursor, Codex ou qualquer agente que possa executar comandos no terminal. É uma ferramenta ideal para agências, produtoras e criadores individuais que precisam de um processo repetível e verificável para motion design e vídeos para redes sociais.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/producoestiagopaulino-source/motionproof/tree/HEAD

Perguntar na sua IA favorita

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

Documentação

O que motionproof faz?

Você é o diretor, o designer e a pessoa que verifica o trabalho. Você decide o que o filme faz o espectador acreditar, você o constrói, e então você o mede como um estranho faria. Um número de um script é mais importante do que sua impressão da renderização. SKILL abaixo significa a pasta que contém este arquivo.

Comandos foram escritos para qualquer shell. No Windows use python (ou py -3) onde estiver python; caminhos com espaços vão entre aspas. O PowerShell não tem &&: execute um comando por linha.

As cinco regras

  1. Uma ideia que a marca possui. Cubra o logotipo: se um concorrente pudesse veicular o mesmo filme, comece de novo. A ideia vem do próprio material da marca (seu produto, seu gesto, seu trabalho, seu lugar), nunca da primeira associação de seu nome.
  2. Cada batida compra uma crença. Escreva "após esta batida o espectador acredita em ___" para cada batida. Se você não conseguir preencher o espaço em branco, corte a batida. Mostre a coisa acontecendo, depois diga-a, nunca apenas diga-a.
  3. Nunca o mesmo filme duas vezes. Antes de fazer o storyboard, execute o ledger. Uma faixa, conceito ou final repetidos, ou metade dos eixos de um filme recente, são rejeitados.
  4. Medido, depois julgado. Execute os scripts; cite seus números em NOTE.md. Qualquer coisa que um script possa medir é um portão. O que ele não pode medir, você olha e diz que olhou.
  5. Legível em um celular. Texto grande o suficiente, contrastado o suficiente, dentro da área segura da plataforma, na tela por tempo suficiente para ser lido. Vertical é o padrão para redes sociais, não um pensamento posterior.

Fluxo de trabalho

0. Máquina (10 s)

node "SKILL/scripts/doctor.mjs"

Para se faltar ffmpeg, Node < 22 ou menos de 20 GB livres. Um navegador (Chrome ou Edge) é necessário apenas para filmes HTML.

1. Brief

Escreva em quatro linhas: quem assiste, onde (plataforma e proporção), o que devem fazer depois, o que devem sentir. Em seguida, a única coisa verdadeira para a qual o filme existe: uma funcionalidade real, um resultado real, um momento real. Declare suposições em vez de parar para fazer perguntas de rotina; pergunte apenas quando o brief for genuinamente ambíguo (qual marca, qual plataforma, qual oferta).

2. Três ideias, depois uma

Escreva três ideias de tipos diferentes (veja references/direction.md: documentário de uma tarefa, um único plano fixo, uma contagem regressiva, um diagrama que se constrói, a jornada de um objeto, um corte de antes/depois, e mais). Execute o teste de cobrir o logotipo em cada uma. Escolha uma e escreva por que em uma linha.

3. Ledger

python "SKILL/scripts/ledger.py" suggest --brand "<marca>"
python "SKILL/scripts/ledger.py" check --brand "<marca>" --concept <x> --opening <x> --transition <x> --camera <x> --type <x> --palette <x> --texture <x> --track <x> --exit <x>

Código de saída 1 significa que a combinação repete um filme recente ou rejeitado: altere os eixos que ele nomeia. O ledger reside no projeto (motion-ledger.jsonl, ou $MOTIONPROOF_LEDGER). Se o projeto já mantiver sua própria biblioteca de filmes passados, leia-a também.

4. Storyboard (STORYBOARD.md)

Formato e predefinição de zona segura (references/formats.md), o chão/luz/textura de cada ato, o momento herói (o quadro que vale uma captura de tela), e a tabela de batidas: tempo em quadros, função (gancho, virada, prova, encerramento), o que o espectador acredita depois, o que se move, curva de entrada e saída (references/motion-catalog.md), como faz a transição para a próxima batida, e o texto na tela com seu tempo mínimo de leitura (0,5 s + caracteres / 17). Se o texto de uma batida não couber em seu tempo, corte palavras, não tempo.

5. Construa a batida mais difícil primeiro

Escolha o adaptador (references/adapters.md):

  • HTML puro: copie templates/film.html e templates/kit.js para a pasta do filme.
  • HyperFrames: mantenha sua composição; os scripts controlam window.__timelines.
  • Remotion: copie adapters/remotion/ para src/; use ease(), dur(), safeBox(), readingFrames(), <SafeGuide/>.

Construa o momento herói e sua transição mais difícil, renderize stills e olhe para eles antes de construir o resto:

node "SKILL/scripts/render.mjs" film/index.html --still 0.5,2.2,4.0 --out film/stills      (HTML / HyperFrames)
npx remotion still <Comp> film/stills/f60.png --frame=60                                  (Remotion)

6. Renderização de rascunho e verificações

node "SKILL/scripts/render.mjs" film/index.html film/draft.mp4 --scale 0.5
node "SKILL/scripts/probe.mjs" film/index.html --zones reels
python "SKILL/scripts/review.py" film/draft.mp4 --zones reels --expect <segundos> --exit-required

probe.mjs lê o DOM ao vivo (HTML e HyperFrames): tamanho L1, contraste L2, zona segura L3, texto cortado L4, tempo de leitura L5; também avisa sobre a aparência de apresentação de slides (W3 chamada sobre título, W4 layout de slide, W5 título digitado, W6 barra de progresso, W7 cartão de UI genérico). Adicione --strict-style quando o brief pedir cinema, não interface; um padrão que é a ideia recebe data-allow-<nome> ou data-ui e uma linha em NOTE.md (tabela em references/review.md). review.py lê os pixels de qualquer MP4 (também Remotion e arquivos editados): R1 renderização, R2 silêncio, R3 finalização, R4 flashes, R5 pixels de zona segura, R6 som. Abra sheet.jpg da pasta de revisão: as faixas vermelhas são as margens da plataforma. Descreva cada quadro da folha em uma frase (o que está na tela, para onde o olho vai) antes de julgar qualquer coisa.

Corrija nesta ordem: falso ou quebrado; a ideia; as transições entre batidas; hierarquia e escala; timing; superfície; som. Um FALHA é corrigido, nunca discutido. Um AVISO é examinado e ou corrigido ou explicado em NOTE.md.

7. Som

Música na grade: python "SKILL/scripts/beats.py" grid --bpm <bpm> --fps 30 --duration <s> fornece quadros de batida para cortes e acentos. Se uma ferramenta de som estiver disponível no ambiente (um banco de efeitos sonoros, uma ferramenta de análise de áudio), use-a para escolher e posicionar os acentos. Silêncio antes do grande acerto; abaixe a música durante a leitura. Depois:

python "SKILL/scripts/master.py" film/final-raw.mp4 film/final.mp4 --target reels --fade 1.0

8. Verificação final, nota, ledger

python "SKILL/scripts/review.py" film/final.mp4 --zones reels --target reels --expect <s> --expect-audio --exit-required --fade-required
python "SKILL/scripts/beats.py" check --bpm <bpm> --report film/final-review/report.json
python "SKILL/scripts/ledger.py" add --brand "<marca>" --film <nome> <os mesmos eixos da etapa 3>

Escreva NOTE.md: a ideia e por quê; cada batida e o que ela compra; o que é real e o que é ilustrativo; as linhas de portão copiadas de probe.mjs e review.py; as descrições de quadro em uma frase; o que você ainda melhoraria. Nunca escreva que o filme é bom: escreva o que você verificou. Quando o espectador reagir, registre: ledger.py verdict --film <nome> --verdict approved|rejected --note "<palavras deles>". Uma combinação rejeitada fica bloqueada para todos os filmes futuros.

Nunca entregue

  • Um filme que ninguém olhou, ou portões reivindicados sem as linhas de script.
  • Texto sob a interface da plataforma, cortado pela borda do quadro, menor que 3,1 % do lado menor, com contraste abaixo de 4,5:1, ou que desapareça antes de poder ser lido.
  • Mais de três flashes em qualquer segundo.
  • Um quadro finalizado mantido além do limite de espera final; uma imagem congelada no meio; um final que simplesmente para (use um movimento de saída e um fade de som).
  • A mesma faixa, conceito ou final do último filme da marca.
  • Chrome de página como decoração: etiquetas de canto, contadores "01 / 04", timecodes, barras de progresso. Permitido apenas quando for a própria ideia (uma sala de controle, uma contagem regressiva): então marque com data-diegetic (ou data-ui para uma tela de produto real) e diga por quê em NOTE.md.
  • Números, depoimentos ou interfaces inventados mostrados como reais.

Arquivos

caminhoo quê
references/direction.mdbrief, tipos de ideia, batidas e o que compram, transições, notas de cópia em português
references/motion-catalog.mdcurvas, durações, retenções, pausas, como escolher
references/formats.mdproporções, zonas seguras, tamanhos de tipo por formato
references/sound.mdgrade musical, acertos, metas de volume, fades
references/review.mdcada portão, seu número, o que não pode ver
references/adapters.mdcontratos HTML, HyperFrames e Remotion
data/*.jsonzonas, metas de volume, tokens de movimento, vocabulário do ledger (edite estes, não os scripts)
scripts/doctor, render, probe, review, master, beats, ledger
templates/film.html e o runtime kit.js sem dependências
adapters/helpers do Remotion e notas do HyperFrames

Habilidades Relacionadas