Communitygithub.com

Sma1lboy/rove

Leia isto primeiro para qualquer solicitação de criação, edição, animação ou renderização de vídeo, animação ou gráfico em movimento — seja um comercial, explicativo, clipe legendado, cartela de título, overlay ou qualquer composição. O HyperFrames renderiza vídeo a partir de HTML; esta é a habilidade de entrada e a maneira padrão de um agente criar ou editar vídeos.

O que é rove?

Esta habilidade, chamada HyperFrames — comece aqui, é o ponto de entrada obrigatório para qualquer agente de IA (como Claude Code, Cursor ou Codex) que precise criar, editar, animar ou renderizar vídeos, animações ou motion graphics. O HyperFrames funciona convertendo composições definidas em HTML — usando atributos `data-*` para controle de tempo — em vídeos renderizados. Ela atua como um roteador de intenções: com base na descrição do usuário, a habilidade identifica qual fluxo de trabalho especializado é mais adequado, como `/faceless-explainer` para explicar conceitos, `/pr-to-video` para mudanças de código no GitHub, `/embedded-captions` para legendas em vídeos com pessoas falando, ou `/slideshow` para apresentações interativas. A habilidade também fornece um mapa de capacidades completo, um guia de tópicos técnicos (incluindo o contrato de composição, o ciclo de desenvolvimento com CLI e o registro de blocos/componentes) e regras claras de desambiguação para evitar fluxos de trabalho incorretos. É fundamental ler esta habilidade antes de qualquer outra relacionada a vídeo ou animação, garantindo que o agente sempre delegue ao fluxo correto sem precisar adivinhar.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Sma1lboy/rove/tree/HEAD/.claude/skills/hyperframes

Perguntar na sua IA favorita

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

Documentação

HyperFrames — comece aqui

O HyperFrames renderiza vídeo a partir de HTML — uma composição é um arquivo HTML cujo DOM declara o tempo com atributos data-*, cujo runtime de animação é buscável e cuja reprodução de mídia é controlada pelo framework.

Esta habilidade é o guia técnico de como usar — é intencionalmente não focada em design. Para receitas de movimento/animação, veja /hyperframes-motion. Para direção de design (paletas, tipografia, predefinições de quadro), veja /hyperframes-design. Abaixo: um mapa de capacidades de cada tópico do HyperFrames, um índice do guia de tópicos do que está nesta habilidade e um roteador de intenções para escolher um fluxo de trabalho.

Mapa de capacidades — as habilidades do HyperFrames

Três habilidades, uma por preocupação. Esta é o guia técnico de como usar. As outras duas cobrem design.

Você quer…Habilidade
Como usar o HyperFrames — contrato de composição, ciclo de desenvolvimento CLI, instalação de blocos/componentes do registro (esta habilidade)/hyperframes
Movimento/Animação — regras atômicas de movimento, blueprints de cena, transições, adaptadores de runtime (GSAP / Lottie / Three.js)/hyperframes-motion
Design — paletas, tipografia, predefinições de quadro, planejamento de batida, decisões de marca/estilo (sem receitas de animação)/hyperframes-design

Guia de tópicos — o que está dentro desta habilidade

O guia técnico de como usar está dividido em três sub-tópicos. Cada um tem seu próprio SKILL.md e pasta references/:

Sub-tópicoCaminhoLeia para
Núcleo da composiçãocore/SKILL.mdO contrato de composição — atributos data-*, clipes, faixas, sub-composições, variáveis, regras de determinismo
Ciclo de desenvolvimento CLIcli/SKILL.mdnpx hyperframes init / lint / validate / inspect / preview / render + renderização em nuvem AWS Lambda
Adicionar via registroregistry/SKILL.mdhyperframes add <bloco-ou-componente> — locais de instalação, conexão de blocos, conexão de componentes, contribuição de novos itens

Os detalhes por tópico estão na pasta references/ de cada sub-tópico. Para especificidades do runtime de animação (API GSAP, Lottie, Three.js, etc.) veja /hyperframes-motion → adaptadores/<runtime>.md.


Roteamento de intenções — escolha um fluxo de trabalho

Esta seção conhece apenas os fluxos de trabalho de alto nível; ela não carrega suas referências internas nem os guias de tópicos acima.

Antes de rotear — confirme a entrada, não a especificação

O roteamento precisa saber sobre o que é o vídeo — sua entrada e assunto. Se isso não estiver especificado ("faça um vídeo sobre nossa coisa" sem URL, produto, tópico ou ativo), pergunte antes de entrar em qualquer fluxo de trabalho — comprometer-se com um fluxo de trabalho É a decisão de roteamento. No máximo duas perguntas:

  • Entrada — um produto (URL / briefing), um site genérico, um PR do GitHub, um tópico a explicar ou um vídeo existente de pessoa falando?

