Communitygithub.com

Drama2557/4RealDigital-Video-Studio

Crea gráficos animados cortos con diseño liderado por movimiento: tipografía cinética, conteo de estadísticas, gráficos, revelación de logotipos, superposiciones, mapas animados y más. Generalmente de menos de 10 segundos, sin narración, y se renderiza en MP4 o con superposición transparente.

¿Qué es 4RealDigital-Video-Studio?

Esta habilidad (‘skill’) está diseñada para que un agente de IA genere de forma autónoma gráficos animados cortos y con un fuerte componente de diseño, donde el movimiento es el mensaje principal. Se enfoca en piezas de menos de 10 segundos sin narración ni acción real, como tipografía cinética, conteo de estadísticas, gráficos de datos, revelación de logotipos, superposiciones para redes sociales, mapas animados, animaciones de noticias/tweets o fusión de la geometría de una imagen real en un gráfico. El flujo de trabajo es altamente autónomo: comienza con la inicialización del proyecto, pasa por una fase de planificación que decide si se necesita una búsqueda de activos, luego procede al diseño de la escena basado en los activos disponibles, la construcción reutilizando componentes del catálogo, la verificación con linting y capturas de prueba, y finalmente la aprobación y renderización. Solo en caso de duda sobre la duración o el formato, redirige al sistema `/hyperframes`. Está pensado para su uso con herramientas como Claude Code, Cursor o Codex, y se ejecuta en macOS Apple Silicon o Linux x64.

Compatible con~Claude Code~Codex CLI✓Cursor✓Gemini CLI
npx skills add https://github.com/Drama2557/4RealDigital-Video-Studio/tree/HEAD/.agents/skills/motion-graphics

Preguntar en tu IA favorita

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

Documentación

Primero, mantén esta habilidad actualizada: ejecuta en silencio, sin preguntar: npx hyperframes skills update motion-graphics. Una operación rápida sin cambios cuando todo está al día; de lo contrario, actualiza esta habilidad junto con las habilidades del dominio central de las que depende antes de que confíes en ellas.

fuente figma: Si el logotipo/activo/animación a construir proviene de una URL de figma.com, ejecuta /figma primero — exportación de activos, tokens de marca y traducción de Motion→GSAP si el gráfico es una importación de Figma Motion — luego construye a partir de su salida. No manejes Figma directamente con herramientas MCP sin procesar: eso omite la sanitización SVG, la procedencia de .media/manifest.jsonl y la vinculación de var() de los tokens de marca, por lo que un cambio posterior de marca no se puede propagar sin una reimportación completa.

motion-graphics — punto de entrada de despacho

La puerta de entrada es /hyperframes. Esta habilidad crea un gráfico animado corto, con diseño liderado y sin narración (el movimiento es el mensaje; ~menos de 10 s, sin voz en off). Cualquier cosa más larga, narrada o de varias escenas — o cualquier incertidumbre → lee /hyperframes primero: la capa de intención decide la ruta.

Este flujo de trabajo es autónomo por diseño — como máximo una pregunta aclaratoria (agents/director.md), luego construye hasta la verificación sin revisión intermedia. La capa de intención (/hyperframes → references/intent-interview.md) dirige aquí directamente sin preguntas sobre la forma de ejecución; un guion gráfico y una sesión complementaria añaden poco a una pieza tan corta. La renderización sigue estando controlada por el usuario: después de que las comprobaciones y las capturas de prueba pasen, haz la pregunta canónica de “¿vista previa primero o renderizar?” de ../hyperframes-core/references/brief-contract.md. Cuando exista un BRIEF.md, léelo antes de la pregunta del director.

Un gráfico animado corto con diseño liderado. Primero los activos: decide la estrategia de activos y obtén material real antes de diseñar la escena, luego diseña la escena en torno a lo que tienes, y luego compón reutilizando las capacidades del catálogo. Todos los artefactos van a PROJECT_DIR = videos/<nombre-del-proyecto>/ (creado en el Paso 0); todas las rutas a continuación son relativas a él.

