# Remotion > Patrones de Remotion propios del toolkit: transiciones a medida, componentes compartidos y convenciones de proyecto. Para el framework en sí, mira el skill remotion-official. Fuente: https://skillsagentes.com/skills/calesthio/openmontage/remotion Markdown: https://skillsagentes.com/skills/calesthio/openmontage/remotion.md Repositorio: https://github.com/calesthio/OpenMontage Autor: calesthio Licencia: AGPL-3.0 Actualizado: hace 4 meses Coste de contexto: 53 tok instalada, 1.5k tok al activarse, 4.1k tok con todos los archivos del bundle Bundle: 2 archivos, 16 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add calesthio/OpenMontage --skill remotion --agent claude-code # Cursor npx -y skills add calesthio/OpenMontage --skill remotion --agent cursor # Codex npx -y skills add calesthio/OpenMontage --skill remotion --agent codex # Gemini CLI npx -y skills add calesthio/OpenMontage --skill remotion --agent gemini # Windsurf npx -y skills add calesthio/OpenMontage --skill remotion --agent windsurf # Cline npx -y skills add calesthio/OpenMontage --skill remotion --agent cline ``` ## Qué hace - Recoge los patrones de Remotion propios de este toolkit: componentes compartidos y convenciones de proyecto - Documenta transiciones a medida y cómo usarlas con `TransitionSeries` - Lista las transiciones disponibles, con ejemplos y guía de duración - Fija las convenciones de tiempos del proyecto y buenas prácticas del toolkit ## Cuándo usarla - Se trabaja con las extensiones de Remotion de este toolkit - Hacen falta transiciones a medida o componentes compartidos - Hay que seguir las convenciones de tiempos del proyecto ## Cuándo no - Conocimiento del framework Remotion en sí — hooks, animaciones, renderizado: usa el skill `remotion-official` ## Qué la activa - "Añade una transición a medida entre estas escenas" - "¿Qué componentes compartidos tengo disponibles?" - "¿Cuánto debe durar esta transición?" ## Antes de instalar - Remotion tiene una licencia especial: las empresas pueden necesitar licencia para uso comercial (https://remotion.dev/license). - Necesita en el PATH: npm ## Archivos - SKILL.md — 6 KB - reference.md — 10 KB ## SKILL.md Reproducido tal cual desde calesthio/OpenMontage bajo AGPL-3.0. Esta sección es el documento original y está en inglés. # Remotion — Toolkit Extensions > **Core Remotion knowledge** lives in `.claude/skills/remotion-official/` (synced from the official [remotion-dev/skills](https://github.com/remotion-dev/skills) repo). This file covers **toolkit-specific** patterns only. ## Shared Components Reusable video components in `lib/components/`. Import in templates via: ```tsx import { AnimatedBackground, SlideTransition, Label } from '../../../../lib/components'; ``` | Component | Purpose | |-----------|---------| | `AnimatedBackground` | Floating shapes background (variants: subtle, tech, warm, dark) | | `SlideTransition` | Scene transitions (fade, zoom, slide-up, blur-fade) | | `Label` | Floating label badge with optional JIRA reference | | `Vignette` | Cinematic edge darkening overlay | | `LogoWatermark` | Corner logo branding | | `SplitScreen` | Side-by-side video comparison | | `NarratorPiP` | Picture-in-picture presenter overlay | | `Envelope` | 3D envelope with opening flap animation | | `PointingHand` | Animated hand emoji with slide-in and pulse | | `MazeDecoration` | Animated isometric grid decoration for corners | ## Custom Transitions The toolkit includes a transitions library at `lib/transitions/` for scene-to-scene effects beyond the official `@remotion/transitions` package. ### Using TransitionSeries ```tsx import { TransitionSeries, linearTiming } from '@remotion/transitions'; // Import custom transitions from lib (adjust path based on your project location) import { glitch, lightLeak, clockWipe, checkerboard } from '../../../../lib/transitions'; // Or import from @remotion/transitions for official ones import { slide, fade } from '@remotion/transitions/slide'; ``` ### Available Custom Transitions | Transition | Options | Best For | |------------|---------|----------| | `glitch()` | `intensity`, `slices`, `rgbShift` | Tech demos, edgy reveals, cyberpunk | | `rgbSplit()` | `direction`, `displacement` | Modern tech, energetic transitions | | `zoomBlur()` | `direction`, `blurAmount` | CTAs, high-energy moments, impact | | `lightLeak()` | `temperature`, `direction` | Celebrations, film aesthetic, warm moments | | `clockWipe()` | `startAngle`, `direction`, `segments` | Time-related content, playful reveals | | `pixelate()` | `maxBlockSize`, `gridSize`, `scanlines`, `glitchArtifacts`, `randomness` | Retro/gaming, digital transformations | | `checkerboard()` | `gridSize`, `pattern`, `stagger`, `squareAnimation` | Playful reveals, structured transitions | **Checkerboard patterns:** `sequential`, `random`, `diagonal`, `alternating`, `spiral`, `rows`, `columns`, `center-out`, `corners-in` ### Transition Examples ```tsx // Tech/cyberpunk feel glitch({ intensity: 0.8, slices: 8, rgbShift: true }) // Warm celebration lightLeak({ temperature: 'warm', direction: 'right' }) // High energy zoom zoomBlur({ direction: 'in', blurAmount: 20 }) // Chromatic aberration rgbSplit({ direction: 'diagonal', displacement: 30 }) // Clock sweep reveal clockWipe({ direction: 'clockwise', startAngle: 0 }) // Retro pixelation pixelate({ maxBlockSize: 50, glitchArtifacts: true }) // Checkerboard patterns checkerboard({ pattern: 'diagonal', gridSize: 8 }) checkerboard({ pattern: 'spiral', gridSize: 10 }) checkerboard({ pattern: 'center-out', squareAnimation: 'scale' }) ``` ### Transition Duration Guidelines | Type | Frames | Notes | |------|--------|-------| | Quick cut | 15-20 | Fast, punchy | | Standard | 30-45 | Most common | | Dramatic | 50-60 | Slow reveals | | Glitch effects | 20-30 | Should feel sudden | | Light leak | 45-60 | Needs time to sweep | ### Preview Transitions Run the showcase gallery to see all transitions: ```bash cd showcase/transitions && npm run studio ``` ## Toolkit Best Practices 1. **Frame-based animations only** — Avoid CSS transitions/animations; they cause flickering during render 2. **Use fps from useVideoConfig()** — Make animations frame-rate independent 3. **Clamp interpolations** — Use `extrapolateRight: 'clamp'` to prevent runaway values 4. **Use OffthreadVideo** — Better performance than `