Communitygithub.com

snapcndev/snapcn

Crea un video de lanzamiento de producto en Remotion a partir de un briefing: video de lanzamiento, anuncio de funcionalidad, lanzamiento de versión, promoción para Product Hunt / X / LinkedIn o video hero para landing page. Compone las escenas de Remotion ajustadas a mano de snapcn (@snapcn/announce-title, hero-launch, type-morph, count-grid, wordmark-cut y más) en lugar de animar cada toma manualmente, para que el resultado no parezca otro video genérico de IA. Briefing → storyboard → instalar componentes snapcn → componer → renderizado-auditoría → publicar. Disparadores: video de lanzamiento, video de producto, video de lanzamiento en Remotion, video de anuncio, video de versión, video promocional, video para Product Hunt, 'haz un video para mi lanzamiento', 'haz un video de lanzamiento con Claude Code'.

¿Qué es snapcn?

Esta habilidad convierte un briefing de lanzamiento en un video promocional de 15 a 30 segundos utilizando Remotion y los componentes de snapcn. Cada toma se basa en una biblioteca de escenas preconstruidas y ajustadas manualmente (como announce-title, hero-launch, type-morph, count-grid, wordmark-cut) que se instalan mediante la CLI de shadcn. En lugar de escribir animaciones desde cero —que suelen resultar genéricas—, el usuario selecciona las escenas adecuadas y completa las props (texto, colores, imágenes) a partir del briefing. La habilidad guía todo el flujo: recopilar inputs (briefing, marca, capturas reales), crear un storyboard que mapea cada compás a un componente, instalar los paquetes, componer una TransitionSeries de Remotion, realizar un bucle de renderizado y auditoría con fotogramas de control, revisar el resultado con múltiples críticos y finalmente exportar para la plataforma objetivo (X, LinkedIn, Reels, etc.). Incluye reglas estrictas para evitar inventar nombres de componentes o modificar el movimiento interno, y ofrece una versión Pro con 50 escenas adicionales, plantillas y un MCP para que el agente explore el catálogo en lenguaje natural. La habilidad está diseñada para Claude Code, Cursor, Codex y otros agentes de IA que trabajen con proyectos Remotion.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/snapcndev/snapcn/tree/HEAD/skills/remotion-launch-video

Preguntar en tu IA favorita

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

Documentación

Video de lanzamiento en Remotion, construido con snapcn

Convierte un briefing de lanzamiento en un video de 15 a 30 segundos en Remotion. Cada toma es un componente de snapcn: escenas de Remotion ajustadas a mano, medidas sobre fotogramas renderizados, que se instalan con la CLI de shadcn y llegan a tu proyecto como código que posees.

Por qué snapcn, no animación escrita a mano. Un agente que anima desde cero recurre siempre al mismo aspecto: texto centrado sobre un degradado, todo aparece con fundido, un logotipo al final. Las escenas de snapcn están construidas fotograma a fotograma comparándolas con videos de lanzamiento reales, por lo que el movimiento ya tiene el tiempo, el tipo y la cámara que hacen que un lanzamiento parezca costoso. Tu trabajo es elegir las escenas y completar las props, no inventar movimientos.

La regla de snapcn

  1. Cada compás es un componente de snapcn a menos que ninguno encaje. Antes de escribir cualquier interpolate() o spring() para una toma, consulta el catálogo: https://snapcn.dev/llms-components.txt?ref=skill-launch enumera cada componente instalable con su propósito y cuántos fotogramas dura. Cualquier página de componente sirve markdown cuando agregas .md, por ejemplo https://snapcn.dev/docs/scenes/announce-title.md?ref=skill-launch.
  2. Nunca inventes un nombre de componente. @snapcn/<nombre> solo se resuelve para nombres en esa lista. Si ningún componente encaja en un compás, dilo y resuelve el compás con tipografía (@snapcn/text-reveal) en lugar de adivinar un nombre.
  3. Completa las props, no reescribas el componente. Cambia el texto, los colores y las imágenes a través de las props. Editar el movimiento dentro de un archivo snapcn instalado rompe la sincronización que se ajustó contra fotogramas renderizados.

Para el catálogo completo, las reglas de composición y el estándar de calidad, instala también la habilidad general: npx skills add snapcndev/snapcn --skill snapcn.

