Communitygithub.com

EvoFlow — Fluxo de Trabalho de Vídeo Geral

O workflow fallback para criar composições de vídeo HyperFrames personalizadas, de qualquer duração ou formato — peças longas ou com múltiplas cenas, reels de marca/sizzle, montagens, cartões de título, loops estáticos e composições livres. Agnóstico quanto à entrada ou duração. Se um workflow especializado claramente se adequar à entrada — um produto comercializado, um site, um explicador de tópico, um PR do GitHub, filmagens existentes, um motion graphic curto ou uma migração do Remotion — prefira-o (veja /hyperframes); use este apenas como fallback geral quando nenhum se encaixar.

O que é EvoFlow — Fluxo de Trabalho de Vídeo Geral?

O EvoFlow (general-video) é o workflow fallback do ecossistema HyperFrames, projetado para autoria de composições de vídeo personalizadas onde nenhum workflow especializado se aplica. Ele é agnóstico a formato e duração, suportando desde cartões de título e loops estáticos até reels de marca e peças multi-cena. A habilidade segue uma abordagem estruturada: estabelece um sistema de design via o guia `hyperframes-creative`, expande prompts para composições multi-cena, planeia a experiência visual e a ritmo, e constrói o estado final do layout antes de animar com GSAP. Integra-se com os submódulos HyperFrames para áudio (TTS, BGM, SFX) via `hyperframes-media`, e delega técnicas específicas (tipografia cinética, revelação de logo, transições) para regras de animação dedicadas. O EvoFlow é adequado para uso como assistente em ferramentas de IA como Claude Code, Cursor ou Codex, onde um agente precisa produzir composições de vídeo ricas e com curadoria além das capacidades de workflows mais estreitos.

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

Perguntar na sua IA favorita

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

Documentação

media-use: Antes de buscar áudio/imagens, chame /media-use para resolver BGM/SFX/imagens do catálogo HeyGen. Execute --adopt primeiro para registrar ativos existentes. Veja a habilidade /media-use.

general-video — workflow de vídeo geral

Confirme a rota antes de construir. Este é o fallback para autoria de composições personalizadas. Se a entrada claramente se encaixa em um workflow especializado, prefira-o: produto comercializado → /product-launch-video; site geral → /general-video; explicador de tópico → /faceless-explainer; PR do GitHub → /pr-to-video; filmagens existentes → /embedded-captions · /talking-head-recut; motion graphic curto sem narração → /motion-graphics; migração do Remotion → /remotion-to-hyperframes. Fora do escopo: dados em tempo real / no momento da renderização, edição estilo NLE de um vídeo finalizado, ou produção de filmagens que o HyperFrames não pode capturar. Não tem certeza? Leia /hyperframes primeiro.

Construa exatamente o que foi solicitado. Um cartão de título é um cartão de título — não um cartão de título + três cenas de apoio + música ambiente + legendas. Se cenas ou elementos extras melhorariam genuinamente a peça, proponha-os; não os adicione silenciosamente. Para pequenas edições (corrigir uma cor, ajustar uma duração, adicionar um elemento), pule as etapas de planejamento e vá direto para a construção.

Abordagem

Descoberta — apenas para solicitações abertas

Para solicitações vagas e exploratórias ("faça algo para nossa marca", "uma introdução legal") — entenda a intenção antes de escolher cores:

  • Público — quem assiste? desenvolvedores / executivos / consumidores gerais?
  • Plataforma — onde é reproduzido? redes sociais (15s) / hero do site / demonstração de produto / interno?
  • Prioridade — o que importa mais? qualidade do movimento / precisão do conteúdo / fidelidade à marca / velocidade?
  • Variações — uma melhor versão, ou 2 a 3 opções significativamente diferentes (ritmo, energia ou estrutura diferentes — não apenas trocas de cor)?

Para solicitações específicas ("adicione um cartão de título", "corrija o tempo da cena 3"), pule a descoberta.

Passo 1 — Sistema de design → hyperframes-creative

Estabeleça a identidade visual primeiro. Se o projeto tem uma especificação de design, leia-a (precedência frame.md → design.md → DESIGN.md; trate-a como verdade da marca — cores exatas, fontes, restrições).

Se não houver especificação, você DEVE ler AMBOS hyperframes-creative/references/house-style.md E hyperframes-creative/references/video-composition.md antes de escolher qualquer cor ou fonte. house-style.md fornece o iniciador "interprete o prompt / gere conteúdo real", lista de lazy-default e receita de camadas; video-composition.md fornece as regras de densidade/escala/detalhamento de primeiro plano (barras de dados, marcas de registro, metadados monoespaçados, "8-10 elementos, dois que o usuário não pediu") que separa "produzido" de "gerado." Ler apenas um é o erro mais comum — video-composition.md é aquele que os agentes pulam, e é exatamente o que evita saídas planas, centralizadas e com aparência de página web. Não invente uma paleta e pule estes; acessar hyperframes-creative é obrigatório aqui, não um ramo opcional. A partir daí, também puxe um estilo/mood nomeado → references/visual-styles.md, ou o seletor interativo → references/design-picker.md, conforme necessário. A especificação/estilo define a marca, não as regras de composição.

