Communitygithub.com

RemotionMaster

Dirige, construye y renderiza motion design cinematográfico premium desde código: lanzamientos de películas, videos de productos y funciones, animaciones en bucle para landing pages y redes sociales, stings y revelaciones de logotipos, recorridos de interfaz de usuario, demostraciones de aplicaciones, tipografía cinética, avances, tráileres, intros y clips promocionales.

¿Qué es RemotionMaster?

RemotionMaster es una habilidad de agente de IA diseñada para crear películas y animaciones de nivel profesional utilizando motores basados en código como Remotion 4.0.529 (React) e HyperFrames 0.8.79 (HTML/GSAP). Se diferencia de herramientas simples al tratar cada proyecto como un cortometraje, donde la imagen, el texto y el sonido están orquestados por un único archivo de línea de tiempo maestro. La habilidad impone un riguroso flujo de trabajo de cinco leyes: una idea única y específica del producto, un dispositivo narrativo unificador, un acento cromático con un solo significado, un sistema de movimiento consistente y una verificación final mediante renderizados medidos. Incluye prohibiciones estrictas contra elementos comunes generados por IA como emojis, degradados de múltiples tonos, resplandores y decoraciones sin propósito, fomentando en su lugar una estética limpia, moderna y cinematográfica con alta fidelidad a 60 FPS. El proceso guía a los usuarios desde la creación del brief inicial hasta la entrega final, con comprobaciones de calidad automatizadas (linting) y un bucle de autocrítica sobre los renders. Está especialmente optimizado para formatos como videos de lanzamiento, demostraciones de funciones, bucles UI, animaciones de logotipos y tutoriales de interfaz, con opciones de ritmo calmado (por defecto) y nítido para mayor energía.

Compatible con~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/smasikurr/RemotionMaster/tree/HEAD/.agents/skills/cinetic

Preguntar en tu IA favorita

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

Documentación

cinetic

Estás dirigiendo un cortometraje, no animando una página web. La imagen, el texto y el sonido son un solo sistema gobernado por un único archivo de línea de tiempo, y nada está terminado hasta que se ha renderizado, medido y criticado.

  • Motores. Remotion 4.0.529 (React, basado en fotogramas) es el predeterminado. HyperFrames 0.8.79 (HTML más una línea de tiempo de GSAP en pausa) es la alternativa. La artesanía es independiente del motor; el §7 enumera las reglas que difieren por motor.
  • Números. Cada número aquí es un valor predeterminado probado en trabajos enviados: un punto de partida del que puedes alejarte cuando tengas una razón declarada. No es una ley de la naturaleza.
  • Marca. Cuando el usuario proporciona una marca (colores, fuentes, logotipo, metraje, tono), la marca gana. Los valores predeterminados de gusto cubren las partes que debes inventar.
  • Rutas. Rutas como scripts/render.sh funcionan desde la raíz de la habilidad y también dentro de un proyecto de película, porque scripts/new-film.sh copia cada script en el proyecto. Todos los scripts, excepto los ayudantes internos brand-svg.ts (que brand-kit.sh llama) y hf-preflight.cjs (que hf-finish.sh ejecuta), imprimen --help.
  • Ejemplo práctico. references/worked-example.md recorre Tessel, una película de lanzamiento de 33 s a 1920×1080 y 60 fps, y muestra cada regla a continuación en uso, incluidos los errores. Léelo una vez antes de tu primera película.

El listón

El objetivo es una película que la gente vea dos veces: una idea que el producto posee, contada en imágenes, donde cada fotograma parece elegido y nada está ahí para llenar espacio.

  • Sustancia antes que brillo. Muestra lo específico e inteligente que hace este producto, lo que un producto más simple no haría. Un movimiento impecable alrededor de una afirmación genérica aún pierde frente a una película tosca que hace que el espectador piense "oh, eso es inteligente".
  • Un estilo propio. Cada marca obtiene un lenguaje visual derivado de su nombre, su producto y su personalidad, dentro de las Prohibiciones estrictas a continuación. La moderación significa sin decoración; no significa un estilo minimalista único para todo.
  • Ultra limpio y suave. Fotogramas limpios y modernos, con ideas creativas y coreografía. Cada movimiento está suavizado, ponderado y es fluido a 60 fps: sin tirones, sin saltos y sin efectos que sustituyan a las ideas.
  • Visual, no narrado. La idea se entiende con el sonido apagado; las palabras confirman lo que la imagen ya dijo.
  • Peso y quietud. El movimiento tiene masa, llega al ritmo y luego descansa, para que los momentos rápidos impacten.
  • Sonido que realza la imagen: cada golpe es causado por algo que puedes ver.
  • Contención sobre decoración. Ante la duda, elimina.
  • Prueba, no impresión. El proceso a continuación existe porque nada de esto se puede juzgar en el editor o en el Studio: solo lo sabes una vez que has visto el renderizado real y lo has medido.

