Communitygithub.com

Drama2557/4RealDigital-Video-Studio

Convierte un changelog semanal en .md en un video de changelog con marca (1080 cuadrado, ~45-60 s, voz de Annie, fondo animado de marca, visualizaciones tipo mock-UI, subtítulos discretos). Úsalo cuando el usuario proporcione un changelog/resumen en markdown y quiera el video semanal, o diga «video de changelog». Autocontenido: fuentes, fondo, léxico y scripts incluidos en esta habilidad.

¿Qué es 4RealDigital-Video-Studio?

Esta habilidad transforma un changelog semanal en un video finalizado con marca, listo para publicar en redes. Está diseñada para el ecosistema HyperFrames, pero puede adaptarse a otros repositorios. El flujo comienza con la copia de activos (fuentes, música de fondo, patrón de fondo animado) desde el directorio de la habilidad, garantizando que cada proyecto herede la identidad visual correcta. Luego, el changelog se analiza y se edita para cumplir con un presupuesto de 45 a 60 segundos, priorizando un máximo de 3 elementos hablados por tema. Cada tema se visualiza mediante un mock animado de la interfaz de usuario real o un análogo fiel, en lugar de viñetas de texto. Se genera un guion de dos capas (oral vs. visual) usando un léxico para la pronunciación técnica y se produce el audio con la voz de Annie (HeyGen). Los subtítulos se sincronizan automáticamente y se integran en el andamio HTML. Finalmente, se aplican múltiples compuertas de verificación: lint, sellado de costuras, presencia de subtítulos y revisión de fotogramas, todo antes de ofrecer el resultado o renderizar solo si el usuario lo solicita.

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

Preguntar en tu IA favorita

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

Documentación

Changelog → Video con Marca

Entrada: un changelog .md (temas + elementos, como el resumen semanal de HyperFrames). Salida: un proyecto HyperFrames limpio y verificado en projects/active/weekly-changelog-<rango>/. Renderiza solo cuando se solicite.

Carga obligatoria e innegociable: motion-doctrine (+ cut-the-curve, oversized-cursor si aparece un cursor, seam-craft) y captions-overlay. Esta habilidad proporciona la cadena específica del changelog; la doctrina proporciona la ley de movimiento.

Directriz principal: visualizar, no enumerar

Cada tema se ilustra con un mock animado de la interfaz real o un análogo fiel que representa el cambio en la experiencia, nunca con viñetas de texto. Enruta cada tema/elemento a través de references/visualization-registry.md ANTES de escribir el guion; el registro decide entre ui-recreate / ui-analog / terminal / checklist. La lista de verificación de texto es el último recurso, reservado para elementos genuinamente no visuales (listas de correcciones de fiabilidad).

Cadena

0 · Inicializar el proyecto DESDE los activos de ESTA habilidad - innegociable

Haz esto antes de escribir cualquier composición HTML. Omitirlo siempre produce un video que se parece a un proyecto similar que construiste antes, NO a la marca de esta habilidad; esa es la forma más común de que esta habilidad se desvíe de la marca. Los activos, fuentes y andamio de la habilidad SON la habilidad; el prompt de SKILL.md es un enrutador.

