Division of labor: This skill governs "the order of a film from start to finish"; "how to make a certain segment of footage" →
cyxj-remotion-overlay; "write what you learned back into the rules after finishing" →cyxj-remotion-evolve. The three form a closed loop of produce (process)→ overlay (footage)→ sedimentation (sedimentation), referencing each other and not merged. Single source of truth discipline: This file only contains stage order + decision points + pointers,does not copy any rule text(how to write clamp, what animations are forbidden…… always go read the source of truth pointed to by the pointer). When the source of truth changes, this file does not need to change accordingly.
8-stage orchestration table
| Stage | What to do | Decision point | Source of truth |
|---|---|---|---|
| 0 Type determination | Decide which production path this film takes | Pure Remotion one-shot finished video, or Remotion outputs graphics layer + post-production (editing software) fine-cut overlay | Your own post-production SOP (not included in this repo) |
| 1 Kickoff | Decide the starting project | If it resembles an existing project → copy it; otherwise copy template/ to start a new project |
template/CLAUDE.md |
| 2 Initialization triple-check | Check item by item after the new project lands | Dependencies pinned without ^? Cross-repo alias CROSS_REPO_PKGS configured (template/remotion.config.ts)? zod schema inlined in the production layer src/Root.tsx? |
docs/HARD_RULES.md §7 / §10 / §9 |
| 3 Assembly | Assemble the props.json timeline |
Use the registry to select shot type (the list is based on the registry, do not hardcode); how to make each segment of footage (build natively or reuse) → delegate entirely to the overlay skill | kit/scenes/sceneMap.ts + cyxj-remotion-overlay |
| 4 Subtitles | Follow the subtitle pipeline according to type determination | Path A: Whisper transcription → subtitle correction → parseSrt into the film (<SrtCaptions>); Path B: subtitles go to post-production, Remotion does not burn in subtitles |
Your own subtitle SOP (this repo provides the <SrtCaptions> component) |
| 5 QA gate | Self-check before rendering the whole film | ① For each new/heavily modified shot npm run qa:still -- <type>(see below); ② check off the acceptance checklist item by item; ③ use remotion-rule-reviewer semantic review to approve |
assets/qa-still.mjs |
| 6 Render handoff | Produce the finished product and hand off | 4K decision: graphics-dominant → 1080 composition + --scale=2; live-action full-frame → native 4K project. R3F scene rendering with --gl=angle |
docs/HARD_RULES.md §10 |
| 7 Wrap-up | Sedimentation and evolution | Should in-project components be promoted into the kit? Should what was learned this time be written back into the rules? (the wrap-up evolution gate hook will remind as a fallback) | kit/CLAUDE.md component promotion section + cyxj-remotion-evolve |
One-click QA frame extraction (tool for stage 5)
Inthe production project root directoryrun (e.g. template/; project package.json already connected to qa:still entry):
npm run qa:still -- <type> # 默认从 ./props.json 取该 type 的 props/时长,抽入场/中段/落点 3 帧
npm run qa:still -- <type> --frames=a,b,c # 覆盖帧号;更多参数见 assets/qa-still.mjs 头注释
- Scaffold (qa-entry) auto-created, auto-deleted, artifacts land in
qa-frames/(automatically enters.gitignore)。 - The script only agrees to run in the root directory of the video production project; in the kit / repository root it will directly error out and exit.
- Why you must actually render one frame to see: tsc / compositions being all green still can't catch runtime errors; Chinese especially needs to be checked by eye (if the font isn't loaded properly it will fall back to tofu blocks, which you can't tell from the preview).
How to use it
- If the user says "start a new video" → follow the stages in order from stage 0; if they say "render / output video" → enter from stage 5, and only fill in gaps in the earlier stages.
- Each time you enter a stage, first read the files in that stage's "source of truth" list before starting work; this table is only responsible for "don't miss steps, don't mix up the order."
- Before changing any
.tsx/props.json, follow the official three checks (the hook will remind you).
Private accumulation notes:The author's complete production line also includes the front door for "one-click video from uploaded voiceover," the handoff SOP for post-production (editing software), the subtitle correction toolchain, and dozens of brand shots—these are private assets,not included in this repository. What this skill provides is a reusable process skeleton, and you're encouraged to accumulate your own layers using the same mechanism.