Prohibiciones estrictas

Cuando inventes el aspecto, nada de esto aparece nunca. Son los indicios más rápidos de trabajo generado, y esta habilidad existe para hacer películas que no parezcan generadas. lint-film.mjs verifica los tokens y estilos en busca de ellos, y los críticos verifican los fotogramas.

  • Palabras:

    • etiquetas de ceja o pateador encima de un titular;
    • lemas apilados, y "Presentando…";
    • oraciones completas vertidas de una vez: el texto llega en fragmentos cortos, uno tras otro, con imagen entre ellos (§4, "Flujo de texto");
    • muros de texto y texto de relleno aleatorio: subtítulos mono decorativos, métricas falsas, etiquetas que nadie necesita, lorem ipsum.

    Cada palabra en pantalla se gana su lugar.

  • Tipografía: tipos de letra con serifa, y estilos itálicos u oblicuos, incluida una inclinación que simula uno. Usa una sans-serif limpia y moderna, más una mono para código o números si el producto lo necesita.

  • Color:

    • naranja, ámbar, beige, crema, tostado o arena, como acento, papel o resplandor;
    • neón: acentos muy brillantes y saturados, resplandores, floraciones y halos;
    • púrpura, violeta o índigo, y degradados de púrpura a azul o de varios tonos;
    • vidrio esmerilado.
  • Decoración:

    • emojis e iconos de stock;
    • destellos para representar "IA", partículas, confeti, destellos de lente y lluvia de código;
    • rebote exagerado en cualquier cosa que no esté aterrizando, y cualquier rebote o truco por letra en el texto (solo la palabra héroe puede moverse letra por letra).

Lo que queda es suficiente: tinta y papel (claro u oscuro, neutro o frío), un acento con un significado de cualquier familia de tonos fuera de las prohibidas (rojo, verde, cian, azul, amarillo), una sans-serif, y un movimiento ultra limpio y suave, suavizado, ponderado, con desenfoque de movimiento y sin tirones. La creatividad se destina a la idea, el dispositivo y la coreografía, no a los efectos.

Si el usuario proporciona una marca que incluye uno de estos (su logotipo con serifa, su naranja), la marca gana, porque es su identidad en lugar de un valor predeterminado. Regístralo en BRIEF.md para que los críticos no lo marquen, y marca las líneas que lo establecen con // cinetic:brand-supplied <qué> para que el lint las acepte.

1. Formatos y valores predeterminados

Elige una fila primero. Establece la duración, la densidad y la lista de archivos a entregar. La receta para cada formato está en references/formats.md. Los números son el ritmo tranquilo, el predeterminado; un brief que pide energía (un teaser, un lanzamiento, un corte promocional) opta por el perfil nítido (§5), que es más rápido y permite un poco más de texto (fragmentos de hasta 5 palabras, hasta 10 visibles) pero nunca una oración vertida de una vez.

FormatoDuraciónfpsCuadrícula (BPM)Pulsos narrativosPalabras: total · nuevas por fragmento · visibles a la vezSonidoEntregables
Película de lanzamiento / teaser20–45 s60100 (nítido 120)6–8 por 30 s (nítido 8–10)15–25, máx. 30 · ≤ 4 · ≤ 8 (≤ 5 en modo reemplazo)partitura completa + SFX16:9 maestro, 9:16 y 1:1 nuevos diseños, póster, kit de marca si se inventó
Video de producto / función, película de actualización8–30 s601001 capacidad por 8–10 s≤ 12 · ≤ 4 · ≤ 8SFX de IU; tranquilo: efectos solo a -18 LUFS (una cama ligera solo cuando el brief quiere un ritmo)maestro, póster
Bucle de función4–15 s, compases completos60 (GIF 25)cualquiera; compases completos3–5≤ 6, se lee silenciado · ≤ 4 · ≤ 4opcionalMP4, WebM, GIF, unión sin costuras
Sting de logotipo3–8 s60100–1202–4nombre + ≤ 3 · ≤ 3 · nombre + 3un golpe afinado + colaMP4, ProRes 4444 alfa (retenido y limpio), póster, kit de marca si se inventó
Recorrido de IU20–90 s6090–1001 capítulo por 2–4 compases≤ 5 por título · ≤ 4 · un títulocama + SFX de IUmaestro, subtítulos SRT

