YYL Remotion Video
Turn an article, script, notes, or clear outline into a Remotion video project.
This skill is video-first: no click-driven web player, no web presentation/, no TTS
synthesis inside this workflow.
Core Output
my-video/
├── article.md
├── script.md
├── outline.md
├── notes.md
└── remotion/
├── src/Root.tsx
├── src/Composition.tsx
├── src/chapters/<NN>-<id>/
│ ├── <Chapter>.tsx
│ ├── narrations.ts
│ └── timing.ts
├── public/assets/
├── preview-stills/
└── out/
Bundled skill resources:
themes/ # color / typography systems
templates/ # copyable Remotion TSX starting points
references/ # craft, theme, and template guidance
Execution Strength
Decide before writing files:
| Strength |
Use When |
Behavior |
| Quick |
<= 450 Chinese chars, <= 60s, theme test, draft demo |
1 chapter, few beats, direct implementation |
| Standard |
1-4 min, normal publishable explainer |
script + outline, first chapter anchor, then continue |
| Strict |
> 4 min, brand/commercial/high-risk content |
fuller planning, more still checks, slower chapter review |
Report in one line:
I will use <Quick/Standard/Strict> because <length / risk / target>.
Workflow
Input Gate
- Proceed only if the user gives source text, a script, notes, or a clear outline.
- If they only give a topic, ask for material. Do not invent a full video.
Content Files
- Save source material to
article.md when provided.
- Save final spoken text to
script.md.
- Save development plan to
outline.md.
outline.md plans chapters, beats, screen content, information pool, assets.
outline.md does not prescribe exact animation implementation.
Theme Choice
- Use only themes bundled in this skill:
themes/command-film,
themes/studio-white, themes/research-desk.
- Do not reuse or import themes from
web-video-presentation.
Template Choice
- If the user asks for a known layout or animation mechanism, read
references/TEMPLATES.md.
- Use
templates/luxury-perspective-gallery for luxury dark portfolio,
3D perspective horizontal carousel, or premium agency gallery requests.
Remotion Project
Timing
- Do not synthesize audio.
- Estimate durations from narration and visual complexity.
- Default
fps = 30, width = 1920, height = 1080.
- Store text in
narrations.ts; store estimated durationFrames in timing.ts.
Implementation
- Read references/REMOTION-CRAFT.md before each
chapter.
- Animate with
useCurrentFrame(), interpolate(), Easing, and Sequence.
- Do not use CSS transition / CSS animation / GSAP for primary animation.
- Tailwind may style static layout, but Tailwind animation utilities are not allowed.
Verification
Notes
- Update
notes.md with fps, resolution, total frames, estimated duration,
checked stills, rendered mp4 path, and that audio/subtitles are post-production.
Theme Selection
| Theme |
Best For |
Feel |
command-film |
agents, terminal, automation, developer tools |
dark cinematic command room |
studio-white |
SaaS demos, launches, courses, product tutorials |
clean white product studio |
research-desk |
essays, reports, papers, business analysis |
calm analytical desk |
For full theme notes, read references/THEMES.md.
Template Selection
| Template |
Best For |
Feel |
luxury-perspective-gallery |
premium portfolio, product showcase, 3D horizontal carousel |
dark cyber-minimal agency slider |
charity-doodle-poster |
nonprofit posters, hand-drawn animal heroes, line-boil editorial web effects |
retro ink-brush stop-motion poster |
For full template notes, read references/TEMPLATES.md.
Remotion Rules
- Use
Composition in Root.tsx.
- Use
Sequence to place beats on the timeline.
- Use
useCurrentFrame() + interpolate() for motion.
- Place static assets in
remotion/public/assets/; reference with staticFile().
- Still checks are required before final render.
- The final mp4 is silent unless the user later supplies audio in post-production.
1---2name: yyl-remotion-video3description: Build 16:9 spoken-video compositions as standalone Remotion projects with React, TypeScript, frame-based animation, estimated durations, and direct mp4 rendering. Use when the user wants video files, Remotion, mp4 export, frame-accurate motion, post-production voiceover, or theme-driven video templates; do not use for click-driven web presentations.4---5
6# YYL Remotion Video
7
8Turn an article, script, notes, or clear outline into a **Remotion video project**.
9This skill is video-first: no click-driven web player, no web `presentation/`, no TTS
10synthesis inside this workflow.
11
12## Core Output
13
14```
15my-video/
16├── article.md
17├── script.md
18├── outline.md
19├── notes.md
20└── remotion/
21 ├── src/Root.tsx
22 ├── src/Composition.tsx
23 ├── src/chapters/<NN>-<id>/
24 │ ├── <Chapter>.tsx
25 │ ├── narrations.ts
26 │ └── timing.ts
27 ├── public/assets/
28 ├── preview-stills/
29 └── out/
30```
31
32Bundled skill resources:
33
34```
35themes/ # color / typography systems
36templates/ # copyable Remotion TSX starting points
37references/ # craft, theme, and template guidance
38```
39
40## Execution Strength
41
42Decide before writing files:
43
44| Strength | Use When | Behavior |
45|---|---|---|
46| Quick | <= 450 Chinese chars, <= 60s, theme test, draft demo | 1 chapter, few beats, direct implementation |
47| Standard | 1-4 min, normal publishable explainer | script + outline, first chapter anchor, then continue |
48| Strict | > 4 min, brand/commercial/high-risk content | fuller planning, more still checks, slower chapter review |
49
50Report in one line:
51
52```
53I will use <Quick/Standard/Strict> because <length / risk / target>.
54```
55
56## Workflow
57
581. **Input Gate**
59 - Proceed only if the user gives source text, a script, notes, or a clear outline.
60 - If they only give a topic, ask for material. Do not invent a full video.
61
622. **Content Files**
63 - Save source material to `article.md` when provided.
64 - Save final spoken text to `script.md`.
65 - Save development plan to `outline.md`.
66 - `outline.md` plans chapters, beats, screen content, information pool, assets.
67 - `outline.md` does **not** prescribe exact animation implementation.
68
693. **Theme Choice**
70 - Use only themes bundled in this skill: `themes/command-film`,
71 `themes/studio-white`, `themes/research-desk`.
72 - Do not reuse or import themes from `web-video-presentation`.
73
744. **Template Choice**
75 - If the user asks for a known layout or animation mechanism, read
76 [references/TEMPLATES.md](references/TEMPLATES.md).
77 - Use `templates/luxury-perspective-gallery` for luxury dark portfolio,
78 3D perspective horizontal carousel, or premium agency gallery requests.
79
805. **Remotion Project**
81 - Reuse existing `remotion/` if present.
82 - Create only if missing:
83 ```bash
84 npx create-video@latest --yes --blank --no-tailwind remotion
85 ```
86 - If a selected template requires Tailwind, create the project with Tailwind
87 support or add Tailwind before copying template files.
88 - Install dependencies only if `remotion/node_modules` is missing or Remotion
89 commands fail because dependencies are absent.
90
916. **Timing**
92 - Do not synthesize audio.
93 - Estimate durations from narration and visual complexity.
94 - Default `fps = 30`, `width = 1920`, `height = 1080`.
95 - Store text in `narrations.ts`; store estimated `durationFrames` in `timing.ts`.
96
977. **Implementation**
98 - Read [references/REMOTION-CRAFT.md](references/REMOTION-CRAFT.md) before each
99 chapter.
100 - Animate with `useCurrentFrame()`, `interpolate()`, `Easing`, and `Sequence`.
101 - Do not use CSS transition / CSS animation / GSAP for primary animation.
102 - Tailwind may style static layout, but Tailwind animation utilities are not allowed.
103
1048. **Verification**
105 - Run:
106 ```bash
107 cd remotion
108 npm run lint
109 ```
110 - Render at least one still per chapter, or 2-4 stills for a short full video:
111 ```bash
112 npx remotion still <composition-id> --frame=<frame> --scale=0.5 --output=preview-stills/<name>.png
113 ```
114 - Render mp4 when the stills look correct:
115 ```bash
116 npx remotion render <composition-id> out/<name>.mp4
117 ```
118
1199. **Notes**
120 - Update `notes.md` with fps, resolution, total frames, estimated duration,
121 checked stills, rendered mp4 path, and that audio/subtitles are post-production.
122
123## Theme Selection
124
125| Theme | Best For | Feel |
126|---|---|---|
127| `command-film` | agents, terminal, automation, developer tools | dark cinematic command room |
128| `studio-white` | SaaS demos, launches, courses, product tutorials | clean white product studio |
129| `research-desk` | essays, reports, papers, business analysis | calm analytical desk |
130
131For full theme notes, read [references/THEMES.md](references/THEMES.md).
132
133## Template Selection
134
135| Template | Best For | Feel |
136|---|---|---|
137| `luxury-perspective-gallery` | premium portfolio, product showcase, 3D horizontal carousel | dark cyber-minimal agency slider |
138| `charity-doodle-poster` | nonprofit posters, hand-drawn animal heroes, line-boil editorial web effects | retro ink-brush stop-motion poster |
139
140For full template notes, read [references/TEMPLATES.md](references/TEMPLATES.md).
141
142## Remotion Rules
143
144- Use `Composition` in `Root.tsx`.
145- Use `Sequence` to place beats on the timeline.
146- Use `useCurrentFrame()` + `interpolate()` for motion.
147- Place static assets in `remotion/public/assets/`; reference with `staticFile()`.
148- Still checks are required before final render.
149- The final mp4 is silent unless the user later supplies audio in post-production.