Communitygithub.com

motion-graphics

Cria animações gráficas curtas, orientadas por design e sem narração, a partir de descrições dos usuários.

O que é motion-graphics?

Esta skill do HyperFrames, 'motion-graphics', permite que um agente de IA crie animações gráficas curtas e diretas, com foco em design e movimento, sem narração. Ela é ideal para gerar vídeos de até 10 segundos, como animações de texto, gráficos, logotipos e mapas. A skill segue um fluxo autônomo de ponta a ponta: planejamento, captação de assets, design, construção, verificação e renderização. O processo começa com a decisão se a animação precisa de uma busca por conteúdo externo (páginas web, notícias, tweets) ou se o conteúdo é fornecido pelo usuário. Em seguida, a skill utiliza assets reais para informar o design do shot e constrói a animação reutilizando blocos de código do catálogo do HyperFrames. A renderização final é feita em MP4 ou WebM/MOV para sobreposições transparentes, sempre perguntando ao usuário se deseja visualizar antes de renderizar. A skill é projetada para ambientes macOS Apple Silicon ou Linux x64 e requer Node.js, FFmpeg e uma chave de API Gemini/Google para geração de imagens.

Funciona com~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/heygen-com/hyperframes/tree/main/skills/motion-graphics

Perguntar na sua IA favorita

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

Documentação

Instalação do plugin: Antes de executar comandos de configuração ou atualização, siga as regras de execução do plugin quando esta skill estiver dentro de um plugin do HyperFrames. Instalações autônomas mantêm as instruções de atualização abaixo.

Primeiro, mantenha esta skill atualizada — confirme com o usuário antes de executar: npx hyperframes skills update motion-graphics. Uma operação rápida e segura quando tudo está atualizado; caso contrário, ela atualiza esta skill e as skills de domínio principal das quais ela depende, antes de você utilizá-las.

fonte figma: Se o logotipo/ativo/animação a ser construído vier de uma URL figma.com, execute /figma primeiro — exportação de assets, tokens de marca e tradução Motion→GSAP se o gráfico for uma importação Figma Motion — e depois construa a partir da sua saída. Não utilize as ferramentas MCP diretamente para controlar o Figma: isso ignora a sanitização SVG, a proveniência de .media/manifest.jsonl e a vinculação de var() do token de marca, de modo que uma alteração posterior da marca não pode ser propagada sem uma reimportação completa.

motion-graphics — ponto de entrada

A porta de entrada é /hyperframes. Esta skill cria um gráfico animado curto, orientado por design e sem narração (o movimento é a mensagem; aproximadamente menos de 10s, sem voz). Qualquer coisa mais longa, narrada ou com múltiplas cenas — ou qualquer incerteza → leia /hyperframes primeiro: a camada de intenção decide todas as rotas.

Este fluxo de trabalho é autônomo por design — no máximo uma pergunta de esclarecimento (agents/director.md), depois construa até a verificação sem revisão intermediária. A camada de intenção (/hyperframes → references/intent-interview.md) roteia diretamente aqui sem perguntas sobre a forma do vídeo; um storyboard e uma sessão de apoio acrescentam pouco a uma peça tão curta. A renderização ainda é controlada pelo usuário: depois que as verificações e as capturas de prova passarem, faça a pergunta canônica "pré-visualizar primeiro, ou renderizar?" do ../hyperframes/references/brief-contract.md. Quando um BRIEF.md existir, leia-o antes da pergunta do diretor.

Um gráfico animado curto e orientado por design. Primeiro os assets: decida a estratégia de assets e obtenha material real antes de projetar o shot, depois projete o shot em torno do que você tem, e então componha reutilizando as capacidades do catálogo. Todos os artefatos vão para PROJECT_DIR = videos/<nome-do-projeto>/ (criado no Passo 0); todos os caminhos abaixo são relativos a ele.

