Communitygithub.com

foolhardy45/portfolio

Genera videos de tipo walkthrough a partir de proyectos de Stitch usando Remotion, con transiciones suaves, efectos de zoom y superposiciones de texto.

¿Qué es portfolio?

Esta habilidad permite a un agente de IA crear videos walkthrough profesionales a partir de diseños de aplicaciones capturados en Stitch. Combina la capacidad de recuperación de pantallas de Stitch con la generación programática de video de Remotion para producir presentaciones fluidas y atractivas. El flujo de trabajo incluye la obtención de capturas de pantalla desde proyectos de Stitch, la organización de estos activos, la generación de componentes de Remotion en React, y la renderización final del video. Soporta múltiples efectos de transición (fade, slide, zoom), superposiciones contextuales de texto, y ofrece patrones como pase de diapositivas simple, resaltado de características y flujos de usuario. Además, incluye instrucciones detalladas para la configuración del proyecto, la gestión de activos, la depuración de problemas comunes y la integración con las habilidades oficiales de Remotion para técnicas avanzadas, lo que lo convierte en una herramienta integral para desarrolladores y creadores de contenido que buscan automatizar la producción de videos de demostración.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/foolhardy45/portfolio/tree/HEAD/.claude/skills/remotion

Preguntar en tu IA favorita

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

Documentación

Videos Walkthrough de Stitch a Remotion

Eres un especialista en producción de video enfocado en crear videos walkthrough atractivos a partir de diseños de aplicaciones. Combinas las capacidades de recuperación de pantallas de Stitch con la generación programática de video de Remotion para producir presentaciones profesionales y fluidas.

Resumen

Esta habilidad te permite crear videos walkthrough que muestran pantallas de aplicaciones con transiciones profesionales, efectos de zoom y superposiciones de texto contextuales. El flujo de trabajo recupera pantallas de proyectos de Stitch y las orquesta en una composición de video de Remotion.

Prerrequisitos

Requeridos:

  • Acceso al Servidor MCP de Stitch
  • Acceso al Servidor MCP de Remotion (o CLI de Remotion)
  • Node.js y npm instalados
  • Un proyecto de Stitch con pantallas diseñadas

Recomendados:

  • Familiaridad con las capacidades de video de Remotion
  • Comprensión de componentes de React (Remotion usa React)

Recuperación y Red

Paso 1: Descubrir Servidores MCP Disponibles

Ejecuta list_tools para identificar los servidores MCP disponibles y sus prefijos:

  • Stitch MCP: Busca el prefijo stitch: o mcp_stitch:
  • Remotion MCP: Busca el prefijo remotion: o mcp_remotion:

Paso 2: Recuperar Información del Proyecto de Stitch

  1. Búsqueda del proyecto (si no se proporciona el ID del proyecto):

    • Llama a [prefijo_stitch]:list_projects con filter: "view=owned"
    • Identifica el proyecto objetivo por su título (ej., "Calculadora App")
    • Extrae el ID del proyecto del campo name (ej., projects/13534454087919359824)
  2. Recuperación de pantallas:

    • Llama a [prefijo_stitch]:list_screens con el ID del proyecto (solo numérico)
    • Revisa los títulos de las pantallas para identificar todas las pantallas del walkthrough
    • Extrae los IDs de pantalla del campo name de cada pantalla
  3. Obtención de metadatos de pantallas: Para cada pantalla:

    • Llama a [prefijo_stitch]:get_screen con projectId y screenId
    • Recupera:
      • screenshot.downloadUrl — Recurso visual para el video
      • htmlCode.downloadUrl — Opcional: para extraer texto/contenido
      • width, height — Dimensiones de la pantalla para un escalado adecuado
      • Título y descripción de la pantalla para superposiciones de texto
  4. Descarga de activos:

    • Usa web_fetch o Bash con curl para descargar las capturas de pantalla
    • Guárdalas en un directorio de staging: assets/screens/{nombre-pantalla}.png
    • Organiza los activos en el orden del flujo del walkthrough previsto

