Ergo Remotion Video
itwanger/toBeBetterJavaer
把口播稿做成二哥风格的 Remotion 视频,包括整理视频用稿、火山 TTS 配音、音画对齐、逐章动画预览和导出带配音的 MP4。用户说“做视频”“口播稿转视频”“Remotion”“继续做下一章”“出片”“渲染”“改读音”“配音读错了”,或给出 docs/src/ai/video/ 下的稿子要做成视频时使用。共享工具、配置和素材在…
Designing every cut of a video before the animatic - for each change from one style frame to the next, the object or idea that carries it, a transition chosen from the owner's remotion-transitions…
$ npx skills add GTKottman/mortiflix-oss --skill transition-board -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GTKottman/mortiflix-oss transition-board --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/GTKottman/mortiflix-oss.git skills-src && mkdir -p .claude/skills && cp -r skills-src/pipelines/_shared/skills/transition-board .claude/skills/transition-board && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "transition-board" agent skill from https://github.com/GTKottman/mortiflix-oss/tree/main/pipelines/_shared/skills/transition-board into .claude/skills/transition-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "transition-board", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/GTKottman/mortiflix-oss/tree/main/pipelines/_shared/skills/transition-boardType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add GTKottman/mortiflix-oss --skill transition-board -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GTKottman/mortiflix-oss transition-board --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GTKottman/mortiflix-oss.git skills-src && mkdir -p .agents/skills && cp -r skills-src/pipelines/_shared/skills/transition-board .agents/skills/transition-board && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "transition-board" agent skill from https://github.com/GTKottman/mortiflix-oss/tree/main/pipelines/_shared/skills/transition-board into .agents/skills/transition-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "transition-board", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GTKottman/mortiflix-oss --skill transition-board -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GTKottman/mortiflix-oss transition-board --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GTKottman/mortiflix-oss.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/pipelines/_shared/skills/transition-board .cursor/skills/transition-board && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "transition-board" agent skill from https://github.com/GTKottman/mortiflix-oss/tree/main/pipelines/_shared/skills/transition-board into .cursor/skills/transition-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "transition-board", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/GTKottman/mortiflix-oss.git --path pipelines/_shared/skills/transition-board--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add GTKottman/mortiflix-oss --skill transition-board -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GTKottman/mortiflix-oss transition-board --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GTKottman/mortiflix-oss.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/pipelines/_shared/skills/transition-board .gemini/skills/transition-board && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "transition-board" agent skill from https://github.com/GTKottman/mortiflix-oss/tree/main/pipelines/_shared/skills/transition-board into .gemini/skills/transition-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "transition-board", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install GTKottman/mortiflix-oss transition-boardInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add GTKottman/mortiflix-oss --skill transition-board -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GTKottman/mortiflix-oss.git skills-src && mkdir -p .github/skills && cp -r skills-src/pipelines/_shared/skills/transition-board .github/skills/transition-board && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "transition-board" agent skill from https://github.com/GTKottman/mortiflix-oss/tree/main/pipelines/_shared/skills/transition-board into .github/skills/transition-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "transition-board", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GTKottman/mortiflix-oss --skill transition-board -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GTKottman/mortiflix-oss transition-board --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GTKottman/mortiflix-oss.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/pipelines/_shared/skills/transition-board .opencode/skills/transition-board && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "transition-board" agent skill from https://github.com/GTKottman/mortiflix-oss/tree/main/pipelines/_shared/skills/transition-board into .opencode/skills/transition-board/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "transition-board", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
transition-boardDesigning every cut of a video before the animatic - for each change from one style frame to the next, the object or idea that carries it, a transition chosen from the owner's remotion-transitions…
Transition Board is an agent skill from GTKottman/mortiflix-oss. Designing every cut of a video before the animatic - for each change from one style frame to the next, the object or idea that carries it, a transition chosen from the owner's remotion-transitions library (or a new one inspired by it), its timing on the narration, and a board panel showing the real in-between frames. Use for any transitions step, or when a cut changes.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.
It sits in Media & Creative, covering Video production and Text to speech and voice. It works with Remotion. The repository describes itself as: A motion design studio on your own machine: Claude makes the video step by step, you approve every stage. Bring your own Claude Code or API key. The licence is AGPL-3.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8c86e83. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Transition Board loads about 2.2k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 1,021 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from GTKottman/mortiflix-oss at commit 8c86e83, republished under its AGPL-3.0 licence (© GTKottman). 1,021 words, ~2,185 tokens.
.claude/skills/transition-board/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Every cut is designed. Between each style frame and the next there is something that carries the change: a shape that grows, a line that leads the eye, a camera that moves, an element that becomes another. A transition without a carrier and a reason doesn't go on the board.
The screen never goes blank. No transition fills the frame with a colour (a cover or dip to purple, black or
any flat colour) or blows it out to white (a flash or light leak to white). The scenes' own elements do the
transition: they move, grow, open, fold, carry the eye, or a real object (2D or 3D) passes through the frame and
brings the next scene with it. board.mjs check looks at every 10% of each transition and fails a frame that is
flooded with a colour neither scene has, blown out, or emptied of the scenes' elements. Library transitions that
work by covering the frame (most of 04-cover, dips, flashes) are only usable if the cover itself is made of the
scenes' elements; otherwise choose another or make a new one.
The transitions come from the owner's library, remotion-transitions
($MFX_TRANSITIONS): 50 transitions in nine families, each a drop-in <TransitionSeries> presentation with a
catalog entry and a preview.
B=.claude/skills/transition-board/board.mjs
node $B list [--function section-break] [--family 04-cover] # choose
node $B use liquid-fill flash ... # copy them (and their core) into video/src/transitions/
node $B posters # the library's preview stills, for the board
node $B check # the rules: must pass
node $B panels # one review image per cutRead $MFX_TRANSITIONS/TAXONOMY.md (the nine families, how each works, timing and craft) and skim the catalog with
node $B list. Each entry says what it's for (function: continuity, energy, section-break, reveal, progression,
contrast, brand…), how it's built (structure, origin, edge), its length range in frames, and its parameters.
Most take color: the incoming scene's background colour, so the change arrives through a shape in the new
scene's own colour.
Go through the approved script and style frames in order. For every change of scene, before choosing anything, write:
$ in the price, the terminal window, the stage track's
next node, the mark, a line of text, the light)? A good carrier is already on screen.Pick from the library by what the cut means and what carries it, not for variety's sake:
3D carriers. A real 3D object can carry a cut: a wobbling sphere that flies at the camera and fills the lens
as it passes, revealing the next scene behind it; a ribbon or a swarm that sweeps across. Render it in the
studio's Blender (blender-3d skill) as a transparent image sequence (-F PNG, RGBA, film transparent) and use it
as the transition's layer, with the outgoing scene before it passes and the incoming scene after. The object is the
carrier, never a flat cover: the scenes stay visible around and through it.
If nothing in the library fits, design a new one, inspired by the library entries closest to it: write it in the
library's format (transition.json + index.tsx, built on video/src/transitions/core) in
video/src/transitions/<new-id>/, and mark it on the board as {"new": "<new-id>", "inspired_by": ["<id>", …]}.
Never edit the library itself (it's the owner's repository; a new transition worth sharing can be proposed there
through its CONTRIBUTING protocol later, by the owner).
Write transitions/board.json:
{ "cuts": [
{ "from": "SF01 · The hook", "to": "SF02 · The turn",
"a": "out/frames/sf01.png", "b": "out/frames/sf02.png",
"carrier": "the gradient inside the $5,400",
"why": "The price's colour floods the frame and drains away into the promise: the cost dissolves.",
"transition": "liquid-fill", "params": { "color": "#0B0913" }, "frames": 96,
"lands_on": "\"Now\", the first word of beat 2",
"mids": ["out/board/cut-01-35.png", "out/board/cut-01-65.png"],
"strip": ["out/board/cut-01/10.png", "…", "out/board/cut-01/90.png"] }
] }Cuts run through the scenes in order (each starts where the last ended). Run node $B check until it passes.
node $B use <id> … copies the library's core/ and each chosen transition into video/src/transitions/ with
their imports fixed. Use them exactly as the library says:
import { TransitionSeries, linearTiming } from '@remotion/transitions';
import { toPresentation } from './transitions/core';
import liquidFill from './transitions/liquid-fill';
<TransitionSeries.Transition presentation={toPresentation(liquidFill, { color: '#0B0913' })}
timing={linearTiming({ durationInFrames: 96 })} />Always linearTiming (each transition does its own easing). Transitions whose catalog entry requires webgl2
render with --gl=angle (or --gl=swangle with no GPU). Keep every cut in one place in the video's code (one
list of cuts), so a changed board changes the video in one edit.
For each cut, a board composition puts the two style frames in a <TransitionSeries> with the chosen transition and
renders real stills from the transition itself, at about 35% and 65% of its length, so the owner sees exactly
how one frame becomes the next:
const HOLD = 30; // frames of the outgoing still before the transition starts
<TransitionSeries>
<TransitionSeries.Sequence durationInFrames={HOLD + cut.frames}><Still src={cut.a} /></TransitionSeries.Sequence>
<TransitionSeries.Transition presentation={...} timing={linearTiming({ durationInFrames: cut.frames })} />
<TransitionSeries.Sequence durationInFrames={HOLD + cut.frames}><Still src={cut.b} /></TransitionSeries.Sequence>
</TransitionSeries>
// stills at frame HOLD + round(cut.frames * 0.35) and HOLD + round(cut.frames * 0.65)Also render the strip: a still every 10% of the transition (10% to 90%), listed as "strip" in the cut's
entry: the check reads every one of them for blank frames. Render through mfx render (npx remotion still … --frame=N, with --gl=angle where needed). Look at every in-between: if the carrier doesn't read in it, the cut
isn't working yet. Fix the choice, not the frame.
node $B posters, then node $B panels: one image per cut, reading left to right: the outgoing frame, the real
in-betweens, the incoming frame, and the library's preview still of that transition, dimmed, for reference.
Submit every panel as an image item, labelled Cut 03 · SF03 → SF04 · Liquid Fill (cover) · carried by the terminal window, and transitions/BOARD.md as a text item: for each cut, the carrier, the why, the transition and its
family, its length, and the word it lands on. The note: the video's transition vocabulary in two or three lines.
The approved board is the animatic's cut list: the animatic uses these transitions at these lengths, landing on these words.
© GTKottman, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in pipelines/_shared/skills/transition-board of GTKottman/mortiflix-oss.
Open the folder on GitHubat commit 8c86e83
Transition Board next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Transition Board this skillGTKottman/mortiflix-oss | 476 | — | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| Ergo Remotion Videoitwanger/toBeBetterJavaer | 18k | — | ~1.1k | Automated safety check: Pass | None | |
| Remotion Topic ExplainerCuongyd196/remotion-cuongit-template | 172 | — | ~2.2k | Automated safety check: Notes | None | |
| Remotion Topic ExplainerCuongyd196/remotion-cuongit-template | 172 | — | ~1.4k | Automated safety check: Notes | None | |
| Make Tsxhassancs91/claude-youtube-editor | 325 | — | ~1.9k | Automated safety check: Notes | MIT | |
| Synthetic Screen Recordingcalesthio/OpenMontage | 66k | — | ~2.5k | Automated safety check: Pass | MIT |
itwanger/toBeBetterJavaer
把口播稿做成二哥风格的 Remotion 视频,包括整理视频用稿、火山 TTS 配音、音画对齐、逐章动画预览和导出带配音的 MP4。用户说“做视频”“口播稿转视频”“Remotion”“继续做下一章”“出片”“渲染”“改读音”“配音读错了”,或给出 docs/src/ai/video/ 下的稿子要做成视频时使用。共享工具、配置和素材在…
Cuongyd196/remotion-cuongit-template
Creates professional 50-60s vertical explainer videos (9:16 format, 1080x1920 @ 30fps) for any given topic using Remotion, styled with modern aesthetics and narrated by natural voiceover using…
Cuongyd196/remotion-cuongit-template
Tạo video ngắn 50-60s dạng video dọc (9:16, 1080x1920 @ 30fps) giải thích bất kỳ chủ đề lập trình/công nghệ nào bằng Remotion.
hassancs91/claude-youtube-editor
Step 2 of the AI Video Editor pipeline — build the visual beats (Remotion TSX shots) over a project's master cut and bake a composited preview.
calesthio/OpenMontage
Synthetic terminal-style screen recording guidance for Remotion TerminalScene.
dracohu2025-cloud/draco-skills-collection
基于 Remotion 的词汇视频自动化生成 skill。输入一个英文单词,自动跑完诊断、TTS 音频、节奏分割、视频渲染、飞书上传和成本汇报。
GTKottman/mortiflix-oss
3D work in the studio's own Blender with its toolkits: MoBlend (MoGraph cloners, effectors, fields, MoText, fracture), Nova FX (particles, fire, sparks, fireworks), Camera (framing, shot presets…
GTKottman/mortiflix-oss
The music engine, for a song or a video's score. An agent skill from GTKottman/mortiflix-oss.
GTKottman/mortiflix-oss
Build, preview and render the video in Remotion (React): project setup from the template, stills for style frames, animatic and final renders through the studio's render queue.
GTKottman/mortiflix-oss
Narration, sound effects and music beds in the voice the studio set up (ElevenLabs, Qwen3-TTS on this machine's GPU, or the owner's own voice from the recording booth): lines from the approved…
GTKottman/mortiflix-oss
Finding and downloading stock assets (footage, images, illustrations, 3D models, sound effects, fonts) from the asset sites the owner uses, in the owner's own Chrome with browser-harness.
GTKottman/mortiflix-oss
Check a rendered video before anyone else sees it: format, black or frozen frames, loudness, true peak, and a frame sheet to look at.
Works with
Categories
Designing every cut of a video before the animatic - for each change from one style frame to the next, the object or idea that carries it, a transition chosen from the owner's remotion-transitions…. Transition Board is an agent skill from GTKottman/mortiflix-oss. Designing every cut of a video before the animatic - for each change from one style frame to the next, the object or idea that carries it, a transition chosen from the owner's remotion-transitions library (or a new one inspired by it), its timing on the narration, and a board panel showing the real in-between frames.
Transition Board fits situations like: any transitions step; tasks that involve Video production; tasks that involve Text to speech and voice.
Run `npx skills add GTKottman/mortiflix-oss --skill transition-board -a claude-code`. Or copy the skill folder (pipelines/_shared/skills/transition-board in GTKottman/mortiflix-oss) into .claude/skills/transition-board in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GTKottman/mortiflix-oss --skill transition-board -a codex`. Or copy the skill folder (pipelines/_shared/skills/transition-board in GTKottman/mortiflix-oss) into .agents/skills/transition-board in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GTKottman/mortiflix-oss --skill transition-board -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/transition-board, .gemini/skills/transition-board, .github/skills/transition-board and .opencode/skills/transition-board in your project.
Going by SKILL.md and its folder, Transition Board needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Transition Board is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Transition Board: Ergo Remotion Video (itwanger/toBeBetterJavaer, 18k stars), Remotion Topic Explainer (Cuongyd196/remotion-cuongit-template, 172 stars), Remotion Topic Explainer (Cuongyd196/remotion-cuongit-template, 172 stars) and Make Tsx (hassancs91/claude-youtube-editor, 325 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GTKottman (a GitHub user) maintains it in GTKottman/mortiflix-oss, which has 476 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 8, 2026.
Source: GTKottman/mortiflix-oss on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.