# 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 `