Remotion — Toolkit Extensions
Toolkit-specific Remotion patterns — custom transitions, shared components, and project conventions.
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/remotion, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit digitalsamba/claude-code-video-toolkit/.claude/skills/remotion#main ~/.claude/skills/remotionFor one project only, change the path to .claude/skills/remotion. This skill also uses reference.md — copying SKILL.md alone won't be enough. See the folder on GitHub.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Source of Remotion — Toolkit Extensions
Show the full text158 lines
| name | description |
|---|---|
| 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. |
Remotion — Toolkit Extensions
Core Remotion knowledge lives in
.claude/skills/remotion-official/(synced from the official 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 Conventions
These are choices specific to this toolkit. For general Remotion best practices (interpolation clamping, useVideoConfig, delayRender, staticFile, no CSS animations), see the remotion-official skill.
- All projects use 30fps — Timing: frames = seconds × 30
- playbackRate must be constant — For variable/extreme speeds, pre-process with FFmpeg
- Video/audio components — Templates use
<OffthreadVideo>and<Audio>fromremotion. Upstream now also documents<Video>/<Audio>from@remotion/media(newer, has trim props + pitch shifting). Both render correctly; prefer the toolkit's choice when extending existing templates for consistency.
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.
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:
- Update this skill with improvements
- Create a PR to github.com/digitalsamba/claude-code-video-toolkit
Just say "improve this skill" and I'll guide you through updating .claude/skills/remotion/SKILL.md.
| 1 | |
| 2 | name remotion |
| 3 | 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. |
| 4 | |
| 5 | |
| 6 | # Remotion — Toolkit Extensions |
| 7 | |
| 8 | > **Core Remotion knowledge** lives in `.claude/skills/remotion-official/` (synced from the official [remotion-dev/skills] repo). This file covers **toolkit-specific** patterns only. |
| 9 | |
| 10 | ## Shared Components |
| 11 | |
| 12 | Reusable video components in `lib/components/`. Import in templates via: |
| 13 | |
| 14 | |
| 15 | import { AnimatedBackground, SlideTransition, Label } from '../../../../lib/components'; |
| 16 | |
| 17 | |
| 18 | | Component | Purpose | |
| 19 | |-----------|---------| |
| 20 | | `AnimatedBackground` | Floating shapes background (variants: subtle, tech, warm, dark) | |
| 21 | | `SlideTransition` | Scene transitions (fade, zoom, slide-up, blur-fade) | |
| 22 | | `Label` | Floating label badge with optional JIRA reference | |
| 23 | | `Vignette` | Cinematic edge darkening overlay | |
| 24 | | `LogoWatermark` | Corner logo branding | |
| 25 | | `SplitScreen` | Side-by-side video comparison | |
| 26 | | `NarratorPiP` | Picture-in-picture presenter overlay | |
| 27 | | `Envelope` | 3D envelope with opening flap animation | |
| 28 | | `PointingHand` | Animated hand emoji with slide-in and pulse | |
| 29 | | `MazeDecoration` | Animated isometric grid decoration for corners | |
| 30 | |
| 31 | ## Custom Transitions |
| 32 | |
| 33 | The toolkit includes a transitions library at `lib/transitions/` for scene-to-scene effects beyond the official `@remotion/transitions` package. |
| 34 | |
| 35 | ### Using TransitionSeries |
| 36 | |
| 37 | |
| 38 | import { TransitionSeries, linearTiming } from '@remotion/transitions'; |
| 39 | // Import custom transitions from lib (adjust path based on your project location) |
| 40 | import { glitch, lightLeak, clockWipe, checkerboard } from '../../../../lib/transitions'; |
| 41 | // Or import from @remotion/transitions for official ones |
| 42 | import { slide, fade } from '@remotion/transitions/slide'; |
| 43 | |
| 44 | <TransitionSeries> |
| 45 | <TransitionSeries.Sequence durationInFrames={90}> |
| 46 | <TitleSlide /> |
| 47 | </TransitionSeries.Sequence> |
| 48 | <TransitionSeries.Transition |
| 49 | presentation={glitch({ intensity: 0.8 })} |
| 50 | timing={linearTiming({ durationInFrames: 30 })} |
| 51 | /> |
| 52 | <TransitionSeries.Sequence durationInFrames={120}> |
| 53 | <ContentSlide /> |
| 54 | </TransitionSeries.Sequence> |
| 55 | </TransitionSeries> |
| 56 | |
| 57 | |
| 58 | ### Available Custom Transitions |
| 59 | |
| 60 | | Transition | Options | Best For | |
| 61 | |------------|---------|----------| |
| 62 | | `glitch()` | `intensity`, `slices`, `rgbShift` | Tech demos, edgy reveals, cyberpunk | |
| 63 | | `rgbSplit()` | `direction`, `displacement` | Modern tech, energetic transitions | |
| 64 | | `zoomBlur()` | `direction`, `blurAmount` | CTAs, high-energy moments, impact | |
| 65 | | `lightLeak()` | `temperature`, `direction` | Celebrations, film aesthetic, warm moments | |
| 66 | | `clockWipe()` | `startAngle`, `direction`, `segments` | Time-related content, playful reveals | |
| 67 | | `pixelate()` | `maxBlockSize`, `gridSize`, `scanlines`, `glitchArtifacts`, `randomness` | Retro/gaming, digital transformations | |
| 68 | | `checkerboard()` | `gridSize`, `pattern`, `stagger`, `squareAnimation` | Playful reveals, structured transitions | |
| 69 | |
| 70 | **Checkerboard patterns:** `sequential`, `random`, `diagonal`, `alternating`, `spiral`, `rows`, `columns`, `center-out`, `corners-in` |
| 71 | |
| 72 | ### Transition Examples |
| 73 | |
| 74 | |
| 75 | // Tech/cyberpunk feel |
| 76 | glitch({ intensity: 0.8, slices: 8, rgbShift: true }) |
| 77 | |
| 78 | // Warm celebration |
| 79 | lightLeak({ temperature: 'warm', direction: 'right' }) |
| 80 | |
| 81 | // High energy zoom |
| 82 | zoomBlur({ direction: 'in', blurAmount: 20 }) |
| 83 | |
| 84 | // Chromatic aberration |
| 85 | rgbSplit({ direction: 'diagonal', displacement: 30 }) |
| 86 | |
| 87 | // Clock sweep reveal |
| 88 | clockWipe({ direction: 'clockwise', startAngle: 0 }) |
| 89 | |
| 90 | // Retro pixelation |
| 91 | pixelate({ maxBlockSize: 50, glitchArtifacts: true }) |
| 92 | |
| 93 | // Checkerboard patterns |
| 94 | checkerboard({ pattern: 'diagonal', gridSize: 8 }) |
| 95 | checkerboard({ pattern: 'spiral', gridSize: 10 }) |
| 96 | checkerboard({ pattern: 'center-out', squareAnimation: 'scale' }) |
| 97 | |
| 98 | |
| 99 | ### Transition Duration Guidelines |
| 100 | |
| 101 | | Type | Frames | Notes | |
| 102 | |------|--------|-------| |
| 103 | | Quick cut | 15-20 | Fast, punchy | |
| 104 | | Standard | 30-45 | Most common | |
| 105 | | Dramatic | 50-60 | Slow reveals | |
| 106 | | Glitch effects | 20-30 | Should feel sudden | |
| 107 | | Light leak | 45-60 | Needs time to sweep | |
| 108 | |
| 109 | ### Preview Transitions |
| 110 | |
| 111 | Run the showcase gallery to see all transitions: |
| 112 | |
| 113 | |
| 114 | cd showcase/transitions && npm run studio |
| 115 | |
| 116 | |
| 117 | ## Toolkit Conventions |
| 118 | |
| 119 | These are choices specific to this toolkit. For general Remotion best practices (interpolation clamping, `useVideoConfig`, `delayRender`, `staticFile`, no CSS animations), see the `remotion-official` skill. |
| 120 | |
| 121 | **All projects use 30fps** — Timing: frames = seconds × 30 |
| 122 | **playbackRate must be constant** — For variable/extreme speeds, pre-process with FFmpeg |
| 123 | **Video/audio components** — Templates use `<OffthreadVideo>` and `<Audio>` from `remotion`. Upstream now also documents `<Video>`/`<Audio>` from `@remotion/media` (newer, has trim props + pitch shifting). Both render correctly; prefer the toolkit's choice when extending existing templates for consistency. |
| 124 | |
| 125 | ## Project Timing Conventions |
| 126 | |
| 127 | | Scene Type | Duration | Notes | |
| 128 | |------------|----------|-------| |
| 129 | | Title | 3-5s (90-150f) | Logo + headline | |
| 130 | | Overview | 10-20s | 3-5 bullet points | |
| 131 | | Demo | 10-30s | Adjust playbackRate to fit | |
| 132 | | Stats | 8-12s | 3-4 stat cards | |
| 133 | | Credits | 5-10s | Quick fade | |
| 134 | |
| 135 | **Pacing:** ~150 words/minute for voiceover. Voiceover drives timing. |
| 136 | |
| 137 | ## Advanced API |
| 138 | |
| 139 | For detailed API documentation on all hooks, components, renderer, Lambda, and Player APIs, see [reference.md]. |
| 140 | |
| 141 | ## License Note |
| 142 | |
| 143 | Remotion has a special license. Companies may need to obtain a license for commercial use. Check https://remotion.dev/license |
| 144 | |
| 145 | |
| 146 | |
| 147 | ## Feedback & Contributions |
| 148 | |
| 149 | If this skill is missing information or could be improved: |
| 150 | |
| 151 | **Missing a pattern?** Describe what you needed |
| 152 | **Found an error?** Let me know what's wrong |
| 153 | **Want to contribute?** I can help you: |
| 154 | Update this skill with improvements |
| 155 | Create a PR to github.com/digitalsamba/claude-code-video-toolkit |
| 156 | |
| 157 | Just say "improve this skill" and I'll guide you through updating `.claude/skills/remotion/SKILL.md`. |
| 158 |
Discussion
Browse more free Claude skills or everything in Content creator.