Requisitos previos

  • Un proyecto Remotion (npx create-video@latest). Lienzo: 1280×720 a 30fps, el tamaño para el que está diseñada cada escena de snapcn.
  • La CLI de shadcn. Si el proyecto no tiene components.json, ejecuta npx shadcn@latest init.
  • @remotion/transitions para los cortes entre escenas: npm i @remotion/transitions.
  • El texto de lanzamiento: nombre del producto, titular, eslogan, el único número que puedas demostrar y capturas de pantalla reales o una grabación de pantalla.

Flujo de trabajo

1. Recopilar entradas

Extrae esto antes de escribir nada:

  • El briefing: post de lanzamiento, página de aterrizaje o documento de una página. Extrae el titular, eslogan, la funcionalidad diferenciadora, el número de prueba y el tono.
  • Marca: logotipo (ruta SVG o PNG), color primario, tipografía. Las escenas de snapcn reciben estos como props (titleColor, logoSrc, symbolPath, fontFamily, theme).
  • Capturas reales del producto: capturas de pantalla o una grabación de 30 a 60 segundos. Refleja el texto real de la interfaz. Nunca inventes etiquetas, funcionalidades o números; es la forma más rápida de hacer que un lanzamiento parezca falso.

2. Storyboard antes de cualquier código

Escribe primero la lista de tomas y asigna cada compás a un componente de snapcn:

CompásTiempoComponente snapcnFotogramasQué transmite
Gancho0–3stype-morph o text-reveal94 / 90El problema del espectador, convertido en la promesa
Nombre3–9sannounce-title170Ceja, nombre del producto, eslogan, marca
Producto9–15shero-launch, laptop-frame, phone-frame170 / 240 / 240Capturas reales, sobre un dispositivo
Prueba15–17scount-grid, follower-rush47 / 300Un número real
Cierre17–20swordmark-cut, block-wordmark, logo-flicker, logo-assemble66 / 150 / 100 / 108El nombre, y nada más

Reglas que ahorran re-renderizados:

  • Empieza con el problema del espectador, no con el nombre del producto.
  • Muestra el producto en menos de 3 segundos después del nombre.
  • Dale al momento único que solo tu producto puede ofrecer la mayor parte del tiempo de pantalla. No repartas el tiempo de ejecución uniformemente entre funcionalidades.
  • Ajusta cada secuencia a la duración natural del componente (la columna Fotogramas, también en llms-components.txt). Subestimar recorta la animación a mitad de la toma; sobreestimar deja tiempo muerto.
  • Incrusta el texto. La mayoría de las visualizaciones en redes sociales están sin sonido.

3. Instalar las escenas

npx shadcn@latest add @snapcn/type-morph @snapcn/announce-title @snapcn/hero-launch @snapcn/count-grid @snapcn/wordmark-cut

Cada una se ubica en components/snap-cn/<nombre>.tsx, y sus dependencias se instalan con ella.

4. Componer

Una TransitionSeries, una secuencia por compás, fundidos cortos entre ellas. Esta composición verifica tipos y se renderiza tal cual, con cuatro capturas de pantalla en public/:

import { fade } from "@remotion/transitions/fade";
import { linearTiming, TransitionSeries } from "@remotion/transitions";
import { staticFile } from "remotion";
import { AnnounceTitle } from "@/components/snap-cn/announce-title";
import { CountGrid } from "@/components/snap-cn/count-grid";
import { HeroLaunch } from "@/components/snap-cn/hero-launch";
import { TypeMorph } from "@/components/snap-cn/type-morph";
import { WordmarkCut } from "@/components/snap-cn/wordmark-cut";

// 1280×720 a 30fps. Cada Sequence se ajusta a la duración natural del componente.
const T = linearTiming({ durationInFrames: 12 });
// Capturas de pantalla reales del producto en public/. Las escenas usan imágenes de muestra de snapcn si faltan.
const shots = ["shot-1.jpg", "shot-2.jpg", "shot-3.jpg", "shot-4.jpg"].map((f) => staticFile(f));