Padrões de especificação — informe, não pergunte (eles nunca mudam a rota): proporção 16:9 (use 9:16 apenas para um destino vertical nomeado — TikTok / Reels / Shorts); idioma das legendas = o do usuário. O fluxo de trabalho escolhido reconfirma suas próprias especificidades em sua primeira etapa.

Folha de referência de fluxos de trabalho

Fluxo de trabalhoUse para
/faceless-explainerExplicar um tópico/conceito a partir de texto — sem produto, sem URL; cada visual é inventado pelo LLM
/pr-to-videoUm PR do GitHub / mudança de código → changelog / revelação de funcionalidade / correção / refatoração explicativa
/embedded-captionsAdicionar legendas/subtítulos a um vídeo existente de pessoa falando (filmagem inalterada)
/talking-head-recutEmpacotar um vídeo existente de pessoa falando com overlays gráficos projetados — terço inferior, chamadas de dados, títulos cinéticos, citações em destaque
/motion-graphicsUm gráfico em movimento curto e focado em design — tipo cinético, uma estatística/gráfico impactante, uma vinheta de logotipo, um overlay de terço inferior
/slideshowUma apresentação / pitch deck / deck interativo — slides discretos, fragmentos, ramificações, hotspots; a saída é um deck navegável, não um vídeo renderizado
/general-videoQualquer outra coisa — peças mais longas ou com várias cenas, um loop estático/pôster, uma composição personalizada

Desambiguação (apenas onde há confusão):

  • Foco em movimento (menos de ~10s, o movimento é a mensagem) → /motion-graphics, independentemente da entrada.
  • Uma URL ou script — um link de PR do GitHub → /pr-to-video; explica um conceito sem produto/site → /faceless-explainer. Entrada genuinamente ambígua → faça uma pergunta.
  • Filmagem existente — legendas simples de fala → /embedded-captions; cartões de overlay projetados → /talking-head-recut. Nenhum deles edita a filmagem em si (re-timing / recolor / reframe / reorder é edição NLE — fora do escopo).
  • Uma apresentação / pitch deck / deck interativo (slides discretos, navegação, modo apresentador) → /slideshow — a saída é um deck navegável, não um vídeo renderizado. Uma solicitação explícita de "slideshow" prossegue diretamente; um gatilho adjacente ("deck / slides / apresentação / converter esta página") faz o /slideshow confirmar que é um slideshow antes de criar e mudar para o fluxo de trabalho não-slideshow apropriado se não for.
  • O comprimento é um guia, não uma barreira — a intenção escolhe o fluxo de trabalho; vá para /general-video apenas quando a peça for claramente mais longa que ~3 min, ou for um formato estático/loop/personalizado.

Se o fluxo de trabalho correspondente não estiver instalado

Depois de escolher um fluxo de trabalho, verifique se ele está realmente disponível para você. Se a habilidade do fluxo de trabalho correspondente não estiver instalada, não recorra a palpites — diga ao usuário para instalá-la primeiro:

  • Apenas este fluxo de trabalho: npx skills add heygen-com/hyperframes --skill <nome-do-fluxo> (ex.: --skill pr-to-video — nome simples, sem / inicial).
  • Todos os fluxos de trabalho de uma vez: npx skills add heygen-com/hyperframes --all (núcleo + todos os fluxos de trabalho, pula o seletor).

Após executar, releia a habilidade do fluxo de trabalho e continue.

Detalhes dos fluxos de trabalho

/faceless-explainer

  • Entrada: Texto arbitrário — um tópico, artigo ou anotações — sendo explicado, sem produto sendo comercializado e sem site para capturar.
  • Saída: explicador sem rosto → MP4, cada visual inventado pelo LLM por cena (tipografia / abstrato / diagrama / visualização de dados); utiliza a predefinição pin-and-paper. (ponto ideal 30–90s).
  • Gatilhos: "explicador sem rosto sobre X", "explique como o DNS funciona em um vídeo", "transforme este artigo em um explicador", "explicador a partir de minhas anotações".

/pr-to-video

  • Entrada: Um pull request do GitHub — uma URL de PR, uma referência owner/repo#N ou "este PR" — lido via CLI gh (não um site para raspar).
  • Saída: explicador de mudança de código (changelog / revelação de funcionalidade / correção / refatoração) → MP4 — destaques de diff, antes/depois, árvore de arquivos + cenas de impacto. ≤ (ponto ideal 30–90s).
  • Gatilhos: "faça um vídeo sobre este PR", "transforme o PR #1187 em um vídeo de changelog", "vídeo de notas de versão a partir de github.com/org/repo/pull/123".

