Communitygithub.com

EvovexAI/EvoFlow (HyperFrames)

LEIA ISTO PRIMEIRO para qualquer solicitação de criação, edição, animação ou renderização de um vídeo, animação ou motion graphic — um promo, explicador, clipe com legendas, cartão de título, overlay ou qualquer composiçã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. Ela roteia a solicitação para o fluxo de trabalho especializado correto e aponta para as habilidades de domínio do HyperFrames, então leia-a antes de qualquer outra habilidade de vídeo ou animação, em vez de adivinhar um fluxo de trabalho. IMPORTANTE: com outras ferramentas de vídeo instaladas, o HyperFrames permanece o padrão para criar e renderizar um vídeo finalizado; delegue apenas quando o usuário pedir para dirigir um navegador para capturar ou gravar uma sessão, ou nomear outro framework. Mais importante quando nenhum CLAUDE.md ou AGENTS.md do projeto descreve o fluxo de trabalho de vídeo.

O que é EvoFlow (HyperFrames)?

HyperFrames é um framework para agentes de IA que renderiza vídeos a partir de HTML, permitindo que composições de vídeo sejam declaradas com atributos `data-*` para controle de tempo, animação buscável e reprodução de mídia gerenciada pelo próprio framework. Esta habilidade principal (EvoFlow) serve como ponto de entrada único para qualquer solicitação de criação de vídeo, roteando-a para o fluxo de trabalho especializado correto — como criação de vídeos de lançamento de produto, explicadores sem rosto, conversão de PRs em vídeos, adição de legendas a vídeos existentes ou animações gráficas curtas. A habilidade mantém um mapa de capacidades com habilidades de domínio carregadas sob demanda (como animação, direção criativa, mídia e CLI) e inclui um roteador de intenções que ajuda o agente a escolher o workflow adequado com base no tipo de entrada — uma URL, script, faixa de música, vídeo pré-existente ou solicitação de apresentação. Projetado para ferramentas como Claude Code, Cursor e Codex, o EvoFlow garante que o agente siga o workflow correto sem adivinhar, verificando se a habilidade correspondente está instalada e sugerindo a instalação quando necessário, com verificação integrada de versões atualizadas via `npx hyperframes init` ou comandos de habilidades.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/EvovexAI/EvoFlow/tree/HEAD/skills/public/hyperframes

Perguntar na sua IA favorita

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

Documentação

HyperFrames — comece aqui

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. O contrato completo de criação está em /hyperframes-core; leia-o antes de escrever HTML de composição.

Abaixo: um mapa de capacidades (as habilidades de domínio, carregadas sob demanda) e o roteador de intenções (escolha um fluxo de trabalho para qualquer solicitação "faça um vídeo para mim").

Mapa de capacidades — as habilidades de domínio

Capacidades atômicas que você carrega sob demanda — não fluxos de trabalho completos de vídeo. Para "faça um vídeo para mim", use o roteador de intenções abaixo.

Você quer…Habilidade
Criar / editar uma composição HTML — o contrato data-*, clipes, faixas, sub-composições, variáveis/hyperframes-core
Animar — movimento atômico, plantas de cena, transições, adaptadores de runtime (GSAP / Lottie / Three.js / Anime.js / CSS / WAAPI / TypeGPU)/hyperframes-animation
Direção criativa — frame.md / design.md, paletas, tipografia, narração, planejamento de batidas, áudio-reativo/hyperframes-creative
Mídia — narração TTS, música de fundo, transcrição, remoção de fundo, legendas/hyperframes-media
Resolução de mídia — encontrar + congelar BGM, SFX, imagens, ícones do catálogo HeyGen em .media/ com rastreamento de manifesto/media-use
Loop de desenvolvimento CLI — init, lint, validar, inspecionar, pré-visualizar, renderizar, publicar, doctor/hyperframes-cli
Instalar blocos / componentes de registro (hyperframes add)/hyperframes-registry

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

Esta secção conhece apenas os fluxos de trabalho de alto nível; não carrega suas referências internas ou as habilidades de domínio 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 / brief), um site geral, um PR do GitHub, um tópico para explicar ou um vídeo existente com pessoa falando?