FaseExecuçãoArtefato primárioFluxo detalhado
initBashhyperframes.jsonPasso 0
plansubagente — decidir busca? + classificar + estratégia de assetsshot-plan.json (rascunho: categoria, consultas asset_needs, brief)agents/director.md (Parte 1)
source ◇Bash — resolver uso de mídia (pular se asset_needs estiver vazio)assets/ + assets/index.mdphases/source/guide.md
designsubagente — design do shot em torno dos assets resolvidosshot-plan.json (final: bloco(s) + layout + movimento + posições)agents/director.md (Parte 2)
buildsubagente — composição com reutilização em primeiro lugarcompositions/index.htmlagents/builder.md
verifyBash — lint, check, capturas de prova; reparo em caso de falhasnapshots/contact-sheet.jpgPasso 5
approvePerguntar por pré-visualização ou renderização; aguardar a respostaaprovação explícita da renderizaçãoPasso 6
renderBash — hyperframes render (MP4, ou --format webm/mov para sobreposição)renders/video.mp4 ou sobreposição transparentePasso 6

◇ source é executado apenas quando a categoria escolhida declara assets. Categorias puramente de código/texto (ex.: kinetic-type, a maioria dos charts/stat) têm asset_needs: [] e pulam direto do plano para o design.

Categorias — divididas pela decisão de busca

A primeira decisão do plan é: isso precisa de uma busca? Essa bifurcação divide as categorias em dois grupos; em seguida, a categoria específica é escolhida — para as orientadas por busca, pelo tipo de conteúdo que a busca retorna. Cada categoria é um categories/<id>/module.md (suas regras de planejamento + construção); o vocabulário de movimento compartilhado está em references/motion-vocabulary.md (→ regras/blueprints de hyperframes-animation + blocos do registro).

Categorias de formulário — sem busca; o usuário fornece o conteúdo:

CategoriaIntençãoBaseia-se em
kinetic-typelinha/ citação/ título impactante, texto com foco em movimentoblocos caption-* + regras de animação
statnúmero herói único / contagem regressiva + anelapple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
chartsbarras / linhas / pizza / corrida / % a partir de dadosbloco data-chart
logo-revealvinheta de logotipo / apresentação de marca (logotipo do usuário)logo-outro / rules/svg-path-draw
lower-thirdsbarras de nome/ título, chamadas, sobreposições sociaiscaption-* + blocos de sobreposição do registro
mapsmovimento geográfico — destacar regiões, conectar lugares, zoom para um local (camada vetorial ou basemap)família us-map / world-map + bake-basemap.mjs

Categorias orientadas por busca — primeiro a busca, depois anime pelo tipo de conteúdo (caminho RWA):

Conteúdo retornadoCategoriaAnimação
página web / linkwebpageanimação de página web / interface (scroll, revelar, cursor, chamadas)
artigo de notícianewsrevelar manchete + cartão de fonte + chamadas de fatos-chave
tweettweetcartão de tweet animado
imagem / entidadeasset-fusiona geometria do asset se torna o gráfico (fusão diegética RWA)

Ordem de construção: um de cada vez, priorizando cobertura (rascunho está bom). kinetic-type portado do protótipo; os demais seguem.

Pré-requisitos

macOS Apple Silicon ou Linux x64. Ferramentas do sistema: brew install node ffmpeg. Execute npx hyperframes doctor uma vez. Renderização GPU no macOS: export PRODUCER_BROWSER_GPU_MODE=hardware.

Chaves opcionais (fallbacks locais se não definidas) — necessárias apenas para categorias que obtêm/geram assets via uso de mídia:

ChaveUsado paraFallback
GEMINI_API_KEY / GOOGLE_API_KEYgeração de imagem (resolução de uso de mídia)pular geração / apenas busca
(fornecedores de busca para assets)busca de assets reais para webpage/news/tweet + asset-fusioncategoria degrada para sem assets

Fluxo

Passo 0 — Inicializar