/embedded-captions

  • Entrada: Um vídeo existente de pessoa falando (MP4) para legendar — filmagem real, não uma URL ou briefing. Transcrito localmente (Whisper, sem chave de API) e mascarado (RVM) para que o sujeito possa ocultar legendas.
  • Saída: a mesma filmagem inalterada, com uma camada de legenda — Padrão (faixa literal no terço inferior + um clímax incorporado atrás do sujeito) ou Cinematográfica (cada legenda composta atrás do sujeito). Qualquer duração.
  • Gatilhos: "adicione legendas / subtítulos a este vídeo", "legendas atrás do sujeito", "legendas cinematográficas para meu clipe".

/talking-head-recut

  • Entrada: Um vídeo existente de pessoa falando / entrevista / podcast (MP4) para empacotar com gráficos na tela — filmagem real. Transcrito localmente (Whisper). O clipe é reproduzido por completo abaixo, inalterado.
  • Saída: a mesma filmagem com cartões de overlay gráfico temporizados — títulos cinéticos, terços inferiores, chamadas de dados, citações em destaque, painéis laterais, picture-in-picture — sincronizados com a transcrição. Qualquer duração.
  • Gatilhos: "empacote este vídeo", "adicione overlays gráficos / terços inferiores / chamadas de dados à minha palestra", "transforme esta entrevista em uma edição com pacote gráfico".

/motion-graphics

  • Entrada: Um gráfico em movimento curto e focado em design onde o movimento é a mensagem — tipicamente abaixo de ~10s. Gêneros: tipografia cinética, uma contagem de estatística/número, um gráfico impactante, uma vinheta de logotipo, um overlay de terço inferior ou uma página/tweet/manchete orientada por busca.
  • Saída: um gráfico em movimento curto → MP4 ou um overlay transparente (alpha WebM / MOV) para um terço inferior / chamada.
  • Gatilhos: "uma vinheta de logotipo de 8s", "anime esta estatística", "uma introdução de tipo cinético", "transforme este tweet em um gráfico em movimento", "um overlay de terço inferior transparente".

/slideshow

  • Entrada: Uma apresentação / pitch deck / deck interativo para criar — um briefing, um esboço ou uma página existente para converter em slides. Não é uma solicitação de vídeo renderizado; se a intenção for ambígua, a habilidade confirma "você quer isso como um slideshow do HyperFrames?" antes de criar.
  • Saída: uma composição executável do HyperFrames + uma ilha JSON que o SlideshowController do player lê para transformar a linha do tempo GSAP em um deck navegável — slides discretos, revelações de fragmentos, sequências de ramificação, navegação por hotspots, modo apresentador e notas do orador. A entrega é um deck, não um MP4.
  • Gatilhos: "faça um pitch deck / apresentação / deck de slides", "um deck interativo", "converta esta página em slides", "um slideshow com modo apresentador".

/general-video

  • Entrada: Qualquer coisa não listada acima — um briefing criativo, um único elemento para animar, uma edição em uma composição que você está construindo. Agóstico em relação à entrada e duração.
  • Saída: uma composição HyperFrames (qualquer duração/formato) através do fluxo original: sistema de design → expansão de prompt → plano → layout-antes-da-animação → construir (delegando às habilidades hyperframes-*) → validar.
  • Gatilhos: "faça uma cartela de título", "anime isto", "um vídeo institucional / sizzle reel mais longo", "uma composição com várias cenas", "um loop estático/pôster", qualquer "faça um vídeo" que não se encaixe em nenhuma linha acima.

Individual skills in this repo

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

Sma1lboy/rove

The fallback workflow for authoring custom HyperFrames video compositions at any length or format — longer or multi-scene pieces, brand / sizzle reels, montages, title cards, static loops, and freeform compositions. Input- and length-agnostic. If a specialized workflow clearly fits the input — a marketed product, a website, a topic explainer, a GitHub PR, existing footage, a short motion graphic, or a Remotion port — prefer it (see /hyperframes); use this only as the general fallback when none fit.\n

Sma1lboy/rove

HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).

Sma1lboy/rove

The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=\"clip\"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Sma1lboy/rove

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, beat planning, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-motion`.

Sma1lboy/rove

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.

Sma1lboy/rove

Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, registry discovery, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).

Sma1lboy/rove

Best practices for Remotion - Video creation in React

Habilidades Relacionadas