Install any skill in seconds. Free to start, no credit card required.
Get Started Free →coreyhaines31/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 whe
Passed 19 of 21 test cases with the skill, and 9 of 21 without it.
and 8 more in the full report
10 fixed9 passed either way2 still failing0 broke2 errored
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
When $GEMINI_API_KEY is available and multimodal mode is activated for video analysis, which Gemini model should be targeted by default for fast, cost-effective multimodal generation?
| Checked | Without skill | With skill |
|---|---|---|
| Specifies gemini-3.5-flash as the default model. | Missed | Passed |
The instructions your model reads when the skill loads.
Replaces and broadens the prior youtube-transcript skill. YouTube is now one of many sources; depth is user-controlled.
Accept:
youtu.be/<id>, youtube.com/shorts/<id>, raw 11-char IDloom.com/share/<id> or loom.com/embed/<id>vimeo.com/<id>.mp4 from a downloaded recordingsocial-fetch for metadata, uses yt-dlp for the file.mp4 / .mov / .webm / .mkvDetect source from URL pattern or file extension. If ambiguous, ask.
| 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 dense Claude vision frame-by-frame |
If the depth isn't specified and the video is >10 minutes, ask before defaulting (visual/multimodal cost real money on long videos).
For URL sources, use yt-dlp:
yt-dlp --print "%(title)s|%(uploader)s|%(duration_string)s|%(upload_date>%Y-%m-%d)s|%(description)s" \
--print "%(chapters)j" --skip-download "<url>"
Capture: title, uploader/channel, duration, upload date, description (first paragraph), chapters (JSON or null).
For local files, use ffprobe:
test cases passed, vs 9 / 21 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.