Communitygithub.com

EvoFlow — Flujo de trabajo general de video

El flujo de trabajo predeterminado para crear composiciones de video HyperFrames personalizadas de cualquier duración o formato: piezas largas o de varias escenas, reels de marca, montajes, tarjetas de título, bucles estáticos y composiciones libres. Agnóstico en cuanto a entrada y duración. Si un flujo de trabajo especializado se ajusta claramente a la entrada (un producto comercializado, un sitio web, un explicador de tema, un PR de GitHub, material existente, un motion graphic breve o un puerto de Remotion), debes preferirlo (consulta /hyperframes); usa este solo como el predeterminado cuando ninguno encaje.

¿Qué es EvoFlow — Flujo de trabajo general de video?

Este flujo de trabajo, llamado EvoFlow, es la opción general y predeterminada del ecosistema HyperFrames para crear composiciones de video personalizadas de cualquier tipo y duración, cuando ninguna herramienta especializada (como las de producto, sitio web o explicador) es adecuada. Está diseñado para ser agnóstico a la entrada y la duración, y su objetivo es construir exactamente lo que se pide, sin agregar elementos no solicitados. El proceso se divide en pasos claros: primero establece una identidad visual (basada en especificaciones o guías de estilo), luego expande el prompt si es necesario, y finalmente planifica la estructura, el ritmo y la animación, siempre colocando los elementos en su posición final antes de animar. Soporta una amplia gama de tareas, desde tipografía cinética y tarjetas de título hasta demos de productos y contenido reactivo al audio, y se integra con otros módulos (como hyperframes-creative, hyperframes-animation y hyperframes-media) para delegar tareas especializadas y garantizar un resultado profesional y de alta calidad.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

media-use: Antes de obtener audio/imágenes, llama a /media-use para resolver BGM/SFX/imágenes del catálogo de HeyGen. Ejecuta --adopt primero para registrar los activos existentes. Consulta la skill /media-use.

general-video — flujo de trabajo general de video

Confirma la ruta antes de construir. Este es el predeterminado para la creación de composiciones personalizadas. Si la entrada se ajusta claramente a un flujo de trabajo especializado, prefierelo: producto comercializado → /product-launch-video; sitio web general → /general-video; explicador de tema → /faceless-explainer; PR de GitHub → /pr-to-video; material existente → /embedded-captions · /talking-head-recut; motion graphic breve sin narración → /motion-graphics; puerto de Remotion → /remotion-to-hyperframes. Fuera de alcance: datos en vivo/en tiempo de renderizado, edición estilo NLE de un video terminado, o producir material que HyperFrames no pueda capturar. ¿No estás seguro? Lee /hyperframes primero.

Construye exactamente lo que se pidió. Una tarjeta de título es una tarjeta de título — no una tarjeta de título + tres escenas de apoyo + música ambiental + subtítulos. Si las escenas o elementos adicionales realmente mejoran la pieza, proponlos; no los agregues en silencio. Para ediciones pequeñas (corregir un color, ajustar una duración, agregar un elemento), omite los pasos de planificación y ve directamente a la construcción.

Enfoque

Descubrimiento — solo para solicitudes abiertas

Para solicitudes vagas y exploratorias ("haz algo para nuestra marca", "una intro genial") — entiende la intención antes de elegir colores:

  • Audiencia — ¿quién mira? desarrolladores / ejecutivos / consumidores generales?
  • Plataforma — ¿dónde se reproduce? redes sociales (15s) / hero del sitio web / demo de producto / interno?
  • Prioridad — ¿qué importa más? calidad de movimiento / precisión del contenido / fidelidad de marca / velocidad?
  • Variaciones — una mejor toma, o 2-3 opciones significativamente diferentes (diferente ritmo, energía o estructura — no solo cambios de color)?

Para solicitudes específicas ("agrega una tarjeta de título", "corrige el tiempo de la escena 3"), omite el descubrimiento.

Paso 1 — Sistema de diseño → hyperframes-creative

Establece primero la identidad visual. Si el proyecto tiene una especificación de diseño, léela (precedencia frame.md → design.md → DESIGN.md; trátala como verdad de marca — colores exactos, fuentes, restricciones).

Si no existe especificación, DEBES leer AMBOS hyperframes-creative/references/house-style.md Y hyperframes-creative/references/video-composition.md antes de elegir cualquier color o fuente. house-style.md proporciona el aperturador de "interpreta el prompt / genera contenido real", la lista perezosa predeterminada y la receta de capas; video-composition.md proporciona la densidad/escala de medio de video / detallado de primer plano (barras de datos, marcas de registro, metadatos monoespaciados, "8-10 elementos, dos que el usuario no pidió") que separa lo "producido" de lo "generado". Leer solo uno es la omisión más común — video-composition.md es el que los agentes se saltan, y es exactamente el que evita una salida plana, centrada y parecida a una página web. No te inventes una paleta y te saltes estos; pasar a hyperframes-creative es obligatorio aquí, no una rama opcional. Desde allí, también toma un estilo/estado de ánimo nombrado → references/visual-styles.md, o el selector interactivo → references/design-picker.md, según sea necesario. La especificación/estilo define la marca, no las reglas de composición.