mkdir -p project/assets/fonts
cp <SKILL_DIR>/assets/fonts/*.woff2 project/assets/fonts/
cp <SKILL_DIR>/assets/bgm.mp3 project/bgm.mp3
ffmpeg -y -stream_loop 15 -i <SKILL_DIR>/assets/bg-pattern.mp4 -t <TOTAL> \
  -vf "scale=1080:1080,fps=30,eq=saturation=0.72,[email protected]:t=fill" \
  -an -c:v libx264 -crf 20 -pix_fmt yuv420p project/assets/bg-pattern-<TOTAL>s.mp4
cp <SKILL_DIR>/examples/master-skeleton.html project/index.html

Luego lee references/build-spec.md de principio a fin (no lo hojees) - define los tokens de marca (TT Norms Pro + ABC Solar Display + TT Norms Mono, crema #f5f6f4, verde racionado #5ef17c, tarjetas de vidrio con bordes verdes, forma de píldora kicker/sec-chip, carril de subtítulos de 32px en top: 990) que cada escena hereda del andamio.

Solo ENTONCES comienza los pasos 1-6 a continuación. Los pasos 1-4 (analizar, enrutar, guion, VO) planifican lo que va al andamio; el paso 5 rellena los marcadores de posición (<RANGE>, <TOTAL>, <CUT_N>, <DUR_N>, cuerpos de escena) dentro de project/index.html ya copiado - NO reescribes el cromo, fuentes, paleta o capa de diseño del andamio.

Si te sorprendes usando cp en el index.html de un video anterior, o escribiendo tus propias declaraciones @font-face, o diseñando un fondo de sombreado WebGL en lugar de usar el bg-pattern MP4 codificado anterior: DETENTE. Elimina el index.html actual y reinicia desde el cp del andamio master-skeleton. Reconstruir el contenido de la escena sobre el andamio correcto es más barato que adaptar la marca a un andamio incorrecto.

1 · Análisis + corte editorial

  • Extraer: rango de semana, estadísticas principales (lanzamientos, commits), temas, elementos.
  • Presupuesto: 45-60s en total. Título ≤2s, outro ≤3.5s, 4 temas ≈ 9-12s cada uno.
  • Por tema, mantén UNA visualización principal + como máximo 3 elementos hablados. Todo lo demás existe solo como el puntero de "resumen completo" en el outro. Cortar es el trabajo: un changelog con 30 elementos aún produce ≤14 compases hablados.
  • Ordena los temas por historia: función destacada → superficie del producto → rendimiento → fiabilidad (el resumen generalmente ya se lee de esta manera).

2 · Enrutamiento de visualización

Para cada tema, elige la superficie de references/visualization-registry.md y escribe una línea: tema → superficie → las 2-4 acciones secuenciadas que realiza el mock, cada una vinculada a una frase del guion. Si ninguna superficie del registro se ajusta y no existe un análogo fiel, es una escena de lista de verificación; no inventes una interfaz falsa para algo que no podemos representar honestamente.

3 · Guion de dos capas (oral vs. visual)

Escribe el guion como líneas de token según references/script-voice.md: registro conversacional, cada término técnico lleva una forma fonética spoken de references/lexicon.json mientras que display mantiene la ortografía estándar. Los subtítulos muestran display; la VO lee spoken. Cualquier término que no esté en el léxico: DETENTE y pregunta al usuario cómo se pronuncia, luego agrégalo al léxico. Guarda como script-tokens.json en el proyecto.

4 · VO — Annie (HeyGen, fija)

# Solo texto de la capa oral; words JSON = marcas de tiempo de referencia del texto HABLADO
# Ruta nativa del repositorio: la habilidad changelog-video se ejecuta desde la raíz del repositorio hyperframes,
# por lo que usa directamente el ayudante TTS de hyperframes-media (sin paso de instalación `npx hyperframes
# skills`). Si has copiado la habilidad en otro repositorio, reemplaza con tu propia ruta al
# heygen-tts.mjs de media-use / hyperframes-media.
node skills/hyperframes-media/scripts/heygen-tts.mjs ./vo-spoken.txt \
  -o voiceover.mp3 --words vo-words.json \
  --voice 330290724a1b470fb63153f34d4c0183   # Annie — realista (no sustituir)

Requiere la CLI heygen ≥0.3.0 autenticada (heygen auth login --oauth). Luego alinea las marcas de tiempo habladas con los tokens visuales:

node <SKILL_DIR>/scripts/align-captions.mjs \
  --tokens script-tokens.json --words vo-words.json --out captions.json

captions.json es la entrada del carril de subtítulos (ortografía visual, sincronización hablada). El alineador imprime advertencias MISMATCH: resuelve cada una antes de construir (generalmente una ortografía del léxico que el TTS renderiza como múltiples palabras). El audio es el reloj: todos los tiempos de compás provienen de vo-words.json; una regeneración de VO reabre cada costura.

Las sincronizaciones de palabras son una puerta estricta. Antes de pasar al paso 5, verifica que vo-words.json no esté vacío y tenga un array words: [...] con start/end por palabra. Si está vacío (0 bytes) o falta el array (un modo de fallo conocido cuando el proveedor TTS devuelve audio pero no carga útil de marcas de tiempo), NO CONTINÚES sin ellas. Plan de contingencia: alineación forzada del audio producido contra el guion visual usando whisper local:

uvx --from openai-whisper whisper voiceover.mp3 \
  --model base.en --language en --word_timestamps True \
  --output_format json --output_dir .
# luego ejecuta align-captions.mjs con --words voiceover.json (misma forma)

Whisper malinterpreta las representaciones TTS ("gee-sap" → "gsap", "heyjen" → "hey Jen", etc.) — los subtítulos aún usan la ortografía VISUAL de script-tokens.json; whisper solo proporciona las marcas de tiempo. align-captions.mjs maneja la unión. Este plan de contingencia es la diferencia entre una compilación con subtítulos y una sin subtítulos en silencio.

5 · Construcción

Sigue references/build-spec.md exactamente: tokens de marca + fuentes (incluidas en <SKILL_DIR>/assets/), la codificación del fondo animado, andamio de escenas, cromo, carril de subtítulos, un momento de verde racionado por escena. Luego el orden de la doctrina: ledger.json (todas las costuras ordinarias cortadas a la izquierda) → sello de costura → compases internos en palabras de VO → verificación de puerta de costura.

Los subtítulos no son opcionales. El master-skeleton incluye una IIFE de carril de subtítulos que lee un array LINES — dejar ese array vacío es un error de envío, no una elección de estilo. Complétalo desde captions.json antes de pasar al paso 6:

// pegar en lugar de "const LINES = /* … */ []" en la IIFE del carril de subtítulos:
const LINES = /* contenido de captions.json */ [
  { id: 0, end: 2.74, w: [["This", 0.0], ["week,", 0.30], …] },
  …
];

