Communitygithub.com

motion-proof

Cria vídeos de lançamento e motion graphics de produto (15 a 60 s) com código em Remotion, aplicando regras de motion designer e controles automáticos (quadros travados, telas pretas, volume, qualidade para web) para que o resultado não pareça feito por IA. Use quando solicitarem um vídeo de lançamento, animação de produto ou interface, motion graphics, ou revisão de um vídeo já renderizado.

O que é motion-proof?

O motion-proof é um skill profissional para criação de vídeos animados utilizando código (Remotion com React), focado em eliminar as características que denunciam conteúdo gerado por IA e entregar resultados com acabamento profissional. Ele fornece um processo completo e padronizado, desde o brief e roteiro visual até a renderização, edição de som, medição de qualidade e revisão quadro a quadro. O skill inclui scripts automatizados para verificar quadros travados, telas pretas, volume em -14 LUFS e conformidade com especificações de cor (bt709) e codec (H.264 yuv420p). Suporta qualquer projeto Remotion e é executado via linha de comando com Node.js e FFmpeg. É especialmente útil para desenvolvedores e designers que precisam criar vídeos de produto, animações de interface e motion graphics com eficiência e qualidade profissional, garantindo movimento natural, ritmo adequado e revisão sistemática sem depender de interfaces gráficas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/germangalo97/motion-proof/tree/HEAD

Perguntar na sua IA favorita

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

Documentação

Motion Proof

Você vai fazer vídeos animados com código: cada quadro sai de um programa (Remotion, que usa React). O que separa um vídeo com "cara de IA" de um profissional está quase sempre em dois lugares: o movimento (curvas, ritmo, pausas que respiram) e a revisão (olhar quadro a quadro e medir). Este skill te dá as duas coisas.

Antes de começar

  1. Verifique as ferramentas: node --version (20 ou mais) e ffmpeg -version. Para a versão web é necessário um ffmpeg com libvmaf (ffmpeg -filters precisa listar libvmaf).
  2. Se não houver projeto Remotion, crie com npx create-video --yes --blank meu-video e adicione as skills oficiais com npx remotion skills add. Use essas skills para dúvidas sobre a API do Remotion.
  3. Em remotion.config.ts adicione Config.setColorSpace("bt709");. Sem isso o vídeo sai em range completo (yuvj420p) e alguns players alteram as cores.
  4. Copie plantilla/movimento.ts para o projeto (por exemplo para src/lib/movimento.ts) e veja plantilla/Exemplo.tsx para o padrão: entradas escalonadas com mola, deriva, empurrão de câmera, clique e desfoque de movimento.
  5. Os programas de scripts/ executam com node <pasta do skill>/scripts/<programa>.mjs. Não instalam nada.

O processo

  1. Brief. O que é o produto, para quem, o que o espectador deve fazer no final, formatos (16:9, 9:16, 1:1) e duração. Se faltar algo importante, pergunte antes de seguir.
  2. Roteiro visual com referencias/roteiro-visual.md: cenas com quadro de início e de fim exatos que somem na duração total. Não anime até o usuário aprovar.
  3. Um único arquivo de configuração com textos, números, cores e tempos. Uma alteração de texto precisa ser uma linha, e os tempos são lidos pela imagem e pelo som a partir do mesmo lugar.
  4. Animar seguindo referencias/movimento.md. Leia primeiro a lista "O que denuncia a IA".
  5. Quadros de teste (npx remotion still ou renderStill) em cada mudança de cena e em cada movimento de câmera. Veja-os antes do render completo. Aproximar a câmera em direção a um ponto empurra para fora o que está longe desse ponto: toda edição de câmera é revisada em quadros.
  6. Render em H.264 (yuv420p, bt709) a 60 quadros por segundo. Vertical e quadrado são reenquadrados com outra encenação, não recortados do horizontal.
  7. Som com referencias/som.md: unir.mjs para adicionar a música e volume.mjs para deixá-la em −14 LUFS.
  8. Medir com medir.mjs. Se falhar, corrija o vídeo. O medidor só é alterado se a falha for falsa e uma medição provar; nesse caso, informe na entrega.
  9. Revisão visual com quadros.mjs (folha de quadros) e a lista de referencias/revisao.md.
  10. Versão web com web.mjs, se for necessário um arquivo leve.
  11. Entregar os mp4, a medição e o que não pôde ser verificado (por exemplo, se ninguém ouviu o som).

Regras fixas

  • Cada quadro sai apenas do número do quadro, que pode ter decimais por causa do desfoque de movimento. Nada de useState, setTimeout, transições de CSS nem Math.random() sem semente fixa.
  • A tipografia é carregada antes do primeiro quadro. Um quadro em Times New Roman é uma falha.
  • Nada se move em linha reta nem a velocidade constante, e nada fica completamente parado.
  • Um texto importante fica no mínimo 1,5 s na tela. Um contador sobe em aproximadamente 1 s.
  • Nada sai do quadro, a menos que esteja saindo de propósito.
  • O que não foi verificado é dito com essas palavras.

Comandos

node scripts/medir.mjs video.mp4 --largura 1920 --altura 1080 --fps 60 --duracao 30 --relatorio medicao.json
node scripts/quadros.mjs video.mp4 folha.png --quantidade 12
node scripts/quadros.mjs video.mp4 mudancas.png --segundos 4.5,9,15.2,22
node scripts/unir.mjs video-mudo.mp4 musica.wav com-som.mp4
node scripts/volume.mjs com-som.mp4 final.mp4
node scripts/web.mjs final.mp4 web.mp4 --poster poster.jpg --segundo 28

medir.mjs retorna código 0 se cumprir e 1 se não, e lista cada falha em texto. quadros.mjs gera uma imagem que você pode abrir para revisar vários momentos do vídeo de uma vez. Adicione --mudo a medir.mjs para um vídeo sem som.

Habilidades Relacionadas