Encuentra el ángulo (brief vago, sin especificación): antes de elegir colores, escribe UNA oración — ¿qué evoca este nombre/palabra/tema, y qué mundo visual (metáfora, escenario, instrumento, motivo) lo expresa? Ej. una herramienta de ciberseguridad → puertas de bóveda / líneas de escaneo perimetral / pestillos de cerradura; una app de meditación → marea, respiración, lento florecimiento de luz. Lee el significado del tema, no solo sus letras; elige un ángulo concreto sobre un cambio de estilo literal. Este es el sustituto económico de la expansión de prompt (Paso 2) en piezas de una sola escena, donde la expansión se omite correctamente — y es la diferencia entre un concepto diseñado y un logo genérico sobre un degradado.

Paso 2 — Expansión de prompt → hyperframes-creative

Ejecuta para cada composición de varias escenas (omite para piezas de una sola escena y ediciones triviales). Fundamenta la solicitud contra la especificación de diseño + estilo de la casa en un intermedio consistente que el trabajo posterior lea de la misma manera. Consulta hyperframes-creative/references/prompt-expansion.md.

Paso 3 — Planificar

Antes de escribir HTML, piensa a alto nivel:

  1. Qué — la experiencia del espectador: arco narrativo, momentos clave, latidos emocionales.
  2. Estructura — cuántas composiciones, sub-comp vs en línea, qué pistas llevan video / audio / superposiciones / subtítulos. Para la decisión de archivo único monolítico vs modular con sub-comp, consulta hyperframes-core/references/composition-patterns.md § Dos Arquitecturas (regla general: ≥3 cortes de escena duros, o cualquier escena reutilizada → modulariza; una pieza corta de una sola escena permanece en un archivo).
  3. Ritmo — nombra el patrón antes de implementarlo (ej. rápido-rápido-LENTO-SHADER-mantener); consulta hyperframes-creative/references/beat-direction.md.
  4. Tiempo — qué clips impulsan la duración, dónde caen las transiciones, el ritmo.
  5. Diseño — construye el estado final primero (ver más abajo).
  6. Animar — luego agrega movimiento a través de hyperframes-animation.

Diseño Antes de la Animación

Coloca cada elemento donde se encuentra en su momento más visible — completamente entrado, correctamente colocado, sin salir aún. Escríbelo como HTML + CSS estático primero. Sin GSAP todavía.

Por qué: si posicionas los elementos en su estado inicial animado (fuera de pantalla, escalados a 0, opacidad 0) y los interpolas hacia donde crees que aterrizan, estás adivinando el diseño final: las superposiciones permanecen invisibles hasta el renderizado. Construye el estado final primero y ves y corriges los problemas de diseño antes de agregar movimiento.

  1. Identifica el fotograma héroe de cada escena — el momento en que la mayoría de los elementos son visibles simultáneamente. Ese es el diseño que construyes.
  2. Escribe CSS estático para ese fotograma. El contenedor de contenido debe llenar la escena con relleno, no con desplazamientos absolutos:
.scene-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 120px 160px; /* el relleno posiciona el contenido; llena cualquier tamaño de escena */
  gap: 24px;
  box-sizing: border-box;
}

Nunca uses position: absolute; top: Npx en un contenedor de contenido — se desborda cuando el contenido es más alto que el espacio. Reserva el posicionamiento absoluto para elementos decorativos.

⚠ El width/height: 100% anterior solo funciona si cada ancestro tiene una altura resuelta. La raíz <div data-composition-id> y cualquier envoltorio entre ella y .scene-content debe tener tamaño (position: relative; width: 1920px; height: 1080px en la raíz — consulta hyperframes-core → "La raíz debe tener tamaño"). Si omites esto, el contenedor flex se colapsa a ~0, el contenido se amontona en la esquina superior izquierda, y el primer glifo se recorta en x=0 — mientras lint/inspect aún informan 0 problemas. Y mantén siempre el padding (≥80px) en .scene-content: es el margen de seguridad del título. Nunca lo reemplaces con solo gap.

  1. Agrega entradas — anima DESDE fuera de pantalla/invisible HASTA la posición CSS con gsap.from() (en sub-composiciones prefiere gsap.fromTo() para que el estado inicial sea explícito; consulta hyperframes-core/references/sub-compositions.md). La posición CSS es la verdad fundamental; la interpolación es el viaje hacia ella.
  2. Las salidas son manejadas por transiciones — según las reglas de transición de escena en hyperframes-animation/transitions/, solo la escena final anima los elementos hacia afuera; entre escenas, la transición ES la salida.

Espacio compartido a través del tiempo: si el elemento A sale antes de que el elemento B entre en la misma área, ambos aún necesitan posiciones CSS correctas para sus respectivos fotogramas héroe — el orden de la línea de tiempo evita que coexistan, y el paso de diseño detecta la superposición accidental. Los brillos/sombras en capas y la profundidad de pila-z son superposición intencional; el paso se trata de detectar colisiones no intencionales (dos titulares uno encima del otro, contenido que se sale del fotograma).

Construir — delegar a las skills de dominio