Usa 60 fps cada vez que la IU, el texto o la cámara se muevan. A 30 fps los movimientos lentos se ven a pasos y los rápidos estroboscópicos, y 24 fps nunca es adecuado para IU. Un GIF es la única excepción: expórtalo a 25 fps (o 50) desde el maestro de 60 fps, porque los retrasos de fotograma GIF son centésimas de segundo enteras y 30 fps reproduce un 11% más rápido.

2. Las cinco leyes

  1. Una idea, específica de este producto. Puedes decir la película en una oración, y la prueba muestra lo que este producto hace que la versión obvia o más simple no haría. La moderación se aplica a la decoración y el texto, nunca a la inteligencia del producto: si la función es inteligente, la película muestra la parte inteligente. Por qué: un espectador se lleva una cosa, y una película que sería igualmente cierta para un competidor, o para una función más tonta, no les da nada que llevarse.
  2. Un dispositivo narrativo. Un objeto, forma o color viaja a través de cada toma y nunca parpadea al desaparecer en un corte. En una película de lanzamiento, idealmente se resuelve en la marca al final; en un bucle de función o video de producto, es la unidad sobre la que actúa el producto (la tarjeta, la fila, el archivo). Encuentra el objeto que este producto posee. Un punto, línea o bloque desnudo es el valor predeterminado perezoso, y también es el aspecto de los propios ejemplos de esta habilidad. Por qué: hace que la película sea continua, permite que se entienda con el sonido apagado, y un objeto propio es lo que hace que la película sea inconfundiblemente de esta marca.
  3. Un acento con un significado. El acento es un solo token que significa una cosa, como "ahora", "nuevo" o "tuyo". Úsalo con moderación (aproximadamente ≤ 8% de los píxeles) y deja que inunde el fotograma como máximo una vez. Por qué: un color que significa algo se lee sin palabras, y un color usado en todas partes no significa nada.
  4. Un sistema de movimiento propio. Usa algunas curvas y resortes nombrados, cada uno por una razón declarada, y toma cada número de fotograma de timeline.ts. Por qué: el movimiento consistente es el movimiento de la marca, y las suavizaciones ad-hoc se leen como generadas.
  5. Verificar mediante medición. Una película está terminada solo cuando los píxeles renderizados y el audio decodificado pasan los scripts y una ronda de crítica. Por qué: la reproducción del Studio oculta pops, fotogramas fantasma, deslizamientos de sincronización y cambios de color que el archivo codificado mostrará.

3. Flujo de trabajo

Cada paso escribe un archivo, y cada puerta es una comprobación que realmente ejecutas. Trabaja en línea. Los subagentes son solo para crítica (§8), porque construir fotogramas en paralelo cuesta más tiempo del que ahorra.

Paso 0: Recepción → BRIEF.md

  • Si el brief ya establece el producto, el mensaje y la duración, infiere todo lo demás y escribe tus suposiciones.
  • Si no, haz como máximo 3 preguntas: el producto en una línea, el formato y la duración, y dónde se mostrará la película. Toma todo lo demás del §1.
  • Elige el motor: Remotion por defecto; HyperFrames si el usuario ya tiene un proyecto HyperFrames, quiere HTML/GSAP, o necesita renders --batch impulsados por variables.
  • Copia las prohibiciones estrictas (arriba) en BRIEF.md, más cualquier excepción proporcionada por la marca. Los críticos luego reciben este archivo palabra por palabra, por lo que duplica el contrato de control de calidad.
  • Elige el ritmo: tranquilo (el predeterminado) a menos que el brief pida energía; escríbelo en la línea de especificación. Nítido es una opción explícita (§5).
  • Prepara el proyecto: bash <skill>/scripts/new-film.sh films/<nombre> --fps 60 --size 1920x1080 [--engine hyperframes]. Mantiene el tempo propio del iniciador (Remotion 100 BPM, HyperFrames 120) y el ritmo tranquilo; añade --pace crisp para una película nítida (120 BPM y el ritmo nítido), o --bpm N para otro tempo. Pasa --link-modules <dir>/node_modules para reutilizar una instalación existente en lugar de ejecutar npm install (un enlace en Windows).
  • Puerta: BRIEF.md tiene una línea de especificación, por ejemplo 1920x1080@60, 30s, 100BPM, pace: calm, audio: earshot kit (calm), no music.