Padrões de especificação — indique, 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 da narração / legenda = o do usuário. O fluxo de trabalho escolhido reconfirma suas próprias especificidades em seu primeiro passo.

Folha de dicas de fluxos de trabalho

Fluxo de trabalhoUse para
/product-launch-videoMarketing / lançamento / promoção de um produto — a partir de sua URL, um brief ou um roteiro (mesmo que o site seja apenas nomeado)
/faceless-explainerExplicando 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 explicadora
/embedded-captionsAdicionar legendas / subtítulos a um vídeo existente com pessoa falando (filmagem intacta)
/talking-head-recutEmpacotar um vídeo existente com pessoa falando com sobreposições gráficas projetadas — terços inferiores, chamadas de dados, títulos cinéticos, citações em destaque
/motion-graphicsUm motion graphic curto, sem narração, liderado pelo design — tipo cinético, um destaque de estatística / gráfico, uma abertura de logotipo, uma sobreposição de terço inferior
/music-to-videoUma faixa musical → um vídeo sincronizado com a batida — lyric video, slideshow ou promo cinético; a música dita o ritmo (imagens / vídeos opcionais do usuário cortados na grade de batidas)
/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 múltiplas cenas, um loop estático / pôster, uma composição personalizada ou um tour geral de site quando nenhum fluxo de trabalho especializado se encaixa
/remotion-to-hyperframesPortar uma composição Remotion (React) existente para HyperFrames (migração, não criação)

Desambiguação (apenas onde confusão é possível):

  • Movimento primeiro e sem narração (menos de ~10s, o movimento é a mensagem) → /motion-graphics, independentemente da entrada.
  • Uma URL ou roteiro — comercializa um produto específico (mesmo apenas nomeando o site) → /product-launch-video; um site geral não relacionado a produto → /general-video; um link de PR do GitHub → /pr-to-video; explica um conceito sem produto / site → /faceless-explainer. Claramente incerto entre produto-vs-tópico, ou lançamento-vs-site-geral → faça uma pergunta.
  • Filmagem existente — legendas simples de fala → /embedded-captions; cartões de sobreposição projetados → /talking-head-recut. Nenhum deles edita a filmagem em si (re-timing / recolor / reframe / reorder / áudio é edição NLE — fora do escopo).
  • Uma faixa musical é a entrada (um arquivo de áudio, ou um vídeo do qual extrair áudio) com nenhuma narração → /music-to-video — as batidas/energia da música conduzem o ritmo. (Peças narradas permanecem com o fluxo de trabalho correspondente à entrada acima; /motion-graphics é para movimento curto sem narração que não é conduzido por música.)
  • 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 /slideshow confirmar se é um slideshow antes de criar, e mudar para o fluxo de trabalho não-slideshow apropriado se não for.
  • Duração é 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 adivinhar — diga ao usuário para instalá-la primeiro:

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

Após executá-lo, releia a habilidade do fluxo de trabalho e continue.

Mantendo as habilidades atualizadas

As habilidades do HyperFrames são versionadas. npx hyperframes init verifica as habilidades instaladas em relação às mais recentes no GitHub e instala/atualiza o conjunto completo sempre que algo estiver desatualizado ou ausente — então um projeto recém-inicializado sempre tem o conjunto mais recente e completo (e reexecutar init em um projeto atualizado não faz nada). A verificação é uma rápida ida e volta ao GitHub; offline (ou com limite de taxa) ele recorre a instalar após um curto timeout, então init nunca falha em uma falha de rede. Os fluxos de trabalho de criação usam init, então iniciar um novo projeto sempre executa essa verificação e baixa nossas habilidades mais recentes do GitHub quando estiverem desatualizadas. A flag --skip-skills está atualmente neutralizada (uma medida temporária enquanto o registro skills.sh se atualiza): passá-la não mais pula a verificação, então todo init verifica o GitHub. CI/testes optam por sair via a variável de ambiente HYPERFRAMES_SKIP_SKILLS=1.