Esto mapea la superficie completa de la skill (consulta la descripción) a sus referencias — no exhaustiva; cuando una intención no esté listada, enruta a través de hyperframes-creative (apariencia/concepto), hyperframes-animation (movimiento), hyperframes-core (contrato), hyperframes-media (audio/subtítulos). La primera fila es ADITIVA — léela Y tu fila de intención, no una o la otra.

Construyendo…Lee primero (en orden)
SIEMPRE — cada pieza no trivial, además de tu fila de intención a continuaciónhyperframes-creative/references/house-style.md + references/video-composition.md (también controlado en Paso 1 / HARD-GATE; el detallado de primer plano "producido, no generado")
Tipografía cinética / centrada en textohyperframes-animation/techniques.md (tipo cinético) + adapters/gsap-easing-and-stagger.md + rules/kinetic-beat-slam.md
Tarjeta de título / tercio inferior / superposición / PiP / texto detrás del sujetohyperframes-creative/references/composition-patterns.md + (para el fotograma centrado/dimensionado) hyperframes-core → "La raíz debe tener tamaño"
Revelación de logo / marcahyperframes-animation/rules/svg-path-draw.md (dibujar) + rules/3d-text-depth-layers.md + rules/scale-swap-transition.md
Datos / estadísticas / númeroshyperframes-animation/rules/counting-dynamic-scale.md + rules/stat-bars-and-fills.md + hyperframes-creative/references/data-in-motion.md
Demo de producto / app / UIhyperframes-animation/rules/3d-page-scroll.md + rules/cursor-click-ripple.md + rules/press-release-spring.md
Reactivo a audio / impulsado por músicahyperframes-creative/references/audio-reactive.md (pre-extraer bandas; mapear a movimiento)
Narrado / locución / música / SFX / subtítuloshyperframes-media → el motor de audio compartido scripts/audio.mjs (una llamada = TTS + BGM + SFX → audio_meta.json); autoría de subtítulos + colocación de activos a través de hyperframes-core. Consulta Audio a continuación.
Varias escenas / transicioneshyperframes-animation/transitions/overview.md luego transitions/catalog.md (no terminas después de la descripción general — la receta GSAP está en el catálogo)
Modular / sub-composicioneshyperframes-core/references/composition-patterns.md + references/sub-compositions.md

Audio: un motor (TTS · BGM · SFX)

Solo cuando la pieza lo requiera (según "construye exactamente lo que se pidió" — sin música ambiental en una tarjeta de título). No crees TTS manualmente ni consigas una copia de otro proveedor: escribe un audio_request.json neutral y llama al motor compartido en hyperframes-media. Se degrada automáticamente según un interruptor: credencial de HeyGen presente → TTS de HeyGen + recuperación de música/SFX; ausente → TTS de ElevenLabs/Kokoro, generación de BGM de Lyria/MusicGen y la biblioteca SFX empaquetada. Lista completa de banderas + esquema de solicitud/meta: el comentario de encabezado de hyperframes-media/scripts/audio.mjs.

// audio_request.json — una línea por segmento narrado; `id` es tuyo (une audio_meta de vuelta)
{
  "lines": [
    { "id": "s1", "text": "Tu línea de apertura.", "sfx": ["whoosh"] },
    { "id": "s2", "text": "El siguiente ritmo." },
  ],
  "bgm": { "query": "fondo cinematográfico tranquilo" }, // omite "mode" → auto (recupera si HeyGen, sino genera); "none" para deshabilitar
}
# <MEDIA_DIR> = el directorio de la skill hyperframes-media instalada (hermano de esta skill)
node <MEDIA_DIR>/scripts/audio.mjs --request ./audio_request.json --hyperframes . --out ./audio_meta.json

Luego lee audio_meta.json: monta cada voices[].path + (bgm.path, sfx[]) como pistas <audio> y usa voices[].words para subtítulos, todo según hyperframes-core (pistas de audio + autoría de subtítulos). Si BGM tomó la ruta de generación (bgm_pending: true), ejecuta hyperframes-media/scripts/wait-bgm.mjs antes del renderizado final.

Lista de verificación de salida → hyperframes-cli

  • La identidad visual se basa en la especificación o en house-style.md.
  • Se estableció un ángulo de concepto antes de elegir colores (para piezas que no son ediciones triviales).
  • Se eligió un par de fuentes de la lista de incrustación.
  • Se aplicaron las reglas de primer plano/densidad de video-composition.md.
  • Se colocaron los elementos en su estado final antes de agregar animaciones GSAP.
  • El contenedor raíz tiene tamaño (position: relative; width: 1920px; height: 1080px).
  • .scene-content usa flexbox con padding ≥80px (no position: absolute).
  • Las entradas/salidas se manejan según las reglas de transición.
  • Se verificó la superposición intencional vs. accidental de elementos.
  • El audio (si es necesario) se generó a través de hyperframes-media y se montó en las pistas.
  • (Si BGM se generó) Se ejecutó wait-bgm.mjs antes del renderizado.
  • Se ejecutó linter y no hay errores.

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(离线,无需云端)。当需要离线语音合成时使用。

Skills relacionados