# Demo Video

Assemble ordered frames or clips with narration and optional synchronized scene...

- Repository: https://github.com/microsoft/hve-core (1591 stars)
- Category: Media
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add microsoft/hve-core --skill demo-video -g -a claude-code -y`
Codex: `npx skills add microsoft/hve-core --skill demo-video -g -a codex -y`
Cursor: `npx skills add microsoft/hve-core --skill demo-video -g -a cursor -y`
Gemini CLI: `npx skills add microsoft/hve-core --skill demo-video -g -a gemini-cli -y`

## Description

Assemble ordered frames or clips with narration and optional synchronized scene transitions into an MP4 via FFmpeg

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Demo Video Assembly Skill

This skill assembles a narrated demo video from ordered visual segments and matching narration audio. It is designed for first-pass walkthrough videos that combine captured prototype frames or clips with per-segment voiceover WAV files.

## Overview

The workflow takes a manifest that describes each segment, resolves the visual
source, and uses FFmpeg to render each segment into a normalized video clip
before assembling the final MP4. It supports hard cuts by default or optional
synchronized video and audio fades. The narration track is muxed from WAV files
so the output can be reviewed without a separate video-editing tool.

## Manifest Schema

Use a `segments.yml` manifest with optional top-level output settings and an ordered list of segments. Each entry describes a visual source and the narration audio to combine for that portion of the video. All paths resolve relative to the manifest file.

```yaml
output: ./output/demo.mp4   # optional; destination path for the assembled MP4
resolution: 1280x720        # optional; default 1280x720
fps: 24                     # optional; default 24
transition:                 # optional; omit for hard cuts
  type: crossfade
  duration: 0.5
  fade_in: true
  fade_out: true
segments:
  - type: frame
    visual: ./frames/intro.png
    narration: ./audio/intro.wav
    duration: 4.5
  - type: clip
    clip: ./clips/interaction.mp4
    narration: ./audio/interaction.wav
```

### Top-level fields

The rest: https://github.com/microsoft/hve-core/blob/HEAD/.github/skills/experimental/demo-video/SKILL.md