Paso 1: Concepto → TREATMENT.md

Lee references/concept-and-story.md ahora.

  • Comienza desde lo específico, no desde el estilo. Escribe:
    • qué evoca o significa el nombre (a menudo te da la marca y el dispositivo);
    • el comportamiento no obvio de la función, completando la frase "a diferencia de la versión obvia, esto…";
    • los objetos propios del producto (sus filas, tarjetas, lecturas y estados).
  • Escribe 3 conceptos, cada uno a través de una lente diferente:
    • (a) el verbo o metáfora propio del producto hecho literal;
    • (b) el dolor del espectador hecho visible;
    • (c) un dispositivo formal: un objeto de relevo, un encuadre, un movimiento de cámara ininterrumpido, o un contenedor que se convierte en el producto.
  • Descarta cualquier concepto cuyos accesorios podrían aparecer en la película de otro producto. No es tuyo.
  • Saca las técnicas; no las elijas. Ejecuta python3 scripts/pick.py --format <lanzamiento|función|bucle|sting|recorrido|vertical> --energy <tranquila|media|alta> --seconds <duración> --json out/qa/picks.json, con --energy calm a menos que el brief pida energía. Saca aproximadamente una técnica por cada 3.5 s de película cuando está tranquila y por cada 2.5 s en caso contrario (9 o 12 para un lanzamiento de 30 s, al menos 4 para una pieza corta) de la biblioteca medida en assets/library/techniques.json, en el orden que el formato necesita, ponderado hacia movimientos probados y la energía de la película, e imprime cada receta con temporización predeterminada. Elegir a mano converge en el mismo fundido, empuje y tarjeta final en cada película; el sorteo es cómo dos películas dejan de parecerse. Construye las selecciones que el concepto puede soportar, recontadas en sus objetos y dispositivo; la historia, la verdad del producto y un lenguaje de IU consistente vienen primero, y una película que atiborra cada movimiento se lee como un carrete de demostración. Vuelve a tirar una selección que lucha contra el concepto como máximo dos veces (--category <cat> --exclude <id>), o elimínala, con una razón escrita; nunca agregues una técnica que el sorteo no te dio (saca una con --category), y pasa --brand-supplied <aspecto> cuando la marca posea un aspecto prohibido. Lee una entrada extraída en su totalidad con pick.py --show <id>; references/technique-library.md enumera cada entrada (búscala, no la leas completa). Las normas medidas de ritmo, suavización y temporización de texto están en references/craft-rules.md.
  • Rellena assets/TREATMENT.md para el concepto que elegiste:
    • una sinopsis;
    • el arco: gancho (dentro del problema, sentido a 1 s) → giro → prueba (1–2 capacidades) → promesa → cierre;
    • las técnicas extraídas con la línea semilla, cada una colocada en un pulso (§3b de la plantilla);
    • la trayectoria del dispositivo, toma por toma;
    • una hoja de pulsos con las columnas compás | tiempo | imagen | texto (fragmento, modo) | pulso de imagen | sonido: cada pensamiento de más de 4 palabras escrito como una cadena de fragmentos, cada uno con el pulso de imagen que entrega;
    • el texto completo con su recuento de palabras;
    • el fotograma final.
  • Ejecuta la prueba de eliminación. Elimina los pulsos de demostración, y el valor aún debería leerse. Elimina los pulsos de valor; si la película aún "funciona", era un recorrido de funciones.
  • Ejecuta la prueba de especificidad. ¿Sería la película igualmente cierta para un producto más simple, por ejemplo, una división uniforme en lugar de una detallada, o una lista simple en lugar de una clasificada? Si es así, la prueba subestima el producto; muestra la parte que es difícil.
  • Ejecuta la prueba de palabra clave de función. Viéndola sin sonido, ¿usaría un extraño la palabra del brief para la función ("racha", "división")? Si un dispositivo inteligente hace que se lea como otra cosa, mantén la forma familiar de la función y deja que el dispositivo la vista.
  • Puerta:
    • la sinopsis tiene ≤ 15 palabras;
    • la prueba de especificidad pasa, con su respuesta escrita;
    • el recuento de palabras está dentro del presupuesto del §1;
    • cada fragmento tiene 1–4 palabras; ningún pulso muestra más de 8 palabras de texto (5 en modo reemplazo); cada pensamiento de más de 4 palabras es una cadena con un pulso de imagen de 30–90 f entre sus fragmentos, y ninguno llega como un bloque (una película nítida permite 5 palabras por fragmento y 10 en pantalla);
    • el texto está planificado en aproximadamente el 65% del tiempo de ejecución como máximo (80% en nítido), con un tramo de imagen sin texto de al menos 1.5 s en cada 10 s;
    • el dispositivo aparece en cada fila de pulso, y cada técnica extraída está colocada en un pulso o eliminada;
    • los pulsos de prueba de demostración y valor están uno al lado del otro solo si la función es tan inteligente que lo justifica;
    • la línea de especificación en BRIEF.md coincide con las elecciones del §1.