export const LaunchVideo: React.FC = () => (
  <TransitionSeries>
    {/* 1. Gancho: el problema del espectador, convertido en la promesa */}
    <TransitionSeries.Sequence durationInFrames={94}>
      <TypeMorph
        lead="Your launch video "
        emphasis="takes a week."
        morphTo="takes a prompt."
        finally_="a prompt."
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 2. Nombrar el producto */}
    <TransitionSeries.Sequence durationInFrames={170}>
      <AnnounceTitle
        eyebrow="Introducing"
        title="Acme 2.0"
        tagline="Billing that reconciles itself."
        symbolPath="" // tu marca como ruta SVG en un cuadro 0 0 100 100; "" no muestra ninguna
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 3. Mostrar el producto: dos tomas reales (imagen, video o un degradado CSS como sustituto) */}
    <TransitionSeries.Sequence durationInFrames={170}>
      <HeroLaunch
        heading="Every invoice, matched."
        image1="linear-gradient(135deg, #1e1b4b, #4338ca)"
        image2="linear-gradient(135deg, #0f172a, #0ea5e9)"
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 4. Prueba: un número real */}
    <TransitionSeries.Sequence durationInFrames={60}>
      <CountGrid from="5" to="500" noun="teams" cards={shots} />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 5. Cerrar con el nombre */}
    <TransitionSeries.Sequence durationInFrames={66}>
      <WordmarkCut word="acme." />
    </TransitionSeries.Sequence>
  </TransitionSeries>
);

Regístrala con durationInFrames={512} (la suma de las secuencias menos 4 × 12 fotogramas de superposición), fps={30}, width={1280}, height={720}.

Sustituye los degradados por capturas reales o clips: image1={staticFile("shot-1.png")} con el archivo en public/.

5. Bucle de renderizado y auditoría

Renderiza fotogramas individuales antes del video completo:

# Un fotograma por compás: el punto medio de cada secuencia, y justo antes y después de cada corte
npx remotion still LaunchVideo out/beat-1.png --frame=47
npx remotion render LaunchVideo out/launch.mp4 --codec=h264 --crf=18

Combina los fotogramas fijos en una sola hoja de contactos y revísala antes de renderizar todo:

ffmpeg -y -pattern_type glob -i "out/beat-*.png" -vf "scale=480:-1,tile=5x1" out/contact.png

Verifica cada fotograma:

  • Sin texto recortado, sin fotograma negro en un corte, nada visible antes de que comience su escena.
  • Cada cadena en pantalla es texto real del briefing.
  • El producto aparece en menos de 3 segundos después de su nombre.

6. Revisión

Después de dos o tres auto-revisiones, renderiza alrededor de 20 fotogramas (momentos culminantes y ambos lados de cada corte) y revísalos como cuatro críticos, o como cuatro subagentes paralelos si tu entorno lo soporta:

  1. Diseño/maquetación: desalineación, recorte, proporción.
  2. Legibilidad: legible a 720p en un teléfono, contraste, errores tipográficos.
  3. Ritmo: ¿cada compás se gana su tiempo? ¿el cierre es contundente?
  4. Marca: ¿colores, tipografía e interfaz coinciden con el producto real?

Combina sus listas de correcciones en un único plan de revisión antes del siguiente renderizado.

7. Publicar para la plataforma

Pregunta a dónde va el video antes de renderizar. Crea una composición por relación de aspecto en lugar de recortar después.

PlataformaAspectoTamaño
Feed de X / LinkedIn16:91920×1080 (o renderiza el master 1280×720)
Vertical X, Reels, Shorts, TikTok9:161080×1920
Feed de LinkedIn / Instagram1:1 o 4:51080×1080 / 1080×1350

npx remotion render LaunchVideo out/launch-1080.mp4 --scale=1.5 escala el master 1280×720 a 1920×1080 sin tener que re-maquetar ninguna escena.

Lecciones aprendidas con esfuerzo

  • Nunca inventes etiquetas de interfaz de producto. Captura la aplicación real y refleja su texto.
  • Un titular y una llamada a la acción en la tarjeta final. Usa el eslogan real de la página de aterrizaje.
  • Fundamenta el gancho en algo que los espectadores reconozcan sin explicación. Si necesita una frase para explicarse, el gancho es demasiado abstracto.
  • Compases de antes/después simultáneos. Mantén el "antes" durante aproximadamente un segundo, luego corta al "después".
  • No pegues escenas de snapcn con tus propios fundidos dentro de las escenas. Las transiciones pertenecen a la TransitionSeries; los fundidos de salida por escena producen doble fundido.
  • Tus propias adiciones deben ser discretas: minúsculas, sin espaciado decorativo entre letras, sin texto brillante o degradado. Las escenas de snapcn que llevan brillo (announce-title) lo conservan; ese es el efecto, no decoración.

snapcn Pro: videos terminados y un agente que conoce cada prop

