/remotion
Toolkit-specific Remotion patterns — custom transitions, shared components, and project conventions. For core Remotion framework knowledge (hooks, animations, rendering, etc.), see the `remotion-official` skill.
$ npx -y skills add calesthio/OpenMontage --skill remotion --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/remotion
Context preview
The summary Claude sees to decide when to auto-load this skill.
Toolkit-specific Remotion patterns — custom transitions, shared components, and project conventions. For core Remotion framework knowledge (hooks, animations, rendering, etc.), see the `remotion-official` skill.
SKILL.md
remotion.SKILL.mdname: remotion
description: Toolkit-specific Remotion patterns — custom transitions, shared components, and project conventions. For core Remotion framework knowledge (hooks, animations, rendering, etc.), see the `remotion-official` skill.
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:
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
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';
<TransitionSeries>
<TransitionSeries.Sequence durationInFrames={90}>
<TitleSlide />
</TransitionSeries.Sequence>
<TransitionSeries.Transition
presentation={glitch({ intensity: 0.8 })}
timing={linearTiming({ durationInFrames: 30 })}
/>
<TransitionSeries.Sequence durationInFrames={120}>
<ContentSlide />
</TransitionSeries.Sequence>
</TransitionSeries>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
// 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:
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 `<Video>` for complex compositions 5. **delayRender for async** — Always block rendering until data is ready 6. **staticFile for assets** — Reference files from `public/` folder correctly 7. **All projects use 30fps** — Timing: frames = seconds × 30 8. **playbackRate must be constant** — For variable/extreme speeds, pre-process with FFmpeg
Project Timing Conventions
| Scene Type | Duration | Notes | |------------|----------|-------| | Title | 3-5s (90-150f) | Logo + headline | | Overview | 10-20s | 3-5 bullet points | | Demo | 10-30s | Adjust playbackRate to fit | | Stats | 8-12s | 3-4 stat cards | | Credits | 5-10s | Quick fade |
**Pacing:** ~150 words/minute for voiceover. Voiceover drives timing.
Advanced API
For detailed API documentation on all hooks, components, renderer, Lambda, and Player APIs, see [reference.md](reference.md).
License Note
Remotion has a special license. Companies may need to obtain a license for commercial use. Check https://remotion.dev/license
---
Feedback & Contributions
If this skill is missing information or could be improved:
- **Missing a pattern?** Describe what you needed
- **Found an error?** Let me know what's wrong
- **Want to contribute?** I can help you:
1. Update this skill with improvements 2. Cre
Read more
name: remotion description: Toolkit-specific Remotion patterns — custom transitions, shared components, and project conventions. For core Remotion framework knowledge (hooks, animations, rendering, etc.), see the `remotion-official` skill.
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:
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
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';
<TransitionSeries>
<TransitionSeries.Sequence durationInFrames={90}>
<TitleSlide />
</TransitionSeries.Sequence>
<TransitionSeries.Transition
presentation={glitch({ intensity: 0.8 })}
timing={linearTiming({ durationInFrames: 30 })}
/>
<TransitionSeries.Sequence durationInFrames={120}>
<ContentSlide />
</TransitionSeries.Sequence>
</TransitionSeries>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
// 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:
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 `<Video>` for complex compositions 5. **delayRender for async** — Always block rendering until data is ready 6. **staticFile for assets** — Reference files from `public/` folder correctly 7. **All projects use 30fps** — Timing: frames = seconds × 30 8. **playbackRate must be constant** — For variable/extreme speeds, pre-process with FFmpeg
Project Timing Conventions
| Scene Type | Duration | Notes | |------------|----------|-------| | Title | 3-5s (90-150f) | Logo + headline | | Overview | 10-20s | 3-5 bullet points | | Demo | 10-30s | Adjust playbackRate to fit | | Stats | 8-12s | 3-4 stat cards | | Credits | 5-10s | Quick fade |
**Pacing:** ~150 words/minute for voiceover. Voiceover drives timing.
Advanced API
For detailed API documentation on all hooks, components, renderer, Lambda, and Player APIs, see [reference.md](reference.md).
License Note
Remotion has a special license. Companies may need to obtain a license for commercial use. Check https://remotion.dev/license
---
Feedback & Contributions
If this skill is missing information or could be improved:
- **Missing a pattern?** Describe what you needed
- **Found an error?** Let me know what's wrong
- **Want to contribute?** I can help you:
1. Update this skill with improvements 2. Cre
World's first open-source, agentic video production system. 12 production pipelines, 100+ tools, 700+ agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.
Repo: calesthio/OpenMontage
Other skills on openmontage.
- /acestep
AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when generating music, soundtracks, jingles, or working with audio stems. Triggers include background music, soundtrack, jingle, music generation, stem
Open skill - /agents
Build voice AI agents with ElevenLabs. Use when creating voice assistants, customer service bots, interactive voice characters, or any real-time voice conversation experience.
Open skill - /ai-video-gen
Generate AI videos from text prompts using multiple provider gateways. Use when: (1) Generating videos from text descriptions, (2) Creating AI-generated video clips for content production, (3) Image-to-video generation with a reference image, (4) Choosing between video
Open skill - /avatar-video
Create AI avatar videos with precise control over avatars, voices, scripts, scenes, and backgrounds using HeyGen's v2 API. Use when: (1) Choosing a specific avatar and voice for a video, (2) Writing exact scripts for an avatar to speak, (3) Building multi-scene videos with
Open skill - /azure-speech-to-text
Transcribe audio to text using Azure AI Speech (Fast Transcription REST API). Use when converting audio/video to text, generating subtitles, or processing spoken content in OpenMontage. Optional cloud STT provider — preferred when AZURE_SPEECH_KEY is configured; the local
Open skill - /beautiful-mermaid
Render Mermaid diagrams as SVG and PNG using the Beautiful Mermaid library. Use when the user asks to render a Mermaid diagram.
Open skill

