Communitygithub.com

Configuración de Remotion

Andamia un nuevo proyecto de video Remotion preparado para las habilidades del agente Claude: verificación de Node, andamiaje con create-video, instalación de habilidades, convenciones de carpetas, fuentes de Google y un render de prueba. Úsalo cada vez que alguien quiera empezar a crear videos con Remotion y Claude.

¿Qué es Configuración de Remotion?

La habilidad 'Configuración de Remotion' automatiza la instalación y preparación de un proyecto Remotion desde cero, asegurando que todas las herramientas necesarias estén listas para que el usuario pueda comenzar a crear videos con Claude. Primero, verifica que Node.js esté en la versión 16 o superior; luego, utiliza `create-video` para andamiar un proyecto con la plantilla Blank, que es la base más limpia para videos de producto. A continuación, instala las habilidades del agente Remotion en el repositorio (usando `npx remotion skills add remotion`) y establece una estructura de carpetas estandarizada (`src/compositions/` y `public/assets/`) para que las habilidades posteriores como `remotion-compose` y `remotion-render` funcionen sin problemas. También configura una fuente de Google Fonts con `@remotion/google-fonts` para garantizar una renderización determinista del texto, y crea una composición de prueba simple (HelloWorld) que se renderiza como `out/smoke-test.mp4` para verificar que el pipeline de Chromium funciona correctamente. Finalmente, arranca Remotion Studio en `localhost:3000` para obtener una vista previa interactiva con recarga en caliente. Esta habilidad es esencial para cualquier desarrollador que quiera integrar Remotion con Claude y asegurarse de que el entorno de trabajo esté correctamente configurado antes de pasar a la creación de contenido.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SkillMedev/tutorial-video-studio/tree/main/skills/remotion-setup

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Configuración de Remotion?

Andamia un proyecto Remotion nuevo y lo prepara para que el resto del flujo de trabajo sea "solo pedirle a Claude". Es el trabajo de configuración único. Hazlo una vez por proyecto; después, remotion-compose y remotion-render saltan directamente al bucle creativo.

Ejecútalo con decisión. Si el usuario menciona algo sobre hacer videos con Claude - "configurar Remotion", "crear un proyecto Remotion", "quiero hacer videos de producto con Claude", "iniciar un proyecto de video" - ejecuta esta habilidad.

Paso 1 - Verificar el conjunto de herramientas

Remotion renderiza con Chromium sin interfaz gráfica, así que verifica Node antes de andamiar:

node --version   # necesita >= 16; prefiere una versión LTS activa

Si Node es anterior a 16, detente y dile al usuario que lo actualice (nvm: nvm install --lts && nvm use --lts). También confirma que npx esté disponible (viene con npm 5.2+).

Paso 2 - Andamiar el proyecto

npx create-video@latest

Esto es interactivo. Recomienda la plantilla Blank (Hola Mundo) - es la base más limpia para videos de producto. La CLI pide el directorio del proyecto y un gestor de paquetes; deja que el usuario elija, luego cd a la nueva carpeta e instala:

cd <nombre-del-proyecto>
npm install

Paso 3 - Instalar las habilidades del agente Remotion

Para que Claude Code tenga el contexto de las habilidades propias de Remotion en este repositorio:

npx remotion skills add remotion

Esto coloca los archivos de habilidad del agente de Remotion en el proyecto. Si el comando no está disponible en la versión instalada de Remotion, indícale al usuario que use una versión más reciente de @remotion/cli y continúa - es una conveniencia, no una dependencia obligatoria.

Paso 4 - Establecer convenciones de carpetas

Estandariza la estructura para que las habilidades posteriores sepan siempre dónde van las cosas:

src/
  Root.tsx              # registra cada <Composition> (el registro de entrada)
  index.ts              # registerRoot(RemotionRoot)
  compositions/         # un archivo .tsx por video - remotion-compose escribe aquí
public/
  assets/               # imágenes, logotipos, audio - referenciados mediante staticFile()

Crea las carpetas si la plantilla no lo hizo:

mkdir -p src/compositions public/assets

src/Root.tsx es el registro. Cada video es un <Composition> registrado aquí:

// src/Root.tsx
import { Composition } from "remotion";
import { HelloWorld } from "./compositions/HelloWorld";

