--- name: vibe-scene description: Author, repair, render, and inspect VibeFrame scene projects built from STORYBOARD.md and DESIGN.md. --- # Vibe Scene VibeFrame scene projects are editable video projects built from: - `STORYBOARD.md` - beats, narration, backdrop cues, duration hints - `DESIGN.md` - visual identity, palette, typography, motion rules - `compositions/scene-*.html` - per-beat HTML compositions - `index.html` - root timeline that references scene compositions - `assets/` and `renders/` - generated inputs and final outputs Use this skill when the user wants editable HTML-based scene composition, storyboard-to-MP4 work, or a host-agent authoring loop. Use the top-level commands for the main project lifecycle: ```bash vibe init my-video --profile agent --ratio 16:9 vibe build my-video vibe render my-video -o renders/final.mp4 ``` The `vibe scene ...` namespace is the lower-level authoring surface: `install-skill`, `compose-prompts`, `list-styles`, `add`, and `lint`. ## Pick The Right Path | Path | Use when | Commands | | -------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------ | | Host-agent authoring | Claude Code/Codex/Cursor writes the scene HTML from a plan (default) | `vibe build`, then `vibe scene compose-prompts` | | Deterministic template | CI or a human demo should produce scene HTML without a coding agent (no LLM call) | `vibe build --composer template` | | Single-scene draft | You need a quick template scene or fallback HTML | `vibe scene add` | Default recommendation for public demos and reproducible dogfood runs: ```bash vibe init my-video --profile agent --ratio 16:9 # edit DESIGN.md and STORYBOARD.md vibe build my-video \ --tts kokoro \ --skip-backdrop \ --skip-render # (the host agent authors compositions/scene-*.html, then re-run vibe build) vibe scene lint index.html --project my-video --fix vibe render my-video -o renders/final.mp4 --quality standard ``` Use `--skip-backdrop` when you want a low-cost composition test. Remove it when the demo should exercise OpenAI image generation from each beat's `backdrop` cue. ## Host-Agent Loop Use this when Claude Code or another coding agent should be the reasoner that authors `compositions/scene-*.html`. ```bash vibe build my-video \ --tts kokoro \ --skip-backdrop \ --skip-render vibe scene compose-prompts my-video --json ``` If `vibe build` returns a `needs-author` plan: 1. Read the compose plan. 2. Author each missing `compositions/scene-.html`. 3. Run `vibe scene lint index.html --project my-video --fix`. 4. Fix remaining lint errors by editing the HTML. 5. Run `vibe render my-video`. Hard rules for authored scene HTML: - Every timed element needs `data-start`, `data-duration`, and `data-track-index`. - Timed elements must have `class="clip"`. - GSAP timelines must be paused and registered on `window.__timelines`. - Do not use `Date.now()`, `Math.random()`, or network fetches in render paths. - Route final audio through root-level `