video-to-giflisted
Install: claude install-skill cognyai/claude-code-marketing-skills
# Video to GIF
Convert a video (MP4, MOV, WebM) to a GIF that's **actually small** and **actually looks good** on the surface you're posting to. Pairs naturally with `/tiktok-launch-video`, `/reddit-launch-video`, and `/linkedin-launch-video` for sharing renders in places where MP4 isn't supported (Slack threads, X cards, GitHub READMEs, transactional emails).
GIF is a terrible video format — but it's everywhere, so we use FFmpeg's two-pass `palettegen` / `paletteuse` flow to make it look as good as the format allows.
## Usage
`/video-to-gif launch.mp4` — interactive, asks the target
`/video-to-gif launch.mp4 slack` — Slack-tuned
`/video-to-gif launch.mp4 reddit` — Reddit-comment-tuned
`/video-to-gif launch.mp4 github` — GitHub README–tuned
`/video-to-gif launch.mp4 twitter` — X / Twitter–tuned
`/video-to-gif launch.mp4 email` — transactional / newsletter–tuned
## Prerequisites
```bash
ffmpeg -version | head -1 # must exist
ffprobe -version | head -1
```
If FFmpeg isn't installed:
```bash
# macOS
brew install ffmpeg
# Debian/Ubuntu
sudo apt install ffmpeg
```
## Steps
### 1. Inspect the source
Run `ffprobe` to get the source's duration, dimensions, and frame rate. You need these to pick the right preset and to warn the user before producing something that won't fit.
```bash
ffprobe -v error -show_entries stream=width,height,r_frame_rate -show_entries format=duration -of default=noprint_wrappers=1 <input>
```
Capture: source width, source height, source duration