Paso 2: Bloques de construcción → timeline.ts, marca y texto

  • Escribe timeline.ts primero: solo la línea de tiempo del pulso de la película, que es un array de fotogramas con segmentos o un objeto de intervalos como {[bar]: {section, imageDescription, copyFragment, copyMode: 'replace'|'emerge', pictureBeat, sound, camera: {x,y,zoom,...}}}. Cronometra cada pulso desde el BPM de la película y el ritmo elegido: 1 compás = 4 pulsos @ BPM dado en segundos = (60 / BPM) * 4. En el ritmo tranquilo, un pulso dura 1 compás (4/4); en nítido, un fragmento nuevo puede llegar en 1 pulso (un cuarto de compás) para mantener un ritmo más rápido. Anota el número de fotograma de inicio para cada pulso en timeline.ts, por ejemplo, {bar: 1, startFrame: 0, section: 'hook', ...}.
  • Escribe brand-kit.ts (o brand-kit.css para HyperFrames). Si no hay marca, inventa una desde el nombre o el dispositivo: un nombre principal (una sans-serif limpia y moderna) más una mono para código si corresponde; colores: un color de papel (fondo) y un color de tinta (texto), más un acento con significado; un logotipo en SVG; y reglas para la bandeja de entrada de texto (alineación, ancho de columna, interlineado). Sigue la guía de la biblioteca de marcas en references/brand-library.md. Marca cada elección con // cinetic:brand-derived <razón>.
  • Puerta: la marca pasa lint-film.mjs: sin serifa, sin colores prohibidos, sin decoración prohibida, sin más de un acento.

Paso 3: Construcción de fotogramas → código de componentes

  • Construye los componentes React (Remotion) o HTML/GSAP (HyperFrames) para cada pulso. Cada componente recibe el fotograma actual de timeline.ts y renderiza la imagen y el texto del pulso.
  • Usa las curvas de suavización nombradas del sistema de movimiento propio. Cada curva tiene un nombre y una razón: por ejemplo, easeOutCubic para salidas, spring para aterrizajes. Define curvas en src/motion.ts o en un archivo GSAP.
  • Para texto: fragmentos emergen uno tras otro con compases de imagen entre ellos. Usa copyMode: 'replace' para que el texto nuevo reemplace al anterior en el mismo espacio, o 'emerge' para que aparezca uno al lado del otro. Cada fragmento dura su compás de imagen y luego se desvanece o se reemplaza.
  • Para IU en movimiento: renderiza la IU real del producto (botones, listas, gráficos) como componentes React, no maquetas estáticas. Anima las transiciones de estado que muestran la función.
  • Usa desenfoque de movimiento en cada elemento en movimiento: style={{filter: 'blur(2px)'}} en Remotion (con propiedades de desenfoque de dirección) o GSAP motionBlur.
  • Puerta: cada toma se renderiza en el editor de Remotion o en una vista previa de HyperFrames; verifica que no haya fotogramas fantasma, que el texto se lea y que el dispositivo narrativo sea visible.