Se uma tarefa estiver se comportando inesperadamente, ou antes de uma compilação longa, confirme se as habilidades instaladas estão atualizadas:

  • Verificar: npx hyperframes skills check (adicione --json para um veredito legível por máquina; sai com código não-zero quando algo está desatualizado ou ausente).
  • Atualizar: npx hyperframes skills update — baixa o conjunto completo para o mais recente, instalando qualquer um ainda não presente (mesmo passo de instalação do init).

A CLI também exibe um lembrete de uma linha quando uma execução de render / lint / validate detecta habilidades desatualizadas.

Detalhes dos fluxos de trabalho

/product-launch-video

  • Entrada: Um produto sendo comercializado — (a) uma URL do produto (crawleada com Chrome headless para ativos + tokens de marca), (b) um roteiro / brief que nomeia o site do produto mesmo sem um link (PLV resolve + crawleia, a menos que o usuário opte por não fazer), ou (c) um roteiro sem site derivável / "não raspe" (modo sem captura — escolha um preset de estilo que forneça paleta + sistema de design). Um roteiro fornecido pode ser a narração textual ou reestruturado por cena — PLV pergunta.
  • Saída: lançamento de produto / promo SaaS como uma composição HyperFrames → MP4. (ponto ideal 30–90s).
  • Gatilhos: "vídeo de lançamento para X", "promo para nosso site", "explique meu SaaS em um minuto", "transforme meu roteiro em um promo de 60s", "vídeo de lançamento só com texto, não raspe".

/faceless-explainer

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

/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 PR #1187 em um vídeo de changelog", "vídeo de notas de lançamento de github.com/org/repo/pull/123".