O diretório de trabalho atual é a raiz do workspace do agente; escreva todos os artefatos sob PROJECT_DIR = videos/<nome-do-projeto>/. <nome-do-projeto>: use o diretório que o usuário forneceu, senão um nome curto em kebab-case a partir da intenção (<assunto>-motion). Não use o nome base do workspace ou um timestamp.

Apenas quando $PROJECT_DIR/hyperframes.json estiver ausente:

PROJECT_DIR="${MOTION_GRAPHICS_DIR:-videos/<nome-do-projeto>}"
mkdir -p "$(dirname "$PROJECT_DIR")"
npx hyperframes init "$PROJECT_DIR" --non-interactive --example=blank --skill=motion-graphics

O comando init verifica as skills instaladas em relação às mais recentes no GitHub e atualiza o conjunto global se alguma estiver desatualizada.

Restrições: nunca execute hyperframes init na raiz do workspace; nunca aninhe outro hyperframes/ dentro de PROJECT_DIR; todo comando Bash (mestre + subagentes) é um subshell (cd "$PROJECT_DIR" && ...) — nunca cd simples.

Passo 1 — Planejar (subagente: Diretor Parte 1)

Despache um subagente. prompt = agents/director.md completo + ## Contexto de despacho (SKILL_DIR / PROJECT_DIR / a solicitação do usuário / Schema: <SKILL_DIR>/references/shot-plan-ir.md). Ele deve:

  1. Decidir: isso precisa de uma busca? (a primeira bifurcação)
    • Não → escolha uma categoria de formulário (kinetic-type / stat / charts / logo-reveal / lower-thirds); o conteúdo é fornecido pelo usuário; asset_needs: [].
    • Sim → emita um plano de busca em asset_needs[] (notícia / web / tweet / imagem; consultas de dois polos). A categoria orientada por busca específica (webpage / news / tweet / asset-fusion) é confirmada pelo tipo de conteúdo retornado no Passo 2 e finalizada no Passo 3.
  2. Escreva um rascunho de shot-plan.json (envelope + categoria de formulário escolhida ou intenção de busca + asset_needs + um brief do shot de um parágrafo). Schema: references/shot-plan-ir.md.

Validação: [ -s "$PROJECT_DIR/shot-plan.json" ] && echo ok || echo missing.

Passo 2 — Obter fonte ◇ (Bash: uso de mídia, condicional)

Se shot-plan.json.asset_needs não estiver vazio, resolva os assets (buscar / gerar / obter → caminhos locais fixos do projeto + registro). Consulte phases/source/guide.md (contém media-use resolve; as categorias orientadas por busca usam a busca de notícias/web/tweet/imagem). Se asset_needs estiver vazio, pule para o Passo 3.

# ilustrativo — consulte phases/source/guide.md
(cd "$PROJECT_DIR" && node <SKILL_DIR>/phases/source/resolve.mjs --plan ./shot-plan.json --out ./assets)

Degrade graciosamente: se um mecanismo de busca/fornecedor estiver indisponível, a categoria cai para sem assets (anote em context.log).

Passo 3 — Projetar (subagente: Diretor Parte 2)

Despache um subagente (prompt = agents/director.md Parte 2 + contexto de despacho incluindo o assets/index.md resolvido se o Passo 2 foi executado + catalog-map.md). Ele projeta o shot em torno dos assets disponíveis: escolha o(s) bloco(s) do catálogo + as regras/blueprints de hyperframes-animation, o layout, o movimento, as batidas e (para asset-fusion) as element_positions + a paleta de conta-gotas. Finaliza shot-plan.json (content.block + content.customize + conteúdo por categoria).

Passo 4 — Construir (subagente: Construtor, reutilização em primeiro lugar)

Despache um subagente. prompt = agents/builder.md completo + contexto de despacho (shot-plan.json, catalog-map.md, o module.md da categoria, references/motion-vocabulary.md, references/builder-contract.md). Reutilização em primeiro lugar: npx hyperframes add <block> + personalize no local; escreva manualmente apenas lacunas + a funcionalidade de fusão de assets. Saída compositions/index.html respeitando o contrato HF (linha do tempo GSAP pausada em window.__timelines, class="clip" + IDs estáveis, tl.seek(0), determinístico).