Encontre o ângulo (brief vago, sem especificação): antes de escolher cores, escreva UMA frase — o que este nome/palavra/tópico evoca, e qual mundo visual (metáfora, cenário, instrumento, motivo) o expressa? Ex: uma ferramenta de cibersegurança → portas de cofre / linhas de varredura de perímetro / linguetas de fechadura; um app de meditação → maré, respiração, leve brilho lento. Leia o significado do assunto, não apenas suas letras; escolha um ângulo concreto em vez de uma reformulação literal. Este é o substituto barato para a expansão de prompt (Passo 2) em peças de uma cena, onde a expansão é corretamente ignorada — e é a diferença entre um conceito projetado e um logotipo genérico em gradiente.

Passo 2 — Expansão de prompt → hyperframes-creative

Execute para cada composição multi-cena (pule para peças de uma cena e edições triviais). Fundamente a solicitação contra a especificação de design + estilo da casa em um intermediário consistente que o trabalho downstream leia da mesma forma. Veja hyperframes-creative/references/prompt-expansion.md.

Passo 3 — Plano

Antes de escrever HTML, pense em alto nível:

  1. O quê — a experiência do espectador: arco narrativo, momentos-chave, batidas emocionais.
  2. Estrutura — quantas composições, sub-comp vs inline, quais faixas carregam vídeo / áudio / overlays / legendas. Para a decisão entre arquivo monolítico único vs modular sub-comp, veja hyperframes-core/references/composition-patterns.md § Duas Arquiteturas (regra prática: ≥3 cortes de cena difíceis, ou qualquer cena reutilizada → modularize; uma peça curta de uma cena permanece um arquivo).
  3. Ritmo — nomeie o padrão antes de implementar (ex: fast-fast-SLOW-SHADER-hold); veja hyperframes-creative/references/beat-direction.md.
  4. Tempo — quais clipes determinam a duração, onde as transições ocorrem, o ritmo.
  5. Layout — construa o estado final primeiro (veja abaixo).
  6. Animar — depois adicione movimento via hyperframes-animation.

Layout Antes da Animação

Posicione cada elemento onde ele fica em seu momento mais visível — totalmente entrado, colocado corretamente, ainda não saindo. Escreva isso como HTML + CSS estático primeiro. Ainda sem GSAP.

Por quê: se você posicionar elementos em seu estado inicial animado (fora da tela, escalados para 0, opacidade 0) e tweenear para onde você acha que eles pousam, você está adivinhando o layout final — sobreposições ficam invisíveis até a renderização. Construa o estado final primeiro e você vê e corrige problemas de layout antes de adicionar movimento.

  1. Identifique a moldura hero para cada cena — o momento em que o maior número de elementos está simultaneamente visível. Esse é o layout que você constrói.
  2. Escreva CSS estático para essa moldura. O contêiner de conteúdo deve preencher a cena com padding, não deslocamentos absolutos:
.scene-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 120px 160px; /* padding posiciona o conteúdo; preenche qualquer tamanho de cena */
  gap: 24px;
  box-sizing: border-box;
}

Nunca use position: absolute; top: Npx em um contêiner de conteúdo — ele transborda quando o conteúdo é mais alto que o espaço. Reserve o posicionamento absoluto para elementos decorativos.

⚠ O width/height: 100% acima só funciona se cada ancestral tiver uma altura resolvida. A raiz <div data-composition-id> e qualquer wrapper entre ela e .scene-content devem ser dimensionados (position: relative; width: 1920px; height: 1080px na raiz — veja hyperframes-core → "A raiz deve ser dimensionada"). Pule isso e o contêiner flexível colapsa para ~0, o conteúdo se amontoa no canto superior esquerdo, e o primeiro glifo corta em x=0 — enquanto lint/inspect ainda relatam 0 problemas. E sempre mantenha o padding (≥80px) em .scene-content: é a margem de segurança do título. Nunca substitua por gap puro.

  1. Adicione entradas — anime DE fora da tela/invisível PARA a posição CSS com gsap.from() (em sub-composições prefira gsap.fromTo() para que o estado inicial seja explícito; veja hyperframes-core/references/sub-compositions.md). A posição CSS é a verdade fundamental; o tween é a jornada até ela.
  2. Saídas são tratadas por transição — de acordo com as regras de transição de cena em hyperframes-animation/transitions/, apenas a cena final anima elementos para fora; entre cenas a transição É a saída.