Paso 3: Configurar el Proyecto de Remotion

  1. Verificar si existe un proyecto de Remotion:

    • Busca remotion.config.ts o package.json con dependencias de Remotion
    • Si existe, usa la estructura del proyecto existente
  2. Crear un nuevo proyecto de Remotion (si es necesario):

    npm create video@latest -- --blank
    
    • Elige la plantilla de TypeScript
    • Configúralo en un directorio video/ dedicado
  3. Instalar dependencias:

    cd video
    npm install @remotion/transitions @remotion/animated-emoji
    

Estrategia de Composición de Video

Arquitectura

Crea una composición modular de Remotion con estos componentes:

  1. ScreenSlide.tsx — Componente de visualización de pantalla individual

    • Props: imageSrc, title, description, width, height
    • Características: Animación de zoom, transiciones de desvanecimiento
    • Duración: Configurable (por defecto 3-5 segundos por pantalla)
  2. WalkthroughComposition.tsx — Composición de video principal

    • Secuencia múltiples componentes ScreenSlide
    • Maneja las transiciones entre pantallas
    • Agrega superposiciones de texto y anotaciones
  3. config.ts — Configuración del video

    • Fotogramas por segundo (por defecto: 30 fps)
    • Dimensiones del video (coincidir con las dimensiones de la pantalla de Stitch o escalar apropiadamente)
    • Cálculo de la duración total

Efectos de Transición

Usa @remotion/transitions de Remotion para efectos profesionales:

  • Desvanecimiento (Fade): Transición cruzada suave entre pantallas

    import {fade} from '@remotion/transitions/fade';
    
  • Deslizamiento (Slide): Transiciones deslizantes direccionales

    import {slide} from '@remotion/transitions/slide';
    
  • Zoom: Efectos de acercamiento/alejamiento para énfasis

    • Usa la animación spring() para un zoom suave
    • Aplica a elementos importantes de la interfaz de usuario

Superposiciones de Texto

Agrega información contextual usando el renderizado de texto de Remotion:

  1. Títulos de pantalla: Muestra en la parte superior o inferior de cada fotograma
  2. Llamadas de características: Resalta elementos específicos de la interfaz con punteros animados
  3. Descripciones: Texto descriptivo que aparece gradualmente para cada pantalla
  4. Indicador de progreso: Muestra la posición actual de la pantalla en el walkthrough

Pasos de Ejecución

Paso 1: Recopilar Activos de Pantalla

  1. Identifica el proyecto de Stitch objetivo
  2. Lista todas las pantallas en el proyecto
  3. Descarga las capturas de pantalla de cada pantalla
  4. Organízalas en el orden del flujo del walkthrough
  5. Crea un archivo de manifiesto (screens.json):
{
  "projectName": "Calculadora App",
  "screens": [
    {
      "id": "1",
      "title": "Pantalla Principal",
      "description": "Interfaz principal de la calculadora con teclado numérico",
      "imagePath": "assets/screens/home.png",
      "width": 1200,
      "height": 800,
      "duration": 4
    },
    {
      "id": "2",
      "title": "Vista de Historial",
      "description": "Vista de cálculos anteriores",
      "imagePath": "assets/screens/history.png",
      "width": 1200,
      "height": 800,
      "duration": 3
    }
  ]
}

Paso 2: Generar Componentes de Remotion

Crea los componentes de video siguiendo las mejores prácticas de Remotion:

  1. Crear ScreenSlide.tsx:

    • Usa useCurrentFrame() y spring() para animaciones
    • Implementa efectos de zoom y desvanecimiento
    • Agrega superposiciones de texto con la sincronización adecuada
  2. Crear WalkthroughComposition.tsx:

    • Importa el manifiesto de pantallas
    • Secuencia las pantallas con componentes <Sequence>
    • Aplica transiciones entre pantallas
    • Calcula la sincronización y desplazamientos adecuados
  3. Actualizar remotion.config.ts:

    • Establece el ID de composición
    • Configura las dimensiones del video
    • Establece la tasa de fotogramas y la duración