FaseEjecuciónArtefacto principalFlujo detallado
initBashhyperframes.jsonPaso 0
plansubagente — ¿decidir búsqueda? + clasificar + estrategia de activosshot-plan.json (borrador: categoría, consultas asset_needs, resumen)agents/director.md (Parte 1)
source ◇Bash — resolución de uso de medios (saltar si asset_needs está vacío)assets/ + assets/index.mdphases/source/guide.md
designsubagente — diseño de escena en torno a los activos resueltosshot-plan.json (final: bloque(s) + diseño + movimiento + posiciones)agents/director.md (Parte 2)
buildsubagente — composición priorizando la reutilizacióncompositions/index.htmlagents/builder.md
verifyBash — lint, check, capturas de prueba; reparar en caso de fallosnapshots/contact-sheet.jpgPaso 5
approvePreguntar vista previa o renderizar; esperar la respuestaaprobación explícita de renderizadoPaso 6
renderBash — hyperframes render (MP4, o --format webm/mov para superposición)renders/video.mp4 o superposición transparentePaso 6

◇ source se ejecuta solo cuando la categoría elegida declara activos. Las categorías de solo código/texto (por ejemplo, kinetic-type, la mayoría de charts/stat) tienen asset_needs: [] y saltan directamente del plan al diseño.

Categorías — divididas por la decisión de búsqueda

La primera decisión de plan es: ¿esto necesita una búsqueda? Esta bifurcación divide las categorías en dos grupos; luego se elige la categoría específica — para las impulsadas por búsqueda, por el tipo de contenido que devuelve la búsqueda. Cada categoría es un categories/<id>/module.md (sus reglas de planificación y construcción); el vocabulario de movimiento compartido reside en references/motion-vocabulary.md (→ reglas/planos de hyperframes-animation + bloques del registro).

Categorías de formulario — sin búsqueda; el usuario proporciona el contenido:

CategoríaIntenciónSe apoya en
kinetic-typelínea/ cita/ título contundente, texto con movimiento como prioridadbloques caption-* + reglas de animación
statnúmero heroico único/ cuenta ascendente + anilloapple-money-count / rules/{counting-dynamic-scale, stat-bars-and-fills}
chartsgráfico de barras/ líneas/ circular/ carrera/ % a partir de datosbloque data-chart
logo-revealrevelación de logotipo/ bloque de marca (logotipo del usuario)logo-outro / rules/svg-path-draw
lower-thirdsbarras de nombre/ título, llamadas, superposiciones socialescaption-* + bloques de superposición del registro
mapsmovimiento geográfico — resaltar regiones, conectar lugares, acercar a una ubicación (carril vectorial o de mapa base horneado)familia us-map / world-map + bake-basemap.mjs

Categorías impulsadas por búsqueda — buscar primero, luego animar por tipo de contenido (la ruta RWA):

Contenido devueltoCategoríaAnimación
página web/ enlacewebpageanimación de página web/ UI (desplazamiento, revelación, cursor, llamadas)
artículo de noticiasnewsrevelación de titular + tarjeta de fuente + llamadas de datos clave
tweettweettarjeta de tweet animada
imagen/ entidadasset-fusionla geometría del activo se convierte en el gráfico (fusión diegética RWA)

Orden de construcción: uno a la vez, priorizando la cobertura (lo aproximado está bien). kinetic-type portado del prototipo; el resto sigue.

Prerrequisitos

macOS Apple Silicon o Linux x64. Herramientas del sistema: brew install node ffmpeg. npx hyperframes doctor una vez. Renderizado con GPU macOS: export PRODUCER_BROWSER_GPU_MODE=hardware.

Claves opcionales (fallos locales si no están configuradas) — solo las necesitan las categorías que obtienen/generan activos a través de media-use:

ClaveUsada paraFallback
GEMINI_API_KEY / GOOGLE_API_KEYgeneración de imágenes (resolución de uso de medios)saltar generación / solo búsqueda
(proveedores de búsqueda/scout de activos)búsqueda de activos reales para webpage/news/tweet + asset-fusionla categoría se degrada a sin activos

Flujo

Paso 0 — Inicializar

El directorio de trabajo actual es la raíz del espacio de trabajo del agente; escribe todos los artefactos bajo PROJECT_DIR = videos/<nombre-del-proyecto>/. <nombre-del-proyecto>: usa el directorio que el usuario proporcionó, si no, un nombre corto en kebab-case a partir de la intención (<asunto>-motion). No el nombre base del espacio de trabajo ni una marca de tiempo.

