Find funny video moments, cut clips, reformat to 9:16 vertical, add captions.
---
name: clipify
description: Find the funniest moments in a video, cut them as standalone clips, optionally reformat 16:9 → 9:16 (face-pan or split-screen), and burn opus-style word-by-word captions. Use when the user mentions "clipify," "cut clips from this video," "make shorts from this," "find funny moments," "reframe to 9:16," "vertical clips," or pastes a video file path and wants social-ready cuts.
---
# Clipify
Find the funniest moments in a video, cut them as standalone clips, optionally reformat 16:9 → 9:16 (face-pan or split-screen), and burn opus-style word-by-word captions.
## Inputs
- A video file path (the user will provide it; otherwise ask)
- Optional: requested format (9:16, 16:9, 1:1) - if not given, ask after candidates are picked
- Optional: subtitle style preference - if not given, ask before captioning
## Tooling (use only the fastest path)
- **Whisper:** `whisper --model tiny.en --word_timestamps True --output_format json` (≈10× faster than `small.en`; quality fine for English). For non-English: `--model base` (drop `--language`).
- **ffmpeg:** add `-hwaccel videotoolbox` for decode and `-preset ultrafast` for renders. Use `-c:v libx264 -crf 20` for the final master.
- **Numpy** for audio alignment (FFT cross-correlation). No scipy/cv2 needed.
- **Scripts:** `<skill-dir>/scripts/` (where `<skill-dir>` is the directory containing this SKILL.md - typically `~/.claude/skills/clipify/`)
- `analyze.py` - speaker timeline from two ROI motion files
- `build_pan.py` - ffmpeg crop x-expression with hard cuts
- `build_ass.py` - opus-style ASS captions from whisper JSON
- `audio_align.py` - find offset of a sub-clip in a longer source… load the full skill through Skill Me