Recursos de Referencia:

  • Usa resources/screen-slide-template.tsx como punto de partida
  • Sigue resources/composition-checklist.md para completitud
  • Revisa ejemplos en el directorio examples/walkthrough/

Paso 3: Previsualizar y Refinar

  1. Iniciar Remotion Studio:

    npm run dev
    
    • Abre una vista previa basada en navegador
    • Permite edición y refinamiento en tiempo real
  2. Ajustar la sincronización:

    • Asegúrate de que cada pantalla tenga una duración de visualización adecuada
    • Verifica que las transiciones sean suaves
    • Comprueba la sincronización de la superposición de texto
  3. Afinar animaciones:

    • Ajusta las configuraciones de spring para los efectos de zoom
    • Modifica las funciones de easing para las transiciones
    • Asegúrate de que el texto sea legible en todo momento

Paso 4: Renderizar Video

  1. Renderizar usando la CLI de Remotion:

    npx remotion render WalkthroughComposition output.mp4
    
  2. Alternativa: Usar MCP de Remotion (si está disponible):

    • Llama a [prefijo_remotion]:render con los detalles de la composición
    • Especifica el formato de salida (MP4, WebM, etc.)
  3. Opciones de optimización:

    • Establece el nivel de calidad (--quality)
    • Configura el códec (--codec h264 o h265)
    • Habilita el renderizado en paralelo (--concurrency)

Características Avanzadas

Puntos de Interacción (Hotspots)

Resalta elementos cliqueables o características importantes:

import {interpolate, useCurrentFrame} from 'remotion';

const Hotspot = ({x, y, label}) => {
  const frame = useCurrentFrame();
  const scale = spring({
    frame,
    fps: 30,
    config: {damping: 10, stiffness: 100}
  });
  
  return (
    <div style={{
      position: 'absolute',
      left: x,
      top: y,
      transform: `scale(${scale})`
    }}>
      <div className="pulse-ring" />
      <span>{label}</span>
    </div>
  );
};

Integración de Narración

Agrega narración al walkthrough:

  1. Genera un guion de narración a partir de las descripciones de las pantallas
  2. Usa texto a voz o graba audio
  3. Importa el audio en Remotion con el componente <Audio>
  4. Sincroniza la temporización de las pantallas con el ritmo de la narración

Extracción Dinámica de Texto

Extrae texto del código HTML de Stitch para anotaciones automáticas:

  1. Descarga htmlCode.downloadUrl para cada pantalla
  2. Analiza el HTML para extraer elementos de texto clave (encabezados, botones, etiquetas)
  3. Genera llamadas automáticas para elementos importantes de la interfaz de usuario
  4. Agrega a la composición como superposiciones de texto temporizadas

Estructura de Archivos

project/
├── video/                      # Directorio del proyecto de Remotion
│   ├── src/
│   │   ├── WalkthroughComposition.tsx
│   │   ├── ScreenSlide.tsx
│   │   ├── components/
│   │   │   ├── Hotspot.tsx
│   │   │   └── TextOverlay.tsx
│   │   └── Root.tsx
│   ├── public/
│   │   └── assets/
│   │       └── screens/        # Capturas de pantalla descargadas de Stitch
│   │           ├── home.png
│   │           └── history.png
│   ├── remotion.config.ts
│   └── package.json
├── screens.json                # Manifiesto de pantallas
└── output.mp4                  # Video renderizado

Integración con Habilidades de Remotion

Remotion mantiene sus propias Habilidades de Agente que definen las mejores prácticas. Revísalas para técnicas avanzadas:

Habilidades clave de Remotion a aprovechar:

  • Sincronización y suavizado de animaciones
  • Patrones de arquitectura de composición
  • Optimización del rendimiento
  • Sincronización de audio

Patrones Comunes

Patrón 1: Presentación de Diapositivas Simple

Walkthrough básico con transiciones de desvanecimiento:

  • 3-5 segundos por pantalla
  • Transiciones de fundido cruzado
  • Superposición de texto inferior con el título de la pantalla
  • Barra de progreso en la parte superior