export const RemotionRoot: React.FC = () => {
  return (
    <Composition
      id="HelloWorld"
      component={HelloWorld}
      durationInFrames={90}
      fps={30}
      width={1920}
      height={1080}
    />
  );
};
// src/index.ts
import { registerRoot } from "remotion";
import { RemotionRoot } from "./Root";
registerRoot(RemotionRoot);

Valores predeterminados sensatos para registrar: 30 fps y 1920x1080 para videos de producto en horizontal (1080x1920 para redes sociales verticales), y duraciones cortas - 90 cuadros a 30 fps son 3 segundos, y la mayoría de los videos demo de producto duran entre 15 y 60 segundos (450-1800 cuadros).

Paso 5 - Cargar una fuente de Google

Remotion tiene soporte de primera clase para Google Fonts para que el texto se renderice de manera determinista. Instala y carga una vez:

npm install @remotion/google-fonts
// carga cerca de la parte superior de un archivo de composición
import { loadFont } from "@remotion/google-fonts/Inter";
const { fontFamily } = loadFont();
// luego usa: <div style={{ fontFamily }}>...</div>

loadFont() bloquea el renderizado hasta que la fuente esté lista, por lo que el texto en pantalla nunca parpadea con un fallback sin estilo. Elige la fuente que coincida con la marca - cambia Inter por Poppins, Roboto, etc.

Paso 6 - Composición de prueba

Escribe una composición trivial para demostrar que el entorno renderiza de principio a fin:

// src/compositions/HelloWorld.tsx
import { AbsoluteFill, useCurrentFrame, interpolate } from "remotion";
import { loadFont } from "@remotion/google-fonts/Inter";

const { fontFamily } = loadFont();

export const HelloWorld: React.FC = () => {
  const frame = useCurrentFrame();
  const opacity = interpolate(frame, [0, 30], [0, 1], {
    extrapolateRight: "clamp",
  });
  return (
    <AbsoluteFill style={{ backgroundColor: "#0B0B0F", justifyContent: "center", alignItems: "center" }}>
      <h1 style={{ fontFamily, color: "white", fontSize: 90, opacity }}>
        Funciona.
      </h1>
    </AbsoluteFill>
  );
};

Asegúrate de que esté registrada en src/Root.tsx (Paso 4), luego renderízala:

npx remotion render src/index.ts HelloWorld out/smoke-test.mp4

El primer renderizado descarga Chromium sin interfaz gráfica (unos cientos de MB - espera una espera única de unos minutos en una conexión normal); después de eso, esta prueba de 90 cuadros debería renderizarse en menos de un minuto. Si out/smoke-test.mp4 reproduce un título que aparece gradualmente, el entorno está bien. Si el renderizado falla, casi siempre es por (a) descarga/permisos de Chromium, (b) la composición no registrada en Root.tsx, o (c) un problema de versión de Node del Paso 1.

Paso 7 - Iniciar Remotion Studio para vista previa

Para la vista previa interactiva (desplazarse por la línea de tiempo, recarga en caliente con las ediciones):

npx remotion studio

Esto sirve el Studio en http://localhost:3000. La plantilla create-video también vincula npm run dev a lo mismo. Deja Studio ejecutándose mientras iteras: las ediciones en los archivos de composición se recargan al instante.

Entregable

El usuario se va con un proyecto Remotion funcional: el repositorio andamiado con la estructura src/compositions/ + public/assets/ en su lugar, las habilidades del agente Remotion instaladas, una fuente de Google configurada, una composición de prueba registrada, un out/smoke-test.mp4 renderizado que realmente se reproduce y Remotion Studio ejecutándose para vista previa. Nada está "configurado" hasta que el MP4 de prueba exista y se reproduzca.