Passo 5 — Verificar (Bash → subagente de reparo em caso de falha)

(cd "$PROJECT_DIR" && npx hyperframes lint .)
(cd "$PROJECT_DIR" && npx hyperframes check .)
(cd "$PROJECT_DIR" && npx hyperframes snapshot --at <tempos-de-prova>)

Escolha tempos de prova que mostrem o estado inicial, o movimento característico e a pausa final. Inspecione a folha de contato ou as capturas geradas antes de continuar. Em caso de falha em lint, check ou na captura, despache o subagente de reparo (agents/finalize.md) para uma passagem de correção no local e, em seguida, reexecute a verificação que falhou. Nunca altere uma duração fixa apenas para esconder um defeito.

Passo 6 — Aprovar e renderizar (Bash)

Faça uma pergunta: "pré-visualizar primeiro, ou renderizar?" Se o usuário escolher pré-visualizar, abra o Studio e retorne à mesma etapa de aprovação após as revisões:

(cd "$PROJECT_DIR" && npx hyperframes preview --background)

Renderize apenas após uma resposta explícita para renderizar:

(cd "$PROJECT_DIR" && npx hyperframes render . --skill=motion-graphics -q high -o ./renders/video.mp4)
# variante de sobreposição transparente: --format webm (ou mov)

Verifique se a saída existe, não está vazia e tem a duração pretendida. O informe final nomeia o artefato, a duração real, o ID da composição ou do quadro, os tempos de prova e a folha de contato ou captura inspecionada. Marcos estão em /hyperframes-cli → references/preview-render.md.

Tabela de retomada

EstadoContinuar de
sem shot-plan.jsonPasso 1 (planejar)
shot-plan.json tem asset_needs, sem assets/Passo 2 (obter fonte)
shot-plan.json final, sem compositions/index.htmlPasso 3/4 (projetar+construir)
compositions/index.html existe, capturas de prova ausentesPasso 5 (verificar)
verificações e capturas de prova passaram, sem renderização aprovadaPasso 6 (aprovação)
renderização aprovada existeverificar saída e relatar

Notas de design (mantenedores — a execução não lê isto)

  • Justificativa de assets em primeiro lugar: a obtenção é carregada no início e informa o design do shot (o fluxo RWA: analisar → buscar → revisar → confirmar → projetar → construir). As categorias de formulário, onde o conteúdo é familiar e está na cabeça do usuário, seguem o caminho mais rápido (projetar em torno do conteúdo fornecido).
  • Por que um diretor e não um storyboard: para um shot curto, o ato de abrir um quadro branco e esboçar quadros acrescenta atrito sem muito ganho. O diretor emite uma especificação de design única que é suficientemente expressiva para orientar a construção. Se houver necessidade de múltiplos shots, a camada de intenção (/hyperframes) deve ter roteado para um fluxo diferente.
  • Reparo sem revisão humana: o reparo no local é rápido e disciplinado pelo verificador. Como a saída é reproduzível (determinística), o reparo não mascara problemas não vistos — ele refaz uma verificação reprodutível.
  • Sem síntese de voz: esta skill produz apenas gráficos silenciosos. Se o usuário solicitar narração, a camada de intenção deve solicitar a skill voiceover-pip ou um fluxo de processamento posterior separado.
  • Renderização sob medida: a renderização transparent-overlay (WebM com alfa, ou ProRes 4444 QuickTime MOV) é uma variante que o fluxo de construção deve suportar quando a saída for composta posteriormente. O sinalizador --format altera o contêiner e o codec, não o conteúdo da composição.

Referências