Patrón 2: Resaltado de Características

Enfoque en elementos específicos de la interfaz:

  • Zoom en regiones específicas
  • Círculos/flechas animados que apuntan a las características
  • Énfasis en cámara lenta en interacciones clave
  • Comparaciones lado a lado de antes/después

Patrón 3: Flujo de Usuario

Muestra el recorrido del usuario paso a paso:

  • Flujo de pantallas secuencial con deslizamientos direccionales
  • Superposición de pasos numerados
  • Resalta acciones del usuario (clics, toques)
  • Conecta pantallas con trayectorias animadas

Solución de Problemas

ProblemaSolución
Capturas de pantalla borrosasAsegúrate de que las imágenes descargadas estén a máxima resolución; verifica la configuración de calidad de screenshot.downloadUrl
Texto desalineadoVerifica que las dimensiones de la pantalla coincidan con el tamaño de la composición; ajusta el posicionamiento del texto según el tamaño real de la pantalla
Animaciones entrecortadasAumenta la tasa de fotogramas a 60 fps; usa configuraciones de spring adecuadas con la amortiguación correcta
Error de compilación de RemotionVerifica la compatibilidad de la versión de Node; asegúrate de que todas las dependencias estén instaladas; revisa la documentación de Remotion
Sincronización incorrectaAjusta la duración por pantalla en el manifiesto; previsualiza en Remotion Studio; prueba con usuarios reales

Mejores Prácticas

  1. Mantén la relación de aspecto: Usa las dimensiones reales de la pantalla de Stitch o escala proporcionalmente
  2. Sincronización consistente: Mantén la duración de visualización de la pantalla constante a menos que enfatices pantallas específicas
  3. Texto legible: Asegura suficiente contraste; usa tamaños de fuente apropiados; evita superposiciones desordenadas
  4. Transiciones suaves: Usa animaciones spring para movimiento natural; evita cortes bruscos
  5. Previsualiza a fondo: Siempre previsualiza en Remotion Studio antes del renderizado final
  6. Optimiza activos: Comprime imágenes apropiadamente; usa formatos eficientes (PNG para UI, JPG para fotos)

Ejemplo de Uso

Solicitud del usuario:

Busca las pantallas en mi proyecto de Stitch "Calculadora App" y crea un video de Remotion 
que muestre un recorrido por las pantallas.

Flujo de trabajo del agente:

  1. Lista proyectos de Stitch → Encuentra "Calculadora App" → Extrae el ID del proyecto
  2. Lista las pantallas en el proyecto → Identifica todas las pantallas (Principal, Historial, Configuración)
  3. Descarga capturas de pantalla para cada pantalla → Guárdalas en assets/screens/
  4. Crea un manifiesto screens.json con los metadatos de las pantallas
  5. Genera componentes de Remotion (ScreenSlide.tsx, WalkthroughComposition.tsx)
  6. Previsualiza en Remotion Studio → Refina la sincronización y las transiciones
  7. Renderiza el video final → calculator-walkthrough.mp4
  8. Reporta la finalización con un enlace de vista previa del video

Consejos para el Éxito

  • Empieza simple: Comienza con transiciones básicas de desvanecimiento antes de agregar animaciones complejas
  • Sigue los patrones de Remotion: Aprovecha las habilidades y documentación oficiales de Remotion
  • Usa archivos de manifiesto: Mantén los datos de las pantallas organizados en JSON para facilitar las actualizaciones
  • Previsualiza con frecuencia: Usa Remotion Studio para detectar problemas temprano
  • Considera la accesibilidad: Agrega subtítulos; asegúrate de que el texto sea legible; usa imágenes claras
  • Optimiza para la plataforma: Haz coincidir las dimensiones del video con la plataforma objetivo (YouTube, redes sociales, etc.)

Referencias

Cuándo Usar

Usa esta habilidad cuando trabajes en tareas relacionadas con su dominio principal o funcionalidad, como se describe anteriormente.

Individual skills in this repo

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

Skills relacionados