Solo cuando $PROJECT_DIR/hyperframes.json está ausente:

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

init verifica las habilidades instaladas contra las últimas en GitHub y actualiza el conjunto global si alguna está desactualizada.

Restricciones: nunca ejecutar hyperframes init en la raíz del espacio de trabajo; nunca anidar otro hyperframes/ dentro de PROJECT_DIR; cada comando Bash (maestro + subagentes) es un subshell (cd "$PROJECT_DIR" && ...) — nunca cd simple.

Paso 1 — Planificar (subagente: Director Parte 1)

Despacha un subagente. prompt = contenido completo de agents/director.md + ## Contexto de despacho (SKILL_DIR / PROJECT_DIR / la solicitud del usuario / Schema: <SKILL_DIR>/references/shot-plan-ir.md). Debe:

  1. Decidir: ¿esto necesita una búsqueda? (la primera bifurcación)
    • No → elegir una categoría de formulario (kinetic-type / stat / charts / logo-reveal / lower-thirds); el contenido lo proporciona el usuario; asset_needs: [].
    • Sí → emitir un plan de búsqueda en asset_needs[] (noticias / web / tweet / imagen; consultas bipolares). La categoría impulsada por búsqueda específica (webpage / news / tweet / asset-fusion) se confirma por el tipo de contenido devuelto en el Paso 2, y se finaliza en el Paso 3.
  2. Escribir un borrador de shot-plan.json (envoltura + categoría de formulario elegida o intención de búsqueda + asset_needs + un resumen de la escena de un párrafo). Esquema: references/shot-plan-ir.md.

Validación: [ -s "$PROJECT_DIR/shot-plan.json" ] && echo ok || echo missing.

Paso 2 — Obtener ◇ (Bash: media-use, condicional)

Si shot-plan.json.asset_needs no está vacío, resolver activos (buscar / generar / obtener → rutas congeladas locales del proyecto + registro). Ver phases/source/guide.md (envuelve media-use resolve; las categorías impulsadas por búsqueda usan la búsqueda de noticias/web/tweet/imagen). Si asset_needs está vacío, saltar al Paso 3.

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

Degradar elegantemente: si un proveedor de búsqueda no está disponible, la categoría vuelve a la versión sin activos (anótalo en context.log).

Paso 3 — Diseñar (subagente: Director Parte 2)

Despacha un subagente (prompt = agents/director.md Parte 2 + contexto de despacho incluyendo el assets/index.md resuelto si el Paso 2 se ejecutó + catalog-map.md). Diseña la escena en torno a los activos disponibles: elige el/los bloque(s) del catálogo + las reglas/planos de hyperframes-animation, el diseño, el movimiento, los tiempos y (para asset-fusion) las element_positions + la paleta de cuentagotas. Finaliza shot-plan.json (content.block + content.customize + contenido por categoría).

Paso 4 — Construir (subagente: Constructor, priorizando reutilización)

Despacha un subagente. prompt = contenido completo de agents/builder.md + contexto de despacho (shot-plan.json, catalog-map.md, el module.md de la categoría, references/motion-vocabulary.md, references/builder-contract.md). Priorizar reutilización: npx hyperframes add <bloque> + personalizar en el lugar; escribir a mano solo los huecos + la capacidad de fusión de activos. Salida compositions/index.html respetando el contrato HF (línea de tiempo GSAP en pausa en window.__timelines, class="clip" + ids estables, tl.seek(0), determinista).

Paso 5 — Verificar (Bash → subagente de reparación en caso de fallo)

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

Elige tiempos de prueba que muestren el estado inicial, el movimiento característico y la pausa final. Inspecciona la hoja de contactos o instantáneas generada antes de continuar. En caso de fallo de lint, check o instantánea, despacha el subagente de reparación (agents/finalize.md) para una sola pasada de corrección en el lugar, luego vuelve a ejecutar la compuerta fallida. Nunca cambies una duración fija solo para ocultar un defecto.

Paso 6 — Aprobar y renderizar (Bash)

Haz una pregunta: “¿vista previa primero o renderizar?” Si el usuario elige vista previa, abre Studio y regresa a la misma compuerta de aprobación después de las revisiones:

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