Espaço compartilhado ao longo do tempo: se o elemento A sai antes do elemento B entrar na mesma área, ambos ainda precisam de posições CSS corretas para suas respectivas molduras hero — a ordenação da linha do tempo impede que coexistam, e a etapa de layout detecta sobreposição acidental. Brilhos/sombras em camadas e profundidade z-stacked são sobreposição intencional; a etapa é sobre detectar colisões não intencionais (dois títulos um sobre o outro, conteúdo vazando para fora do quadro).

Construir — delegue para as habilidades de domínio

Isso mapeia a superfície completa da habilidade (veja a description) para suas referências — não exaustivo; quando uma intenção não está listada, roteie através de hyperframes-creative (aparência/conceito), hyperframes-animation (movimento), hyperframes-core (contrato), hyperframes-media (áudio/legendas). A primeira linha é ADITIVA — leia-a E sua linha de intenção, não uma ou outra.

Construindo…Leia primeiro (em ordem)
SEMPRE — toda peça não trivial, além da sua linha de intenção abaixohyperframes-creative/references/house-style.md + references/video-composition.md (também bloqueado no Passo 1 / HARD-GATE; o detalhamento de primeiro plano "produzido, não gerado")
Tipografia cinética / com foco em textohyperframes-animation/techniques.md (tipo cinético) + adapters/gsap-easing-and-stagger.md + rules/kinetic-beat-slam.md
Cartão de título / terço inferior / overlay / PiP / texto atrás do assuntohyperframes-creative/references/composition-patterns.md + (para a moldura centralizada/redimensionada) hyperframes-core → "A raiz deve ser dimensionada"
Revelação de logotipo / marcahyperframes-animation/rules/svg-path-draw.md (desenho) + rules/3d-text-depth-layers.md + rules/scale-swap-transition.md
Dados / estatísticas / númeroshyperframes-animation/rules/counting-dynamic-scale.md + rules/stat-bars-and-fills.md + hyperframes-creative/references/data-in-motion.md
Demonstração de produto / app / UIhyperframes-animation/rules/3d-page-scroll.md + rules/cursor-click-ripple.md + rules/press-release-spring.md
Áudio-reativo / orientado por músicahyperframes-creative/references/audio-reactive.md (pré-extrair faixas; mapear para movimento)
Narrado / voiceover / música / SFX / legendashyperframes-media → o motor de áudio compartilhado scripts/audio.mjs (uma chamada = TTS + BGM + SFX → audio_meta.json); autoria de legendas + posicionamento de ativos via hyperframes-core. Veja Áudio abaixo.
Multi-cena / transiçõeshyperframes-animation/transitions/overview.md depois transitions/catalog.md (você não terminou após a visão geral — a receita GSAP está no catálogo)
Modular / sub-composiçõeshyperframes-core/references/composition-patterns.md + references/sub-compositions.md

Áudio: um motor (TTS · BGM · SFX)

Apenas quando a peça exigir (de acordo com "construa exatamente o que foi solicitado" — sem música ambiente em um cartão de título). Não crie TTS manualmente nem contrate uma cópia: escreva um audio_request.json neutro e chame o motor compartilhado em hyperframes-media. Ele degrada automaticamente em um interruptor — HeyGen credencial presente → HeyGen TTS + música/SFX recuperação; ausente → ElevenLabs/Kokoro TTS, Lyria/MusicGen BGM geração, e a biblioteca SFX agrupada. Lista completa de flags + esquema de requisição/meta: o comentário de cabeçalho de hyperframes-media/scripts/audio.mjs.

// audio_request.json — uma linha por segmento narrado; `id` é seu (une audio_meta de volta)
{
  "lines": [
    { "id": "s1", "text": "Sua linha de abertura.", "sfx": ["whoosh"] },
    { "id": "s2", "text": "A próxima batida." },
  ],
  "bgm": { "query": "calm cinematic underscore" }, // omita "mode" → auto (recupera se HeyGen, senão gera); "none" para desabilitar
}
# <MEDIA_DIR> = o diretório da habilidade hyperframes-media instalada (irmão desta habilidade)
node <MEDIA_DIR>/scripts/audio.mjs --request ./audio_request.json --hyperframes . --out ./audio_meta.json

Depois leia audio_meta.json: monte cada voices[].path + (bgm.path, sfx[]) como faixas <audio> e use voices[].words para legendas, tudo de acordo com hyperframes-core (faixas de áudio + autoria de legendas). Se o BGM seguiu o caminho de geração (bgm_pending: true), execute hyperframes-media/scripts/wait-bgm.mjs antes da renderização final.

Checklist de saída → hyperframes-cli

  • [ ]

…

[truncado para tradução]

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

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

READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.

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