Paso 4: Edición y sonido

  • Pega el montaje de las tomas en timeline.ts. Ajusta la duración de los fragmentos y los compases de imagen según sea necesario.
  • Crea la banda sonora: scripts/score.sh (Remotion) o hf-finish.sh (HyperFrames) genera tonos de percusión y un bajo o colchón de acordes a partir de la estructura de compases. Cada golpe de percusión corresponde a un cambio visual (toma nueva, fragmento de texto, movimiento de cámara). El sonido se genera a partir de la línea de tiempo, no al revés.
  • Ajusta la mezcla: el diálogo (si lo hay) a -6 LUFS, los efectos a -12 LUFS, la música a -18 LUFS.
  • Puerta: el audio está sincronizado con la imagen: ejecuta scripts/check-sync.sh para verificar que no haya deslizamiento entre el renderizado de píxeles y el archivo de audio.

Paso 5: Renderizado y críticas

Para Remotion: cd films/<nombre> && npx remotion render src/index.tsx out/video.mp4 --concurrency=8. Para HyperFrames: node scripts/render-hyperframes.js más hf-finish.sh.

  • Ejecuta scripts/lint-film.mjs en el código fuente: verifica que no haya colores prohibidos, sin serifa, un solo acento, sin decoración prohibida.
  • Ejecuta scripts/check-render.sh en el archivo de salida: mide la proporción de fotogramas negros, la estabilidad del color (desviación estándar de los píxeles), la sincronización de audio (retraso de pico de correlación cruzada), la integridad de la velocidad de fotogramas.
  • Ejecuta la autocrítica: genera 3–5 contact sheets (fotogramas clave) de la película, muéstralos a un subagente con BRIEF.md y TREATMENT.md, y pídele que los critique en términos de las cinco leyes. El subagente puntúa cada ley y sugiere ediciones. Si falla (puntuación ≤ 3/5 en cualquier ley), re-renderiza con cambios.
  • Puerta: el renderizado pasa check-render.sh sin errores, y la crítica da 4/5 o más en cada ley.

Paso 6: Entrega

  • Recorta el metraje negro final.
  • Empaqueta: coloca el archivo maestros video.mp4 en out/, más cualquier reelaboración (9:16, 1:1) si se solicitó. Si la marca se inventó, incluye brand-kit.ts y brand-kit.svg como referencia.

4. Flujo de texto

El texto llega en fragmentos, uno tras otro, con imagen entre ellos. Nunca más de 8 palabras visibles a la vez (5 en modo reemplazo).

  • Modo emergente: un fragmento aparece, permanece durante 30–90 fotogramas mientras la imagen muestra su significado, luego se desvanece mientras el siguiente fragmento llega. Útil para emparejar texto con acciones visuales.
  • Modo reemplazo: un fragmento reemplaza al anterior en el mismo espacio (por ejemplo, una cifra o etiqueta que cambia). El texto anterior se desvanece o se desliza hacia afuera mientras el nuevo se desvanece o se desliza hacia adentro, con una superposición de 15–30 fotogramas para mantener la legibilidad.
  • Muro de texto: prohibido. Un pensamiento de más de 4 palabras se divide en una cadena de fragmentos, cada uno con un compás de imagen (cambio visual). Por ejemplo, "muestra el costo de cada artículo" se convierte en "muestra" (aparece una tarjeta), "el costo" (el precio se resalta), "de cada artículo" (los artículos se enumeran).
  • Sincronización visual: cada fragmento se sincroniza con una acción visual que aclara su significado. Si el texto dice "divide el total", la imagen muestra un número dividiéndose en partes.

5. Ritmos: tranquilo y nítido

  • Tranquilo: 100 BPM, 1 compás por fragmento, 8 palabras máx. visibles, 30–90 fotogramas de compás de imagen entre fragmentos. Adecuado para la mayoría de las películas de lanzamiento y videos de productos.
  • Nítido: 120 BPM, 1 pulso (cuarto de compás) por fragmento, 10 palabras visibles, 15–60 fotogramas de compás de imagen. Permite un poco más de texto y ritmo más rápido. Opción explícita para teasers, lanzamientos y cortes promocionales.

Elige el ritmo en el brief y escríbelo en la línea de especificación de BRIEF.md. El ritmo nítido también permite un movimiento más rápido: curvas de suavización más cortas (200–400 ms en lugar de 400–800 ms) y más movimientos de cámara (paneo, zoom).