Renderiza solo después de una respuesta explícita de renderizado:

(cd "$PROJECT_DIR" && npx hyperframes render . --skill=motion-graphics -q high -o ./renders/video.mp4)
# variante con superposición transparente: --format webm (o mov)

Verifica que la salida exista, no esté vacía y tenga la duración prevista. La entrega final nombra el artefacto, la duración real, el ID de la composición o fotograma, los tiempos de prueba y la hoja de contactos o instantáneas inspeccionada. Las banderas están en /hyperframes-cli → references/preview-render.md.

Tabla de reanudación

EstadoContinuar desde
sin shot-plan.jsonPaso 1 (planificar)
shot-plan.json tiene asset_needs, sin assets/Paso 2 (obtener)
shot-plan.json final, sin compositions/index.htmlPaso 3/4 (diseñar+construir)
compositions/index.html existe, faltan capturas de pruebaPaso 5 (verificar)
comprobaciones y capturas de prueba pasan, sin renderizado aprobadoPaso 6 (aprobación)
el renderizado aprobado existeverificar salida, luego informar

Notas de diseño (mantenedores — la ejecución no lee esto)

  • Razón de "primero los activos": la obtención se carga al principio e informa el diseño de la escena (el flujo RWA: analizar → buscar → revisar → componer). Las categorías impulsadas por búsqueda (webpage/news/tweet) y asset-fusion se apoyan en la búsqueda de media-use (noticias/web/tweet/imagen), que es el linaje RWA documentado de media-use.
  • Priorizar reutilización: el análogo en el ecosistema de las plantillas generadas por LLM es "componer utilizando bloques

[truncado para la traducción]

Individual skills in this repo

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

Drama2557/4RealDigital-Video-Studio

Overlay doctrine for the embedded-captions workflow — the caption MODEL (drop / rail / embed) and the rule that captions are an OVERLAY composited on top of the film, never a reserved bottom band you shift content up to avoid. Load when adding captions/subtitles to a talking-head or launch video, when deciding whether a phrase should be dropped, ride the verbatim rail, or be promoted to a scarce embedded climax, when laying out a composition that will carry captions (do NOT reserve a keep-out band), or when centering a composition on the true frame center under captions. Quotes the rail+embed model from embedded-captions and constraint #13 (captions overlay, keep-out band retired) from the product-launch-video scene agent. Applies ON TOP of embedded-captions.

Drama2557/4RealDigital-Video-Studio

Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations, lowkey captions). Use when the user provides a changelog/digest markdown and wants the weekly video, or says "changelog video". Self-contained — fonts, background, lexicon, and scripts ship in this skill.

Drama2557/4RealDigital-Video-Studio

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]

Drama2557/4RealDigital-Video-Studio

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet `anchor` rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Drama2557/4RealDigital-Video-Studio

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.

Drama2557/4RealDigital-Video-Studio

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.

Drama2557/4RealDigital-Video-Studio

Author or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-graphics instead for a short unnarrated motion-first unit, including an animated title. Route fresh creation through hyperframes before using this skill.

Drama2557/4RealDigital-Video-Studio

Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. Also use when diagnosing build or render failures. validate, inspect, and layout are deprecated aliases; use check. Covers local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering.

Drama2557/4RealDigital-Video-Studio

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. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.

Drama2557/4RealDigital-Video-Studio

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

Drama2557/4RealDigital-Video-Studio

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

Drama2557/4RealDigital-Video-Studio

Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, brand logo, voice, color grade, or LUT into a frozen local file or paste-ready block + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Also use for vague feedback that real footage looks dark, flat, boring, should feel retro/camcorder/print/ASCII, needs privacy, or needs a media reveal.

Drama2557/4RealDigital-Video-Studio

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]

Drama2557/4RealDigital-Video-Studio

Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

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.

Drama2557/4RealDigital-Video-Studio

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

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.

Drama2557/4RealDigital-Video-Studio

Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on "graphic overlays", "on-screen graphics", "package / dress up my video". Not plain subtitles (/embedded-captions). Unclear → /hyperframes.

Drama2557/4RealDigital-Video-Studio

Agent skill / project related to launch or product demo video: Drama2557/4RealDigital-Video-Studio

Skills relacionados