long-video-to-shortslisted
Install: claude install-skill joe-jns/long-video-to-shorts
# long-video-to-shorts
**One long video → N vertical captioned shorts, 100% local.** The agent transcribes,
picks the best moments, and — after the user approves the shortlist — cuts, reframes
to 9:16, and captions each one. French by default. See `DESIGN.md` for the full spec.
## When to use / not use
- **Use:** "fais-moi des shorts de cette vidéo", "découpe en clips verticaux",
"des reels à partir de ce podcast", "extrait les meilleurs moments".
- **Not this skill:** authoring a video from scratch (→ `hyperframes`), or captioning a
single already-short talking-head clip with cinematic VFX (→ `embedded-captions`
directly).
## Requirements (verified on this machine — see `_fixtures/ENV_NOTES.md`)
- ffmpeg/ffprobe, node, python 3.14 + **faster-whisper** (`pip install faster-whisper`)
- `yt-dlp` for URL intake, `embedded-captions` skill for the face-cam caption branch
- bundled font `assets/fonts/DejaVuSans-Bold.ttf`
## Pipeline (6 stages)
Pick a **project dir** (e.g. `~/shorts-jobs/<name>/`). All intermediates live in
`<project>/work/`, finals in `<project>/shorts/`.
```
1. INTAKE bash scripts/intake.sh <file-or-URL> <project> -> work/source.mp4
2. PROBE bash scripts/probe.sh <project> -> work/probe.json + work/contactsheet.png
Read the contact sheet. Classify each time-range: facecam or screen.
3. TRANSCRIBE HF_HUB_DISABLE_SYMLINKS_WARNING=1 \
python scripts/transcribe.py <project>/work/source.mp4