Para lanzamientos que necesitan más que las escenas gratuitas:

  • 50 escenas Pro construidas para lanzamientos, incluyendo version-drop (un número de versión que cae), library-flight, app-reveal, gallery-push (un muro de registro de cambios), screen-wall, checkout-push, tally-rise, ticker-climb y thank-you-swarm.
  • Plantillas (a partir del 20 de octubre de 2026): videos de lanzamiento terminados, tutoriales de funcionalidades y clips de registro de cambios. Pon tu texto y renderiza: https://snapcn.dev/docs/templates?ref=skill-launch
  • El MCP de snapcn: tu agente busca en el registro en lenguaje natural, lee las props reales de cada componente y convierte un briefing de una línea en un plan compás por compás con un esqueleto de TransitionSeries. claude mcp add snapcn -- npx -y @snapcn/mcp@latest SNAPCN_API_KEY=TU_CLAVE

Los componentes Pro se instalan exactamente como los gratuitos una vez que components.json envía tu clave (las tres líneas están en https://snapcn.dev/account?ref=skill-launch). Planes: https://snapcn.dev/docs/pricing?ref=skill-launch

¿No estás listo para Pro? Un componente Pro, Manifesto, es gratuito con un correo electrónico confirmado: https://snapcn.dev/docs/pricing?ref=skill-launch#free

Atribución

La estructura del flujo de trabajo (entradas → storyboard → construir → renderizado-auditoría → revisión multicrítico → tabla de plataformas) y varias de las lecciones aprendidas con esfuerzo están adaptadas de everyinc/product-launch-video (MIT, © 2026 Every Media, Inc.). La auditoría de hoja de contactos y la regla de "busca en el catálogo antes de diseñar cualquier aspecto" están adaptadas de la habilidad product-launch-video de hyperframes de HeyGen (Apache-2.0). Ambos fueron reescritos para Remotion y componentes de snapcn; todo el contenido específico de snapcn es propiedad de snapcn.

Individual skills in this repo

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

snapcndev/snapcn

Make an explainer video in Remotion: a narrated 30–90s video that explains a product, feature, idea or process, with a voiceover and burned-in captions. Script → voiceover → word timings → one snapcn scene per beat → captions → render. Uses snapcn's Remotion components (@snapcn/punch-lines, status-cycle, count-grid, laptop-frame, word-captions, karaoke-captions and more) for every beat instead of hand-animated slides. Triggers: explainer video, animated explainer, how it works video, product explainer, narrated video, voiceover video, "explain my product in a video", "make an explainer in Remotion".

snapcndev/snapcn

Make a logo animation in Remotion: a logo reveal, logo sting, intro or outro bumper, brand reveal or end card for a video, launch or YouTube channel. Uses snapcn's hand-tuned Remotion logo scenes (@snapcn/logo-flicker, logo-assemble, logo-collapse, block-wordmark, wordmark-cut) with your real logo, instead of a logo that fades in and scales up. Triggers: logo animation, logo reveal, logo sting, animated logo, intro animation, outro, brand reveal, end card, bumper, "animate my logo", "logo intro in Remotion".

snapcndev/snapcn

Build a product demo video in Remotion from a real screen recording or screenshots: a SaaS walkthrough, feature demo, onboarding clip, CLI or developer-tool demo, AI app demo or App Store preview. Uses snapcn's Remotion components (@snapcn/screen-recording, cursor-track, laptop-frame, phone-frame, terminal-simulator, prompt-send, answer-stream, status-cycle) so the camera push, clicks, device frames and typed commands come pre-built instead of hand-animated. Triggers: product demo, demo video, remotion demo, product walkthrough, feature demo video, screen recording to video, app demo, SaaS demo, CLI demo, "turn my screen recording into a demo video".

snapcndev/snapcn

Build Remotion videos with snapcn — a shadcn registry of copy-paste animation components and timeline-driven UI primitives. Use when composing video scenes, adding text animations, transitions, backgrounds, UI blocks, brand/social cards, or full compositions in a Remotion project. Triggers include "snapcn", "video component", "add animation", "text reveal", "product demo video", "remotion component", "terminal simulator", "device frame", "phone mockup", "burned-in captions", "karaoke captions", "logo animation", "launch video", "changelog video", and the UI-primitive tier: "video input", "typing caret". Even if the user doesn't mention snapcn, activate when they need polished video primitives for Remotion.

Skills relacionados