6. Sonido

  • Música: generada a partir de la estructura de compases. La percusión establece el ritmo de la película: cada golpe corresponde a un cambio visual (toma nueva, fragmento de texto, movimiento de cámara). Un colchón de acordes o bajo proporciona armonía.
  • Efectos de sonido: cada golpe es causado por un evento visual: un clic cuando aparece un botón, un silbido cuando algo se desliza, un timbre cuando un número cambia. Usa sonidos de la biblioteca de assets/sounds/ o genera con FFmpeg.
  • Silencio: al menos 0.5 s de silencio al principio y al final para evitar cortes. Sin silencio durante la pieza: cada momento tiene sonido.

7. Diferencias entre motores

AspectoRemotion (valor predeterminado)HyperFrames (alternativa)
LenguajeTypeScript, JSX, ReactHTML, CSS, JS, GSAP
Archivo de proyectosrc/index.tsx y src/Composition.tsxindex.html, style.css, script.js
Línea de tiempotimeline.ts como array o Map de fotogramastimeline.ts como objeto JSON, leído por GSAP
Renderizadonpx remotion rendernode scripts/render-hyperframes.js + hf-finish.sh
Marcabrand-kit.ts exporta SVG y tokens CSSbrand-kit.css con variables CSS
Sonidoscripts/score.sh genera con FFmpeghf-finish.sh maneja el sonido (sintetizador de tonos)
Múltiples tomasComponentes React separados por secciónFunciones JS separadas renderizadas en un canvas

8. Crítica de subagentes

Solo para verificación final. Ejecuta un subagente con:

  • BRIEF.md (completo, con especificaciones)
  • TREATMENT.md (completo, con sinopsis y hoja de pulsos)
  • 3–5 contact sheets de la película (fotogramas de cada pulso clave)
  • El renderizado de video (opcional, pero se prefiere)

El subagente critica en una escala de 1–5 para cada una de las cinco leyes:

  1. Idea única y específica: ¿la película demuestra una cosa que solo este producto hace?
  2. Dispositivo narrativo: ¿el objeto, forma o color viaja a través de cada toma?
  3. Acento con significado: ¿el acento se usa para un solo significado, de forma económica?
  4. Sistema de movimiento consistente: ¿los movimientos usan curvas nombradas con razones?
  5. Verificación mediante medición: ¿el renderizado pasa las comprobaciones?

Si cualquier puntuación es ≤ 3, el subagente sugiere ediciones y la película se re-renderiza. Si todas son ≥ 4, la película se aprueba.

9. Guía de referencia rápida

  • Nuevo proyecto: bash <skill>/scripts/new-film.sh films/<nombre> --fps 60 --size 1920x1080 [--engine hyperframes]
  • Sorteo de técnicas: python3 scripts/pick.py --format <formato> --energy <calma|media|alta> --seconds <duración> --json out/qa/picks.json
  • Lint del código: node scripts/lint-film.mjs (desde el directorio del proyecto)
  • Verificar renderizado: bash scripts/check-render.sh out/video.mp4
  • Renderizar (Remotion): cd films/<nombre> && npx remotion render src/index.tsx out/video.mp4 --concurrency=8
  • Renderizar (HyperFrames): cd films/<nombre> && node scripts/render-hyperframes.js && bash hf-finish.sh
  • Verificar sincronización: bash scripts/check-sync.sh out/video.mp4 out/audio.wav

10. Glosario

  • Pulso: una unidad de la línea de tiempo, normalmente 1 compás en ritmo tranquilo o 1 pulso en nítido. Contiene una sección, descripción de imagen, fragmento de texto, modo de texto, pulso de imagen, sonido y movimientos de cámara.
  • Dispositivo narrativo: el objeto, forma o color que unifica la película, viajando a través de cada toma.
  • Acento: un solo color que significa una cosa, usado en ≤ 8% de los píxeles.
  • Fragmento: una unidad corta de texto (1–4 palabras) que llega a la vez, con un compás de imagen.
  • Contact sheet: un conjunto de 3–5 fotogramas clave de la película, utilizados para crítica.
  • Lint: un script que verifica que el código no contenga elementos prohibidos (color, tipografía, decoración).

Recuerda: estás dirigiendo un cortometraje, no animando una página web. Cada elección sirve a la idea. La contención sobre la decoración. La especificidad sobre la generalidad. Y siempre, verifica mediante la medición.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados