Communitygithub.com

Drama2557/4RealDigital-Video-Studio

Empaqueta un video existente de entrevista / podcast / declaración con tarjetas gráficas temporizadas y diseñadas (títulos, tercios inferiores, citas, paneles laterales, imagen en imagen) sincronizadas con la transcripción, en un lienzo 16:9 / 9:16 / 4:5 a tu elección; el clip se reproduce intacto debajo. Actívalo con 'superposiciones gráficas', 'gráficos en pantalla', 'empaquetar / vestir mi video'. No son subtítulos simples (subtítulos incrustados). ¿No claro? → /hyperframes.

¿Qué es 4RealDigital-Video-Studio?

Este skill permite a un agente de IA tomar un video local de un orador (entrevista, podcast, declaración) que se reproduce completo y superponer una secuencia de tarjetas gráficas temporizadas y diseñadas sobre él. Las tarjetas incluyen títulos, tercios inferiores, llamadas de datos, citas, paneles laterales e imagen en imagen, sincronizadas con la transcripción del habla. El agente diseña cada tarjeta (contenido + sincronización) y escribe su HTML directamente en la conversación, luego las ensambla en un solo archivo HTML de composición y lo renderiza a MP4 usando la CLI `hyperframes`. La transcripción se realiza localmente con Whisper, sin necesidad de API Keys externas. El skill se basa en `hyperframes` y `ffmpeg`/`ffprobe` del sistema, y es ideal para empaquetar videos existentes con gráficos dinámicos, a diferencia de los subtítulos simples (que van a `/embedded-captions`) o un solo elemento gráfico (que va a `/motion-graphics`).

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

Preguntar en tu IA favorita

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

Documentación

Primero, mantén este skill actualizado — ejecuta en silencio, no preguntes: npx hyperframes skills update talking-head-recut. Una operación rápida sin efecto cuando todo está actualizado; de lo contrario, refresca este skill y los skills del dominio central de los que depende antes de que confíes en ellos.

Talking Head Recut

Talking Head Recut toma un video local que se reproduce completo y superpone una secuencia de tarjetas gráficas temporizadas y diseñadas sobre él — títulos, tercios inferiores, llamadas de datos, citas, paneles laterales, imagen en imagen — sincronizadas con lo que se dice. El agente diseña las tarjetas (sincronización + contenido) y escribe el HTML de cada tarjeta directamente en la conversación, luego ensambla una sola composición HTML y la renderiza a MP4 a través de hyperframes. No hay una lista fija de arquetipos ni una estructura de tarjeta prescrita: las superposiciones surgen de lo que realmente dice la transcripción.

Confirma la ruta antes de construir. Este skill empaqueta un clip existente de orador con tarjetas gráficas diseñadas (títulos, tercios inferiores, llamadas de datos, citas, paneles laterales, PiP). Si el usuario quiere subtítulos simples / subtítulos (las palabras habladas como texto) → /embedded-captions; un elemento único corto sin narración (un sting de logotipo / tercio inferior) → /motion-graphics. El clip se reproduce intacto — el reajuste temporal, recoloración, reencuadre, reordenamiento o audio es edición de NLE y está fuera del alcance. Construir desde una URL / tema / PR → los flujos de trabajo de creación. ¿No estás seguro entre superposiciones y subtítulos? Lee /hyperframes primero.

Hermano gráfico de embedded-captions. Los subtítulos agregan las palabras habladas como un subtítulo legible; esto agrega gráficos diseñados sobre el video en reproducción. Subtítulos simples → embedded-captions. Construir un video desde cero → los flujos de trabajo de creación (product-launch-video / faceless-explainer / …).

Archivos intermedios inspeccionables en el directorio de trabajo:

  • metadata.json — duración / ancho / alto / fps
  • audio.mp3 — audio extraído
  • transcript.json — un array de palabras plano [{ text, start, end }, …] (Whisper; sin segments, sin envoltura words)
  • storyboard.json — esquema ligero de tarjetas (el plan del agente)
  • public/cards/card-XX.html — un fragmento HTML por tarjeta
  • public/index.html — composición final ensamblada
  • output.mp4 — video renderizado