CaminhoFinalidade
agents/director.mdPrompt do subagente para planejamento e design
agents/builder.mdPrompt do subagente para construção com reutilização
references/shot-plan-ir.mdSchema do shot-plan.json
references/motion-vocabulary.mdRegras e blueprints compartilhados de animação
references/builder-contract.mdRegras de saída para a composição
phases/source/guide.mdGuia para a fase de obtenção de assets
../hyperframes/references/brief-contract.mdBrief compartilhado e regras de aprovação
../hyperframes/references/plugin-installation.mdRegras de instalação de plugin
../hyperframes/references/intent-interview.mdCamada de intenção (roteamento)

Traduzido a partir do inglês. Para quaisquer discrepâncias, a versão em inglês prevalece.

Individual skills in this repo

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

general-video

>

heygen-com/animejs

Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.

heygen-com/claude-design-hyperframes

Use when running inside Claude Design specifically. Produces a valid, brand-accurate HyperFrames video draft using pre-valid skeletons. For Claude Code / Cursor / Codex, use the `hyperframes` skill instead.

heygen-com/contribute-catalog

Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalog — for in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.

heygen-com/css-animations

CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.

heygen-com/gsap

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

heygen-com/hyperframes

Leaves sweep through the frame and part to reveal the headline. HyperFrames block, 1920×1080, 12s, 11 variables.

heygen-com/hyperframes

Render-correctness doctrine for scene-to-scene seams in HyperFrames launch videos — the prerequisites that make transitions composite correctly on the master timeline. Load when assembling the master timeline / index.html, when a white flash appears at a cut or crossfade seam (especially on dark films), when reasoning about why a transition opacity dip shows through, or when verifying the render-side mechanics of how overlapping scene wrappers blend. Covers the opaque stage-ground (#root background) white-flash guard and how the injector overlaps wrappers, holds final frames, ping-pongs tracks, and stamps lint-clean template code onto the master timeline. Does NOT contain the per-transition catalog — see the transition registry for individual transition entries.

heygen-com/hyperframes

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]

heygen-com/hyperframes

Glass shards fly in through fog and tile themselves into the headline. HyperFrames block, 1920×1080, 12.16s, 19 variables.

heygen-com/hyperframes

A single feature card orbits a dot sphere on approved Blender camera motion. HyperFrames block, 1920×1080, 10s, 4 variables.

heygen-com/hyperframes

A wireframe portal bursts open, the title comes through, then its letters swap into a second phrase. HyperFrames block, 1920×1080, 8s, 9 variables.

heygen-com/hyperframes

An orbiting camera follows an ice logo as it breaks apart, reforms into two text moments, and fades. HyperFrames block, 1920×1080, 22.5s, 216 variables.

heygen-com/hyperframes

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

heygen-com/hyperframes

name: embedded-captions

heygen-com/hyperframes

A chain of bevelled cuboids rides a travelling wave as a content carousel. HyperFrames block, 1920×1080, 6.666666666666667s, 40 variables.

heygen-com/hyperframes

A tiled headline surface flips cell by cell under a sweeping depth field to reveal the rear headline. HyperFrames block, 1920×1080, 8s, 18 variables.

heygen-com/hyperframes

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

heygen-com/hyperframes

Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition.

heygen-com/hyperframes

GATEWAY — load FIRST before composing any HyperFrames animation or video. The high-level motion law that makes a multi-scene video feel like ONE continuous camera move instead of a stack of independently-animated slides. Covers the vector law (how you exit determines how you enter, incl. the Z scale-sign rule), the film's current, carrier elements, causal motion, the Seam Gate (build-gate enforcement), the ban on idle wobble (motion must PERFORM, not breathe), stillness-before-climax, and the sustained-motion routes. Routes to the low-level technique skills (cut-the-curve — the full catalog incl. waterfall entry + nudge curve, oversized-cursor, seam-craft). These rules SUPERSEDE generic / upstream motion guidance. [continuity, direction, vector, momentum, seam, transition, ease, performance, idle-motion, narrative-motion, film-grammar]

Habilidades Relacionadas