NO hagas

  • No omitas la verificación de Node y andamies de todas formas - un Node inferior a 16 falla en lo profundo del renderizado de Chromium con un error confuso, no en el momento de la instalación.
  • No declares la configuración completa sin renderizar la prueba de humo; un proyecto que compila pero nunca ha producido un MP4 no ha demostrado que el pipeline de Chromium funcione.
  • No coloques composiciones o activos en ubicaciones ad-hoc - las habilidades posteriores (remotion-compose, remotion-render) dependen de que src/compositions/ y public/assets/ existan.
  • No hagas referencia a activos mediante rutas relativas o URLs; usa staticFile() desde public/, o los renderizados funcionarán localmente pero fallarán en otros lugares.
  • No uses fuentes del sistema o importadas por CSS para el texto en pantalla - sin loadFont() bloqueando, el texto puede renderizarse con una fuente de respaldo en la máquina de renderizado.
  • No elijas una plantilla con muchas funciones para videos de producto; la plantilla Blank evita cargar código de demostración que el usuario deba eliminar después.

Estándar de calidad

  • node --version es >= 16 y se verificó antes de andamiar.
  • out/smoke-test.mp4 existe y reproduce un título que aparece gradualmente.
  • Las convenciones de carpetas existen exactamente como se especificó, y la composición de prueba está registrada en src/Root.tsx.
  • El texto se renderiza a través de @remotion/google-fonts con loadFont(), no con un fallback del sistema.
  • Remotion Studio se inicia en localhost:3000 y recarga en caliente una edición.

Transferencia

Una vez que la prueba de humo se renderice y Studio esté funcionando, dile al usuario que el proyecto está listo y transfiere: "La configuración está completa. Describe el video que quieres: duración, escenas, colores de marca - y yo escribiré la composición (remotion-compose), luego renderizaré e iteraré (remotion-render)."

Individual skills in this repo

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

Captions From Transcript

Produce an accurate, properly timed caption track (SRT or WebVTT) from a video

Kinetic Typography

Put text in motion the right way - title cards, animated captions, lower-thirds, callouts, and word-by-word reveals - with a reading-time-per-word budget so copy holds long enough to read, plus enter/exit timing, weight and size transitions, and type hierarchy in motion. Use when someone asks to

Motion Design Principles

The craft layer for motion: pick the right easing (ease-in / ease-out / ease-in-out / spring), get timing and spacing right, build the anticipation→action→follow-through arc, and apply Disney

Narration Script

Write the spoken voiceover for a tutorial or demo - the actual words, phrased for the ear and synced one-instruction-per-action to what is on screen, with a pacing budget and a confident, jargon-checked tone. Use when someone says

Product Demo Director

Direct the craft of putting a real software UI on screen - cursor choreography, zoom/pan/callout language, screen-recording vs recreated-UI, and making state changes legible with highlights, focus pulls, and slow-downs. Use when filming or recreating an app for a product demo, feature walkthrough, onboarding clip, or release reel and asking

Remotion Compose

Turns a natural-language video brief into a complete, ready-to-preview Remotion composition - extracts duration, scenes, brand colors, aspect ratio, and real copy; plans the frame budget; and writes data-driven React/TypeScript using useCurrentFrame, interpolate, spring, AbsoluteFill, and Sequence, registered in Root.tsx. Use when someone says

Remotion Render

Renders a Remotion composition to MP4 and runs the edit-and-re-render loop - CLI render commands, 1080p/4K/9:16 presets, concurrency tuning, codec selection, batch variants from a JSON data file, and Lambda for cloud rendering. Use when someone says

Screencast Capture

Capture clean raw screen and camera footage for a tutorial or product demo - choosing the recorder (macOS Screenshot toolbar, QuickTime, OBS, Windows Game Bar), setting resolution / frame-rate / cursor / microphone, prepping a distraction-free stage, and recording in retakeable segments. Use when someone says

SkillMedev/tutorial-video-studio

Plan a product demo, feature announcement, or launch video as a beat sheet and shot list BEFORE animating - hook in the first 3s, problem, reveal, proof, CTA - with target duration and pacing per scene type, output as a JSON scene plan that remotion-compose consumes directly. Use when someone says

Social Video Formatter

Reframe and export a finished video for social platforms - 9:16 ↔ 16:9 cropping, burned-in captions, a platform-native first frame, loop design, and per-platform specs (aspect, length, safe areas) for TikTok, Reels, Shorts, X, and LinkedIn. Use when someone says

Sound and Music Sync

Score a video like an editor: beat-match cuts to the music, land SFX on transitions, pace the voiceover so it breathes, source royalty-free tracks safely, and duck the music so the VO sits clearly on top. Use when adding music, sound effects, or voiceover to a video, when asked to

Skills relacionados