Communitygithub.com

octaviosilva2/claude-video-motion

Produz vídeo determinístico com HyperFrames — composição HTML/CSS capturada em Chrome/FFmpeg, com formato, fps, duração e resolução declarados e render autorizado.

O que é claude-video-motion?

Esta skill, `octaviosilva2/claude-video-motion`, é especializada na produção de mídia renderizada determinística utilizando o framework HyperFrames. Ela é ativada exclusivamente quando a entrega final é um arquivo de mídia (MP4, WebM, MOV, PNG), nunca para vídeos embutidos em sites ou UIs animadas interativas. A skill exige que o usuário declare explicitamente formato, resolução, fps e duração antes de qualquer composição, proibindo defaults arbitrários. O processo depende de Node.js, Chrome e FFmpeg instalados, e cada execução de render deve ser autorizada individualmente pelo usuário devido ao custo computacional envolvido. A saída é projetada para ser reproduzível byte a byte, exigindo fixação de versões de HyperFrames, Chrome, FFmpeg, assets e parâmetros de codec. A skill também gerencia a inclusão de música, efeitos sonoros e narração (esta última fornecida externamente pelo usuário), sempre com licenciamento adequado. A validação da entrega é feita no arquivo final renderizado, não em previews, garantindo fidelidade de codec, cor e timing.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/octaviosilva2/claude-video-motion/tree/HEAD/skill/frontend-video

Perguntar na sua IA favorita

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

Documentação

O gate — antes de qualquer composição

Gatilho literal: a entrega É um arquivo de mídia renderizado. MP4, WebM, MOV, PNG. Formato da entrega, nunca aparência.

Não ativa esta skill:

  • Vídeo usado dentro de um site — hero, background, depoimento. É um asset web comum.
  • Peça de UI animada que "parece vídeo" mas é interativa — continua sendo front-end web.

A distinção é de formato da entrega. Se o resultado abre no navegador e responde a clique, não é esta skill.

Formato, resolução, fps e duração não têm default

Nenhum dos quatro. Escolher "1080p 30fps porque é comum" é exatamente o que o gate existe para impedir. Os quatro sobem ao usuário antes de a composição começar (use AskUserQuestion), com a recomendação para o destino da peça (por exemplo, vertical 1080×1920 para Reels/TikTok/Shorts).

Custo operacional — confirme antes de comprometer

HyperFrames não é um import: é um processo de produção. Depende de Node, Chrome e FFmpeg instalados, e a captura é pesada.

Confirme que a infraestrutura existe antes de prometer a rota. Descobrir na hora do render que falta FFmpeg é descobrir depois de a composição inteira estar escrita.

Instalar qualquer dependência (Node, FFmpeg, Chrome, o pacote hyperframes) é decisão do usuário. Nomeie o que falta e o comando, e espere o OK.

Render nunca é automático

Nenhuma execução de render acontece sem autorização explícita do usuário. Render consome tempo de máquina e, quando há geração de mídia envolvida, dinheiro real.

Quando faltar um asset e a alternativa for gerar: nomeie o que falta e o que geraria — e pare ali.

Como usar

frontend-video/
├── SKILL.md                ← este arquivo. O ÚNICO sempre lido
└── referencias/
    ├── hyperframes.md      o gate, formato/fps/duração, tempo determinístico,
    │                       adapters, captions, autorização de render
    ├── direcao-visual.md   tokens com razão escrita, anti-genérico, referência decomposta
    ├── assets.md           origem, licença, otimização — aqui o asset É a entrega
    └── validacao.md        os gates aplicáveis à mídia
Sua tarefaAbra
decidir formato, resolução, fps, duraçãohyperframes.md §3
conteúdo, fontes, captions, direitoshyperframes.md §4
tempo determinístico, saída reproduzível, adapters de cenahyperframes.md §5
acessibilidade e performance da peçahyperframes.md §6
autorizar o renderhyperframes.md §7
direção estética da composiçãodirecao-visual.md
licença de imagem, fonte, música, efeito, narraçãoassets.md
fechar a entregavalidacao.md

Sempre ignorar: SEO, DOM indexável, jornada de navegação e estados de aplicação — mídia determinística não tem nenhum dos quatro. Runtime web como entrega final também não se aplica: aqui o navegador é ferramenta de captura, não o destino.

Música, efeitos e narração

  • Música e efeitos sonoros: só baixe com o OK do usuário, arquivo por arquivo. A licença precisa permitir o uso pretendido (comercial, se for o caso). Registre origem, autor e licença de cada faixa. Detalhes em assets.md.
  • Narração: a skill não gera voz. Escreva o texto da narração, em blocos curtos, e peça ao usuário que gere no serviço de voz dele (por exemplo ElevenLabs) e envie o arquivo. Gerar voz custa dinheiro: nomeie o bloco e pare ali.

Reprodutibilidade — o que "determinístico" realmente exige

O engine torna a composição buscável por tempo. Isso sozinho não garante saída idêntica.

Prometer arquivo byte a byte reproduzível exige fixar todos estes: HyperFrames, Chrome, FFmpeg, fontes, assets, codec e flags, resolução, fps, duração e ambiente. Mesmo commit sem esse lock não autoriza a promessa.

Fonte auditada: repositório heygen-com/hyperframes, commit af1cb1c10da33bade100db8233435c7591b7c0bc, pacotes principais 0.8.17 nesse commit, licença Apache-2.0 na raiz e no CLI. Verificado em 2026-08-28. O exemplo-p01/ deste repositório foi renderizado com a 0.8.166, com a versão fixada no package.json. Trave a versão no seu projeto e reaudite se a composição depender de capacidade não coberta pelas fichas.

O que vale sempre

  1. Conteúdo real, nunca inventado — sem placeholder que pareça final.
  2. Captions e contraste fazem parte da entrega, não são extra.
  3. Validação no output real, nunca no preview. O que o preview mostra e o que o arquivo final contém divergem — codec, cor e timing entre eles.
  4. Código de cena autoral continua responsável pelo próprio disposal. Cena Three/WebGL dentro da composição precisa de teardown como em qualquer outro lugar.

Habilidades Relacionadas