ワンクリックで
carocut-reviewer
视频预览审查与最终渲染。Remotion Studio 预览启动、常见渲染错误排查、调试模式配置、渲染参数优化、用户反馈迭代流程、问题严重度分级(minor 自行修复 vs major 回退 builder)。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
视频预览审查与最终渲染。Remotion Studio 预览启动、常见渲染错误排查、调试模式配置、渲染参数优化、用户反馈迭代流程、问题严重度分级(minor 自行修复 vs major 回退 builder)。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Remotion Shot 组件实现。将 storyboard 转化为 React 组件。包含关键的帧计算规则(Math.round 强制)、interpolate 安全规则(最小 1 帧)、1080p 视觉标准、动画编排模式、音视频同步架构、组件复用模式。这是技术密度最高的 skill。
Remotion 资产管道。调用 project_migrate tool 将 raws/ 素材迁移到 template-project/public/ 并生成 resourceMap.ts、constants.ts、timing.ts。Agent 只需 edit constants.ts 中的 COLORS 和 FONTS。
音频素材生成与获取。批量 Edge TTS 旁白生成(支持 storyboard pacing 字段驱动语速)、BGM/SFX 检索(BGM 节奏匹配 BPM 规则)、音频时长提取。包含 Edge voice 配置、速度调整规则、durations.json 格式规范(含 audio_visual_relation 说明)和关键的音频时序规则。
视觉素材获取与生成。根据 resources.yaml 定义,通过库存图片/视频搜索(Pexels/Pixabay)或 AI 生图(Caro LLM)获取视觉素材。包含搜索策略、视觉隐喻搜索(counterpoint 声画关系)、构图感知搜索(framing 字段)、prompt 工程指南、素材质量评估标准。
旁白脚本口语化处理与情绪节奏标注。
视频制作策划。四阶段交互式策划流程:Creative Memo → Resources → Script → Storyboard。包含完整的影视标准(剪辑七律、景别、机位、灯光)、盖曼讲故事法则(叙事引擎、冰山理论、叙事声音、灵感堆肥、人物推进、幽默感、对白法则)、视听语言系统(情绪曲线、景别/运镜/节奏/张力/声画关系/转场)、文档模板和审批流程。
| name | carocut-reviewer |
| description | 视频预览审查与最终渲染。Remotion Studio 预览启动、常见渲染错误排查、调试模式配置、渲染参数优化、用户反馈迭代流程、问题严重度分级(minor 自行修复 vs major 回退 builder)。 |
Preview, debug, iterate with user feedback, and render final Remotion video. This phase validates the implementation and produces the deliverable.
When reviewing amendments rather than a full build:
When reviewing the preview, classify issues by severity to determine the correct action:
Issues the reviewer can fix directly without returning to the builder:
Issues that require the builder agent to fix:
When returning issues to the builder, use this structure:
{
"severity": "major",
"target_shots": ["Shot005_DataTable", "Shot006_ChartAnimation"],
"description": "Shot005 duration is 90 frames but VO_005+VO_006 total is 4.2s (126 frames). Shot cuts off before voiceover ends. Also cascades into Shot006 starting too early."
}
digraph preview_render {
"Type Check" [shape=box];
"Start Preview" [shape=box];
"User Review" [shape=diamond];
"Fix Issues" [shape=box];
"Test Render" [shape=box];
"Full Render" [shape=box];
"Verify Output" [shape=box];
"Complete" [shape=doublecircle];
"Type Check" -> "Start Preview";
"Start Preview" -> "User Review";
"User Review" -> "Fix Issues" [label="changes needed"];
"User Review" -> "Test Render" [label="approved"];
"Fix Issues" -> "Type Check";
"Test Render" -> "User Review" [label="issues found"];
"Test Render" -> "Full Render" [label="looks good"];
"Full Render" -> "Verify Output";
"Verify Output" -> "Complete";
}
Execute in order after any code change:
cd template-project
sh scripts/browser_install.sh
# 1. Type check
npx tsc --noEmit
# 2. Test render specific range (always output to out/)
npx remotion render MyComposition --frames=0-300 out/test.mp4
| Error | Cause | Fix |
|---|---|---|
inputRange must be strictly monotonically increasing | Equal or reversed inputRange values | Add Math.max(..., 1) to duration calculation |
TS6133: declared but never read | Unused variable/import from agent rewrite | Remove unused code |
| Shot cuts off early | Sequence duration mismatch | Sync all duration references (see Duration Sync Points in carocut-builder-compositor) |
| Audio offset | Duration changed but offset not updated | Adjust VO_SHOT_MAP offsets |
| Studio white screen (no error) | Component render exception | Open DevTools Console to see error |
| Blurry text | Font size too small for 1080p | Increase to 20px+ minimum |
| Low contrast text | Light text on light background | Use textPrimary or textDark |
| Asset not found | staticFile path incorrect | Check case sensitivity, path relative to public/ |
| Render hangs | Memory issue with large video | Use --concurrency=2 flag |
| Browser not found | Chromium not installed | Run npx remotion browser-ensure |
grep -rn "\* fps" src/ --include="*.tsx" --include="*.ts" | grep -v "Math.round"
grep -rn "\* FPS" src/ --include="*.tsx" --include="*.ts" | grep -v "Math.round"
grep -rn "fontSize:" src/ --include="*.tsx" | grep -E "fontSize:\s*[0-9]{1,2}[^0-9]" | grep -v "fontSize: [2-9][0-9]"
grep -n "export const" src/components/FlatDecorations.tsx | sort | uniq -d
Preview is auto-managed by the platform. When template-project/node_modules exists, the Studio is automatically started and accessible via the resource panel. Do NOT run npm run dev manually.
预览已自动启动,请在右侧资源面板中点击"Remotion 工作室"查看。
请检查以下方面:
1. 布局和定位
2. 动画流畅度
3. 字体可读性
4. 音画同步
5. 章节过渡
发现问题请描述,确认无误后输入"渲染"。
For each issue reported:
| Feedback | Typical Fix |
|---|---|
| "Text too small" | Increase fontSize |
| "Animation too fast" | Extend duration in secToFrames() |
| "Animation too slow" | Reduce duration |
| "Element appears too early" | Increase delay in stagger pattern |
| "Audio out of sync" | Adjust offset in VO_SHOT_MAP |
| "Missing background" | Check GradientBackground opacity |
| "Colors don't match" | Verify COLORS constants match memo |
cd template-project
npx remotion render MyComposition --frames=0-300 out/test.mp4
Use test render to:
All render output MUST go to the out/ directory so it appears in the resource panel.
# Standard quality (CRF 18)
npx remotion render MyComposition out/output.mp4
# High quality (CRF 15)
npx remotion render MyComposition --crf=15 out/output_hq.mp4
# Specify codec
npx remotion render MyComposition --codec=h264 out/output.mp4
| Flag | Description | Default |
|---|---|---|
--frames=0-300 | Render specific frame range | All frames |
--crf=18 | Quality (lower = better, bigger file) | 18 |
--codec=h264 | Video codec | h264 |
--concurrency=4 | Parallel render threads | CPU cores |
--scale=0.5 | Scale output (for draft renders) | 1 |
If render hangs or crashes:
npx remotion render MyComposition \
--concurrency=2 \
--gl=angle \
out/output.mp4
ffprobe out/output.mp4
Should show:
ffprobe -v quiet -print_format json -show_streams out/output.mp4
Duration: 00:04:23.00
Video: h264 (Main), yuv420p, 1920x1080, 30 fps
Audio: aac (LC), 48000 Hz, stereo
npx tsc --noEmitWhen changing shot duration:
预览准备就绪。
请在右侧资源面板中点击"Remotion 工作室"查看预览。
总帧数: 7834 帧 (4分21秒)
请检查:
- 布局和定位
- 动画流畅度
- 字体可读性
- 音画同步
- 章节过渡
确认无误后输入"渲染"。
修改已应用。
更新内容:
- Shot005: 字体大小 16px -> 24px
- Shot012: 动画延迟调整
预览已刷新,请确认效果。
测试渲染完成。
输出: out/test.mp4
范围: 0-300 帧 (前 10 秒)
大小: 12.3 MB
请播放确认质量。确认后输入"完整渲染"。
视频渲染完成。
输出: out/output.mp4
分辨率: 1920 x 1080
时长: 4分21秒
帧率: 30 fps
大小: 156.7 MB
验证:
视频流: h264, 正常
音频流: aac, 正常
文件位置: template-project/out/output.mp4
When using TransitionSeries, transition frames are "borrowed" from adjacent sequences:
Actual duration = Ch1 + Ch2 + Ch3 + Ch4 - (transitions x TRANSITION_FRAMES)
For simplified approach: Set root durationInFrames to sum of all chapters. Extra frames at end appear as brief black/fade - acceptable for most cases.
For precise control: Calculate exact overlap and subtract.
Before declaring complete:
template-project/out/ by defaultReferences Directory of Skill: carocut-builder-remotion-ref