Installs into .claude/skills of the current project.
Are you the author of Openmontage Cinematic Compose Director?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/wanfeng1028-openmontage-cinematic-compose-director)
---
name: openmontage-cinematic-compose-director
version: "1.0.0"
description: 以调色、音频动态和画框处理为重点渲染电影感作品;适用于预告片、品牌片等需要精细后期合成与输出的电影感项目。
metadata:
license: AGPL-3.0
---
# Compose Director - Cinematic Pipeline
## When To Use
Render the cinematic piece with careful attention to grade, audio dynamics, and frame treatment. This is not a generic export step.
## Runtime Routing (MANDATORY first step)
Read `edit_decisions.render_runtime`. Cinematic work routes to:
- **`render_runtime="remotion"`** — default for video-led trailers using `CinematicRenderer`. Keeps video clips, transitions, and ambient overlays in one React-based pass.
- **`render_runtime="hyperframes"`** — for kinetic title cards, HTML/GSAP-driven trailers, launch-reel-style compositions, or explicit Three.js world fly-throughs. See `skills/core/hyperframes.md`. `hyperframes check` must pass before render.
- **`render_runtime="ffmpeg"`** — simple source-footage concat with no composition.
For a Blender world film, FFmpeg is the approved packager for the numbered
Blender image sequence and audio. It must not synthesize camera motion or replace
missing Blender frames with pan/zoom effects.
### Fast Full-Song Beat Montage (BMTS-Lite)
When the approved brief calls for a quick montage from one supplied music track
and already-selected video clips—with no reference matching, narration, titles,
or semantic clip selection—use `bgm_montage_lite` as the complete render path.
Pass the source audio, all intended source clips, the project directory, and the
requested aspect ratio (`auto` by default). The tool returns the MP4, timeline,
audiomap, and an OpenMontage render report after stream, dimension, duration,
and full-decode checks.
This is distinct from the professional reference-guided BGM Montage integration:
Lite does not need a reference video or API key and intentionally retains BMTS-Lite
source reuse and automatic framing. Do not add semantic selection, strict reuse
limits, Agent visual-review dependencies, or a second rendering engine to this
route. Use the existing composition runtimes for authored scenes and mixed-media
work; the professional BGM Montage route remains the choice for reference-style
matching and its stricter quality gates.
`delivery_promise.motion_required=true` means the locked runtime is a commitment. Silent swap to another runtime (including FFmpeg Ken Burns) is a CRITICAL governance violation. If the locked runtime fails, escalate per AGENT_GUIDE.md > "Escalate Blockers Explicitly."
**Pass `proposal_packet` to `video_compose.execute()`** so the tool's `runtime_swap_detected` check compares directly against `proposal_packet.production_plan.render_runtime`. Without it the swap check is skipped in-tool and only the reviewer skill catches the drift.
## Prerequisites
| Layer | Resource | Purpose |
|-------|----------|---------|
| Schema | `schemas/artifacts/render_report.schema.json` | Artifact validation |
| Prior artifacts | `state.artifacts["edit"]["edit_decisions"]`, `state.artifacts["assets"]["asset_manifest"]` | Edit plan and media assets |
| Tools | `video_compose`, `audio_mixer`, `video_stitch`, `video_trimmer`, `color_grade`, `audio_enhance` | Render and finishing |
| Playbook | Active style playbook | Finish consistency |
## Process
### 0. Check Hard Requirements Before Rendering
If the approved brief or scene plan makes motion a hard requirement, verify that the render path still preserves that promise.
- If Remotion is required and unavailable or failing, stop and bubble the issue to the user immediately.
- Do not switch to an FFmpeg-only still-image fallback for a motion-led trailer, teaser, or agent video.
- Do not convert the piece into an animatic unless the user explicitly approves that downgrade.
- If the render engine changes materially, tell the user before rendering and explain why.
**Mandatory Remotion preflight (run before every render when the scene plan includes any Remotion scene type — title cards, stat cards, anime/hero_title, end-tag, overlays):**
```bash
python -c "
from tools.tool_registry import registry
registry.discover()
info = registry.get('video_compose').get_info()
print('Render engines:', info.get('render_engines'))
print('Remotion note:', info.get('remotion_note'))
"
```
If Remotion is not in the available render engines, stop and report to the user per the Decision Communication Contract. Do not substitute a reduced-fidelity render path without approval.
### 1. Use Frame Treatment Deliberately
Only use letterbox, 24fps intent, or heavy grading if they help the piece. Do not apply them because the pipeline name says cinematic.
### 2. Preserve Audio Dynamics
The mix should allow:
- quiet moments,
- impact moments,
- clear dialogue or narration,
- controlled music swells.
### 3. Verify The Final Mood
Check:
- opening frame,
- reveal beat,
- final landing,
- subtitle readability where relevant.
### 4. Use Render Metadata
Recommended metadata keys:
- `frame_treatment`
- `grade_profile`
- `mix_notes`
- `variant_outputs`
## Common Pitfalls
- Flattening the audio so the piece loses dynamics.
- Applying letterbox to footage that needs every pixel.
- Letting grading or sharpening damage faces or text.
- Silently swapping a blocked Remotion render for a lower-fidelity still-image export.