Agent skill · Content & Marketing

watch-video

When you want to extract content from a video — YouTube, Loom, Vimeo, Riverside, Zoom recording, local MP4, X/IG video, anything yt-dlp supports. Three depth modes user picks per invocation — transcript (just words, fast/free), visual (transcript + ffmpeg frame extraction + Claude vision pass on key moments), multimodal (Gemini native video ingestion if $GEMINI_API_KEY set, else dense Claude vision). Uses MLX-Whisper local on Mac for transcription, falls back to platform-provided transcripts when available (Loom, Riverside, YouTube auto-subs). Saves to ~/Documents/videos/<source>-<slug>-<date>

coreyhaines31github.com/coreyhaines31GitHub ↗
claude-codeMIT
Install
npx skills add coreyhaines31/makerskills --skill watch-video --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 14 KB
Bundled scripts: none
Version: 0.2.2
Path: skills/watch-video/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 500

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# /watch-video — Transcribe and analyze any video at the depth you choose Replaces and broadens the prior `youtube-transcript` skill. YouTube is now one of many sources; depth is user-controlled. ## Step 1 — Parse input Accept: - **YouTube**: full URL, `youtu.be/<id>`, `youtube.com/shorts/<id>`, raw 11-char ID - **Loom**: `loom.com/share/<id>` or `loom.com/embed/<id>` - **Vimeo**: `vimeo.com/<id>` - **Riverside**: download URL or local file - **Zoom**: local `.mp4` from a downloaded recording - **X / IG / TikTok video**: URL — defers to `social-fetch` for metadata, uses yt-dlp for the file - **Local file**: any path to an `.mp4` / `.mov` / `.webm` / `.mkv` Detect source from URL pattern or file extension. If ambiguous, ask. ## Step 2 — Parse depth mode | Invocation | Mode | What you get | |---|---|---| | `/watch-video <url>` | **transcript** (default) | Clean text, metadata, optional chapters | | `/watch-video <url> transcript` | transcript | Same as default | | `/watch-video <url> visual` | visual | Transcript + frames at intervals + Claude vision pass identifying key moments | | `/watch-video <url> multimodal` | multimodal | Native video to Gemini (if `$GEMINI_API_KEY`), else den

What's inside
Steps it walks through
  1. Step 1 — Parse input
  2. Step 2 — Parse depth mode
  3. Step 3 — Pull metadata
  4. Step 4 — Build workdir
  5. Step 5 — Get the transcript
  6. Step 6 — If transcript mode: stop here
  7. Step 7 — If visual mode: extract frames + vision pass
  8. Frame extraction (ffmpeg)
  9. Vision pass
  10. Generate summary
  11. Step 8 — If multimodal mode
  12. Backend selection
  13. Multimodal output
  14. Step 9 — Optional: capture to second-brain
Commands it runs
yt-dlp --print "%(title)s|%(uploader)s|%(duration_string)s|%(upload_date>%Y-%m-%d)s|%(description)s" \
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "<file>"
python3 -c "import mlx_whisper; mlx_whisper.transcribe('<file>', path_or_hf_repo='mlx-community/whisper-large-v3-turbo')" \
yt-dlp -f "bv*[height<=720]+ba/b[height<=720]" -o "<workdir>/video.%(ext)s" "<url>"
YouTube VTT cleanup — de-dup rolling captions, strip tags, paragraph-break on cue gaps >2s
awk '
in_cue { gsub(/<[^>]+>/, "", $0); last = $0 }
END { if (last) print last }
mkdir -p "<workdir>/frames"
ffmpeg -i "<workdir>/video.mp4" -vf "fps=1/15" "<workdir>/frames/frame-%04d.png" -y
More from makerskills
All skills →
About this skill
What does the watch-video skill do?

When you want to extract content from a video — YouTube, Loom, Vimeo, Riverside, Zoom recording, local MP4, X/IG video, anything yt-dlp supports. Three depth modes user picks per invocation — transcript (just words, fast/free), visual (transcript + ffmpeg frame extraction + Claude vision pass on key moments), multimodal (Gemini native video ingestion if $GEMINI_API_KEY set, else dense Claude vision). Uses MLX-Whisper local on Mac for transcription, falls back to platform-provided transcripts when available (Loom, Riverside, YouTube auto-subs). Saves to ~/Documents/videos/<source>-<slug>-<date>

How do I install it?

Run `npx skills add coreyhaines31/makerskills --skill watch-video --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From coreyhaines31/makerskills, a repository with 500 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going