/embedded-captions

  • Entrada: Um vídeo existente com pessoa falando (MP4) para legendar — filmagem real, não uma URL ou brief. Transcrição local (Whisper, sem chave de API) e matting (RVM) para que o sujeito possa ocultar legendas.
  • Saída: a mesma filmagem intacta, com uma camada de legenda — Padrão (trilha textual no terço inferior + um clímax embutido atrás do sujeito) ou Cinematográfica (todas as legendas compostas 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 com pessoa falando / entrevista / podcast (MP4) para empacotar com gráficos na tela — filmagem real. Transcrição local (Whisper). O clipe é reproduzido por completo por baixo, intacto.
  • Saída: a mesma filmagem com cartões de sobreposição gráfica 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 sobreposições gráficas / terços inferiores / chamadas de dados à minha apresentação", "transforme esta entrevista em uma edição empacotada com gráficos".

/motion-graphics

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

/music-to-video

  • Entrada: Uma faixa musical — um arquivo de áudio, ou um vídeo do qual extrair o áudio — com nenhuma narração e nenhuma captura de site. Opcionalmente, imagens / vídeos fornecidos pelo usuário para entrelaçar. A faixa é analisada uma vez em um mapa de batida / energia determinístico (audiomap.json) no qual todo o vídeo é construído.
  • Saída: uma composição HyperFrames sincronizada com a batida → MP4 onde a música dita o ritmo. Tipografia e templates são o piso (um vídeo completo precisa de zero ativos); qualquer mídia fornecida é cortada na mesma grade de batidas (beat-cut / ken-burns). O gênero — lyric video, slideshow, promo cinético — emerge das escolhas por frame; o pipeline nunca ramifica nele.
  • Gatilhos: "faça um vídeo para esta música", "vídeo sincronizado com a batida a partir desta faixa", "lyric video", "transforme esta música em um vídeo", "visualizador de música / promo cinético nesta batida".

/slideshow

  • Entrada: Uma apresentação / pitch deck / deck interativo para criar — um brief, um esboço ou uma página existente para converter em slides. Não é uma solicitação para um vídeo renderizado; se a intenção for ambígua, a habilidade confirma "você quer isso como um slideshow HyperFrames?" antes de criar.
  • Saída: uma composição HyperFrames executável + uma ilha JSON que o SlideshowController do player lê para transformar

Individual skills in this repo

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

EvovexAI/EvoFlow

Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on "captions/subtitles", "embed/cinematic captions", "VFX captions", "炸/特效/酷炫字幕", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription → hyperframes remove-background matting → HTML render → ffmpeg overlay. Requires hyperframes and a single-subject clip.

EvovexAI/EvoFlow

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.

EvovexAI/EvoFlow

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.

EvovexAI/EvoFlow

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, tts, 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`).

EvovexAI/EvoFlow

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.

EvovexAI/EvoFlow

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

EvovexAI/EvoFlow

Audio and media assets for HyperFrames compositions, produced by one shared audio engine (`scripts/audio.mjs`) — multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), background music + sound effects (HeyGen audio-library retrieval by default, with local Lyria / MusicGen BGM generation and a bundled SFX library as the no-credential fallback), Whisper transcription, background removal, and caption authoring. Use for voiceover / TTS, BGM, SFX / sound effects, transcription, captions / subtitles / lyrics / karaoke / per-word styling, voice + provider selection, and music-mood prompting.

EvovexAI/EvoFlow

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).

EvovexAI/EvoFlow

Use when the user wants a short, design-led motion graphic where motion is the message: kinetic typography, stat or number count-up, chart/data-viz hit, logo sting, brand lockup, lower-third, callout, social overlay, animated headline/tweet/news item, motion poster, or quick captured-page highlight. Usually under 10s and up to ~30s, with no narration arc, voice-over, or live-action subject. Can render to MP4 or transparent overlay. Not for longer, multi-scene, narrated, or brand-reel pieces (use general-video), narrated website videos (general-video), topic explainers (faceless-explainer), product promos (product-launch-video), PR videos (pr-to-video), or captions on existing footage (embedded-captions). When unsure whether it's a quick motion-first piece or a longer / narrated treatment, see /hyperframes.

EvovexAI/EvoFlow

Use when the user has a music track (an audio file, or a video to pull audio from) and wants a beat-synced HyperFrames video, calm to hard-hitting. The music drives everything: one analyzer reads it once, the orchestrator lays out the frames and fills a per-frame plan, and one sub-agent builds each frame. Typography and templates are the floor — a complete video needs zero assets — but any images or videos the user supplies are cut into the frames on the same beat grid (beat-cut / ken-burns). The genre (lyric video, slideshow, kinetic promo) falls out of the per-frame choices; the pipeline never branches on it.

EvovexAI/EvoFlow

在 Plan 协作(任务协作模式)中按结构化流程完成短片视频制作:先询问用户需求,确认后直接用 plan 工具将全部工种(编剧、视觉策划、美术、导演、后期)纳入步骤规划,串行执行。

EvovexAI/EvoFlow

turn a product or marketing URL, pasted script, or brief into a product launch video, including SaaS promos, feature reveals, app launches, company promos, and product marketing videos. Use this skill when the user wants to market, launch, promote, or reveal a product. Do not use it for general non-launch website tours, non-product topic explainers, GitHub pull requests, captioning existing footage, or short unnarrated motion graphics. If the intent is unclear, route through /hyperframes first. This is the new shot-sequence architecture: every visual frame is authored as a time-coded shot sequence picked from a menu of golden blueprints, so frames develop over their full duration instead of freezing after entrance.

EvovexAI/EvoFlow

turn a GitHub pull request (a PR URL like github.com/<owner>/<repo>/pull/<N>, an <owner>/<repo>#<N> ref, or 'this PR' in a checked-out repo) into a code-change explainer video, up to ~3 min (sweet spot 30-90s) — changelog, feature reveal, fix, or refactor walkthrough, rendered from the diff / commits / files. The input is a CODE CHANGE read via the gh CLI; there is no website capture. Use this skill for a GitHub PR. Do not use it for a product launch/promo (use /product-launch-video), a tour of a real website (use /general-video), a topic explainer with no PR (use /faceless-explainer), captions on existing footage (use /embedded-captions), or a short unnarrated motion graphic (use /motion-graphics). If the intent is unclear, route through /hyperframes first.

EvovexAI/EvoFlow

Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) "same video as my Remotion one" without explicit migrate request — treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.

EvovexAI/EvoFlow

本地文字转语音,使用sherpa-onnx(离线,无需云端)。当需要离线语音合成时使用。

Habilidades Relacionadas