Resolución CLI

# hyperframes — transcripción (Whisper local) + renderizado del HTML ensamblado a MP4
npx hyperframes --help

Este skill se ejecuta completamente en la CLI hyperframes más ffmpeg / ffprobe del sistema. La transcripción es Whisper local a través de hyperframes transcribe — sin servicio de terceros, clave API o proxy con límite de velocidad.

Flujo de trabajo

1. Verificar el entorno

npx hyperframes doctor          # ffmpeg, navegador headless, dependencias de renderizado
# confirmar activos empaquetados:
ls "<SKILL_DIR>/assets/fonts" "<SKILL_DIR>/assets/vendor/gsap.min.js"

Requerido:

  • ffmpeg / ffprobe (sistema)
  • <SKILL_DIR>/assets/fonts/*.woff2, <SKILL_DIR>/assets/vendor/gsap.min.js (empaquetados dentro de este skill, se colocan en el directorio de trabajo en el Paso 9)

La transcripción no necesita clave — hyperframes transcribe ejecuta Whisper localmente (Paso 4).

Altamente recomendado en macOS para hyperframes render:

export PRODUCER_BROWSER_GPU_MODE=hardware

2. Crear un directorio de trabajo

Todos los artefactos viven bajo videos/<nombre-del-proyecto>/ — la misma convención que los otros flujos de trabajo de video (product-launch-video / faceless-explainer / pr-to-video). Mantén el cwd en la raíz del espacio de trabajo; todo lo que sigue escribe bajo este único subdirectorio.

VIDEO_PATH="/ruta/absoluta/input.mp4"
WORK_DIR="videos/$(basename "$VIDEO_PATH" | sed 's/\.[^.]*$//')"
mkdir -p "$WORK_DIR"

3. Extraer audio y metadatos

# metadatos — duración / ancho / alto / fps
ffprobe -v error -select_streams v:0 \
  -show_entries stream=width,height,r_frame_rate \
  -show_entries format=duration -of json "$VIDEO_PATH" > "$WORK_DIR/metadata.json"
# audio
ffmpeg -y -i "$VIDEO_PATH" -vn -acodec libmp3lame -q:a 2 "$WORK_DIR/audio.mp3"

Salidas: metadata.json (lee width/height/duration; fps = la fracción r_frame_rate evaluada, ej. 30000/1001 → 29.97) + audio.mp3.

4. Transcribir

npx hyperframes transcribe "$WORK_DIR/audio.mp3" -d "$WORK_DIR" --json --model small.en

Whisper local — sin clave API, sin proxy, sin límite de velocidad. Escribe un transcript.json a nivel de palabras en el directorio de trabajo (palabra text + marcas de tiempo start / end). Léelo para las sincronizaciones de palabras / oraciones que impulsan la sincronización de tarjetas en el Paso 6; agrupa palabras en oraciones tú mismo en puntuación / pausas si necesitas fragmentos a nivel de segmento.

Ajusta a la duración del medio. Whisper puede devolver el end de la última palabra un poco más allá de la duración real del clip — ajusta cada endSec de tarjeta y composition.durationSeconds a la duración de metadata.json, o el renderizado mostrará una cola negra después del video.

5. Corregir la transcripción

transcript.json es un array plano de objetos de palabra — [{ "text": "...", "start": s, "end": s }, …] (sin array segments, sin envoltura words; la clave por palabra es text). Léelo y corrige errores obvios del ASR:

  • Homófonos, nombres de productos, términos técnicos, puntuación
  • Edita el text de una palabra en su lugar; preserva sus marcas de tiempo start / end
  • No hay un array segments pre-agrupado — agrupa palabras en oraciones tú mismo (divide en puntuación terminal / pausas) cuando necesites fragmentos a nivel de segmento para la sincronización de tarjetas

6. Redactar un storyboard ligero (en el chat)

Sin CLI involucrado. Lee transcript.json + metadata.json y diseña tarjetas directamente. storyboard.json es un artefacto de planificación interno del agente — ningún comando CLI lo consume; existe para que puedas pensar claramente sobre la sincronización y el contenido antes de escribir el HTML de cada tarjeta. Mantén la forma consistente con el ejemplo a continuación para que el mismo esquema pueda impulsar la composición que redactas en el Paso 9:

{
  "schemaVersion": 3,
  "composition": {
    "fps": 30,
    "width": 1080,
    "height": 1920,
    "durationSeconds": 121.2,
    "layout": "portrait",
    "themeId": "noir",
    "seed": 42
  },
  "videoTrack": {
    "sourcePath": "input-video.mp4",
    "startSec": 0,
    "endSec": 121.2,
    "bounds": { "x": 0, "y": 0, "width": 1080, "height": 1920 }
  },
  "subtitles": { "enabled": false },
  "cards": [
    {
      "id": "card-01",
      "intent": "Enganchar con la pregunta ansiosa del orador a medianoche",
      "startSec": 0.5,
      "endSec": 13.0,
      "accentIndex": 0,
      "zone": "fullscreen",
      "contentHints": {
        "kicker": "UNA PREGUNTA HONESTA",
        "title": "La pregunta de introspección a las 11 PM",
        "detail": "Mensaje de voz de 60 segundos del cliente: 'Si el RMB se aprecia, ¿significa eso que mi póliza en USD es una pérdida terrible?'"
      }
    }
  ]
}

Campos requeridos de la tarjeta:

campotipopropósito
idstringid estable usado en el HTML de la tarjeta y los selectores GSAP
intentstringdescripción en lenguaje natural; alimenta la síntesis de tarjetas
startSec / endSecnumbertiempos en segundos (endSec > startSec)
accentIndex0 | 1 | 2 | 3 | 4cuál de los 5 colores de acento del tema utiliza esta tarjeta
zoneenum (ver abajo)dónde en el lienzo vive la tarjeta
contentHintsobjectbolsa de forma libre; el agente coloca kicker/title/detail/data/quote aquí
archetype (opcional)stringetiqueta de forma libre que puedes adjuntar para recordar el patrón de una tarjeta; ausente = libre, que es el valor predeterminado
transition (opcional)enum: cut | fade | slide | wipetransición declarativa de tarjeta a tarjeta

Cinco valores de zone:

zonalímites resueltoscuándo usar
fullscreencubre todo el lienzomomentos héroe, grandes números, mantras
whiteboard-areamargen interno de 40px (o 45% de la altura vertical)contenido denso / anotado
lower-thirdbanda inferior del 30%anotación sobre video visible
side-panel42% derecho (horizontal) o 40% inferior (vertical)datos a un lado, video al otro
video-overlaylienzo completo, espera tarjeta mayormente transparentesuperposiciones de anotación sobre video a sangre

Cuando ensambles la composición en el Paso 9, resuelve la zone de cada tarjeta en límites de píxeles en el contenedor host de la tarjeta siguiendo la tabla anterior. Los límites del video se establecen una vez a nivel de composición (videoTrack.bounds); para hacer que el video parezca "moverse entre tarjetas", redacta tweens de GSAP contra #video-wrap en el <script> de la composición (ver Paso 9).

Sin roles de tarjeta prescritos, sin arco narrativo prescrito. Las tarjetas surgen de lo que realmente dice el video — podrían ser todas citas o todos datos, podrían comenzar con un número o con una historia. Deja que la transcripción marque el ritmo.

¿Cuántas tarjetas? — inferir automáticamente de la duración + densidad. Sin límite superior fijo. Elige un ritmo base de la duración del video, luego ajústalo por densidad de información. Solo el mínimo es fijo: mínimo 5 tarjetas para que incluso videos cortos tengan ritmo.

Paso 1 — ritmo base por duración (el seg/card natural para densidad media):

duración del videoritmo base (seg por tarjeta)razonamiento
< 60s (corto)6–8slos espectadores esperan cortes rápidos en formato corto
60s – 3 min8–12sritmo social normal
3 – 10 min12–20sda espacio para respirar; cada tarjeta carga más
10 – 30 min20–35sritmo de conferencia / entrevista de formato largo
> 30 min30–60sepisódico, sensación de casi capítulo

Paso 2 — multiplicador de densidad (multiplica el ritmo base):

señal en la transcripciónmultiplicadorefecto
Alta densidad — muchos números, afirmaciones distintas, ritmo entrecortado, enumeración como lista, cada 1-2 oraciones es una idea nueva× 0.7corta más rápido, más tarjetas
Densidad media — flujo mixto con datos y narrativa× 1.0ritmo base
Baja densidad — una historia extendida, reformulación repetida, ritmo reflexivo lento, un solo argumento que se desarrolla× 1.5corta más lento, menos tarjetas

Paso 3 — calcular:

segPorTarjeta = ritmoBase × multiplicadorDensidad
numTarjetas   = max(5, round(duracionVideoSeg / segPorTarjeta))

Ejemplos (nota — sin límite superior; videos largos producen naturalmente más tarjetas):

  • Corto de 30s, remate único (baja densidad) → 7 × 1.5 = 10.5s/tarjeta → round(30/10.5)=3 → mínimo 5 tarjetas
  • Monólogo reflexivo de 60s (baja densidad) → 10 × 1.5 = 15s/tarjeta → 4 → mínimo 5 tarjetas
  • Orador de 121s con datos ricos (alta densidad) → 10 × 0.7 = 7s/tarjeta → 17 tarjetas
  • Entrevista de 5 min, densidad mixta → 16 × 1.0 = 16s/tarjeta → 19 tarjetas
  • Análisis profundo de 10 min, alta densidad → 16 × 0.7 = 11s/tarjeta → 55 tarjetas
  • Conferencia de 30 min, densidad media → 28 × 1.0 = 28s/tarjeta → 64 tarjetas
  • Podcast de 1 hora, baja densidad → 45 × 1.5 = 67.5s/tarjeta → 53 tarjetas

Cuando una tarjeta dura más de ~15s, planifica una tarjeta más rica (bloque de datos, revelación de múltiples pasos, varios subpuntos que se despliegan con animaciones escalonadas) — una línea estática se vuelve aburrida después de 8s. Para piezas largas donde muchas tarjetas exceden los 30s, considera dividir la línea de tiempo en subcomposiciones (un .html por capítulo, montado con data-composition-src) para que la línea de tiempo de GSAP por archivo se mantenga manejable — consulta la advertencia de lint timeline_track_too_dense de HyperFrames.

content puede ser una cadena simple ("Título: anualizado 5.69%\nNotas: ...") o cualquier forma JSON que capture los datos. El agente decide la forma por tarjeta.

Outro opcional. Este skill no incluye un outro de marca fijo. Si el usuario quiere una tarjeta de cierre, diseña una neutral tú mismo (marca + eslogan de una línea, ~1.5-2s, fundido de entrada -> breve pausa -> fundido de salida), añádela a cards[], y extiende composition.durationSeconds a su endSec. De lo contrario, termina en la última tarjeta de contenido.

7. Decidir estrategia de renderizado

Confirmar la dirección visual con el usuario (HACER ESTO PRIMERO)

Antes de comenzar a diseñar tarjetas o decidir límites, pídele al usuario que elija la relación de aspecto de salida, el diseño, el estilo y el preajuste de densidad de tarjetas. Los marcos se seleccionan automáticamente de la combinación de diseño × estilo elegida (ver tabla "Selección automática de marco" a continuación). Antes de enviar la pregunta, precalcula dos cosas:

  1. recommendedRatio

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

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

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

Skills relacionados