Si align-captions.mjs se omitió o LINES está [], la comprobación de fotogramas en el paso 6 fallará — no lo ocultes eliminando #cap-line del andamio.

6 · Puertas (todas en verde antes de presentar)

  1. bun run --cwd packages/cli hyperframes check (o la CLI hyperframes instalada desde la habilidad skills/hyperframes-cli/ del repositorio local) — 0 errores (contraste: texto oscuro ≥ .66 de alfa). NO uses npx hyperframes@latest; la CLI local del repositorio es la fuente de verdad para el contrato de composición que esta habilidad produce.
  2. seam-gate.mjs verify — 0 fallos.
  3. Reinicia el servidor de vista previa (almacena en caché el paquete), verifica 3-4 compases mediante __player.seek en la página de composición sin procesar.
  4. NO renderices a menos que el usuario lo solicite. Después de un render solicitado, verifica los fotogramas del MP4 (ffmpeg -ss <t> … -frames:v 1): subtítulos presentes, video de fondo no negro, sin fotogramas pequeños o congelados.
  5. Puerta de presencia de subtítulos — fallo estricto. Muestra 3-4 fotogramas distribuidos en la ventana hablada de la VO (por ejemplo, t=3, t=15, t=30, t=42 para una VO de 48s) y confirma que el carril de subtítulos en top: 990 renderiza texto visible en cada uno. Si algún fotograma en un intervalo hablado carece de subtítulos, la compilación se envía sin subtítulos: trátalo como una puerta roja y vuelve a verificar la población de LINES del paso 5. Esto es exactamente lo que salió mal en la compilación v4 del 13-20 de julio.

Diseño del proyecto

projects/active/weekly-changelog-<rango>/
├── index.html            # documento maestro único (escenas como diapositivas, costuras selladas)
├── ledger.json           # libro mayor de vectores (entrada para el sello de costura)
├── script-tokens.json    # guion de dos capas (fuente de verdad para VO + subtítulos)
├── vo-spoken.txt         # generado: capa oral, una línea
├── voiceover.mp3 + vo-words.json + captions.json
├── bgm.mp3               # copia de <SKILL_DIR>/assets/bgm.mp3 (la pista base) a menos que el usuario proporcione una
└── assets/fonts/ + assets/bg-pattern-<dur>s.mp4

Anti-patrones

No hagasEn su lugar
Diapositivas con viñetas para cambios de interfazMock de la superficie interpretando el cambio
Interfaz falsa para elementos no representablesEscena honesta de lista de verificación
Texto "JSON"/"CLI" simple en el texto TTSFormas habladas del léxico; la visual se mantiene estándar
Ortografías fonéticas en los subtítulosLos subtítulos siempre renderizan la capa visual
Adivinar la pronunciación de un término desconocidoPreguntar, luego ampliar el léxico
Hablar cada elemento del changelog≤3 por tema; el enlace del resumen lleva el resto
Acentos verdes en todas partesUn momento verde por escena (#5ef17c)
Comenzar desde el index.html de un video anteriorPaso 0 — copia examples/master-skeleton.html de esta habilidad a project/index.html, siempre
@font-face / sombreador WebGL / BGM personalizados hechos a manoPaso 0 — copia assets/ de esta habilidad textualmente; los activos de la habilidad SON la marca
Entregado sin invalidación de CloudFrontEjecuta aws cloudfront create-invalidation en la distribución E2BSLVSZ7FG3U0 para la ruta exacta después de cualquier reemplazo en S3 — la CDN almacena en caché el archivo antiguo de lo contrario
Enviar con el array LINES vacío en el andamioEl paso 4 debe producir un captions.json poblado; el paso 5 debe pegarlo en la IIFE; la puerta 5 del paso 6 debe confirmar subtítulos en los fotogramas renderizados. Un LINES vacío = envío sin subtítulos = rehacer la ejecución
Sin vo-words.json → omitir subtítulos y enviar de todos modosRecurrir a la alineación forzada de whisper en el audio producido; los subtítulos no son opcionales

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

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

A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.

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