Get Claude to watch YouTube for you

After a one-time install in Claude Code, you paste a public YouTube link and Claude sends it to Google's Gemini, which reports back what is said and shown. Ordinary Claude chat cannot watch video.

Skill

What you need

  • Claude Code, Anthropic's coding tool, set up on your computer.
  • Python 3.10 or newer, which the skill's script runs on. Check yours with python3 --version in Terminal.
  • A free Gemini key from Google AI Studio.
  • A public YouTube link, or a video file on your computer.
  • The skill, from the box below.

If you only use Claude chat, ask Gemini instead, which needs none of this. I tested the install on a Mac, and Windows is untested.

The skill

The box shows the instructions Claude reads. Select Download to get the whole skill as a zip, with the script that sends the video to Gemini.

SkillWatch YouTube
---
name: watch-youtube
description: Watch public YouTube or a local video via Gemini (Claude cannot watch natively). Use for YouTube links, MP4s, or watch/summarise asks.
argument-hint: <youtube-url-or-path> [--prompt "..."] [--fps N] [--model ...]
disable-model-invocation: false
allowed-tools: Bash(python3 *) Read
---

# Watch YouTube (or a local video)

Watch the video for real. Do not invent scenes, speech, speakers, or on-screen text from the title or description.

## Prerequisites

- Python 3.10+
- `google-genai` installed (`python3 -m pip install google-genai`; if pip stops with `externally-managed-environment`, add `--user --break-system-packages`)
- `GEMINI_API_KEY` set in the shell (free key: https://aistudio.google.com/apikey)
- Public YouTube URL, **or** a local video file path (private / unlisted / age-gated YouTube links fail)

## Where this runs

This skill has to reach Google's Gemini API over the internet.

- **Claude Code:** works. The script runs on the user's own computer.
- **Claude chat on a personal plan:** does not work. The sandbox there cannot reach Google.

If the script fails with a network or connection error, stop. In Claude chat, tell the user this skill needs Claude Code, and that they can ask the Gemini app about the video instead. In Claude Code, tell the user to check their internet connection and try again. Never write a watch report from the title, the description or memory.

## When to use

- User pastes a YouTube link and wants you to watch it
- User attaches or points at a local `.mp4` / `.mov` / `.webm` and asks what happens
- User asks “watch this”, “what’s in this video”, “summarise this video”, “did they say X”

Do **not** use this skill to tear down ads for competitor stealing, rewrite hooks for a brand, or invent a transcript from a title.

## Steps

1. Work out the inputs from `$ARGUMENTS`, or from the user's message when the skill was triggered by plain language:
   - **source** (required): public YouTube URL (`youtube.com` / `youtu.be`) **or** path to a local video file
   - `--prompt` (optional): extra question for the watch (e.g. “List the three steps they demo”)
   - `--fps` (optional): frame sample rate for short / fast cuts (try `8`–`10` for Reels-length clips)
   - `--model` (optional): Gemini model id (default in the script)

2. Run the script. A link does not show whether a video is private or unlisted, so do not guess. If the script reports a permission error, pass on its message.

3. Run the script from this skill’s install folder (adjust the path if the user installed under a different skills root):

```bash
python3 ~/.claude/skills/watch-youtube/scripts/watch_video.py "<source>"
```

Always wrap the source in double quotes, because links contain `?` and `&` and file paths can contain spaces. Pass a plain-language question as `--prompt "..."` and a requested frame rate as `--fps N`.

4. Show the script’s stdout report to the user unchanged in structure. You may answer a follow-up question **only** from that report. If something was not in the video, say so.

5. On error, print the script’s exact stderr fix. Do not invent a fake watch report.

6. End by naming any names or numbers in the report that the user should check against the video before relying on them.

## Output contract (what “watched” means)

The report must cover:

1. **Short version** — 2–4 sentences of what actually happens
2. **Worth watching?** — one honest line (yes / skim / skip) with one reason grounded in the video
3. **Scene-by-scene** — `MM:SS` beats; only what is seen or heard
4. **Said** — speech / transcript, or honest silence
5. **Shown** — on-screen text, UI, demos (verbatim where possible)
6. **Not in the video** — anything the title or user hoped for that did not appear
7. **Open questions** — only if the video leaves something unclear

Never invent hooks, steal-worthy patterns, or speaker names that are not in the video.

Install it, step by step

  1. Download the skill from the box above and unzip it. You get a folder named watch-youtube. Keep that name, because the skill looks for its script inside it.
  2. Move the folder into Claude Code's skills folder. On a Mac, with the folder in Downloads, run mkdir -p ~/.claude/skills && mv ~/Downloads/watch-youtube ~/.claude/skills/ in Terminal. Anthropic's docs (read 29 September 2026) give that folder for personal skills.
  3. Install Google's helper, once. In Terminal, run python3 -m pip install google-genai. If it stops with externally-managed-environment, which Python from Homebrew does, run python3 -m pip install --user --break-system-packages google-genai instead. For any other error, paste it into Claude Code and ask for the fix.
  4. Create your key. At Google AI Studio, create an API key and copy it.
  5. Save the key under the name GEMINI_API_KEY. On a Mac, run echo 'export GEMINI_API_KEY=your_key_here' >> ~/.zshrc with your key in place of your_key_here. Then open a new Terminal window and start Claude Code from it, and the key stays saved.

Run it

Type either line into Claude Code, with your own link or file.

  • Watch this YouTube video with the watch-youtube skill: [paste link]
  • Use watch-youtube on this file and tell me the three steps they demo: [path to file]

What the report looks like

I ran the skill's script on OpenAI's launch video for ChatGPT Images 2.5 on 29 September 2026. The video is 58 seconds long and the report came back in about 12 seconds.

Nobody speaks in that video, so its transcript holds only music. The report has seven parts.

  • Short version: a showcase of five uses, from a home office for a pet fish to flowers for a dinner party.
  • Worth watching? Yes, as a quick visual overview.
  • Scene-by-scene: eight timed beats, such as 00:04 to 00:10, where someone asks ChatGPT to "Design a home office for my fish".
  • Said: no speech, only a backing track.
  • Shown: four on-screen titles and seven typed requests, quoted. I have not checked these against the video frame by frame.
  • Not in the video: prices, release dates, a narrator.
  • Open questions: none.

The honest bit

  • Gemini does the watching. Claude sends the video to Google's Gemini and reads the report that comes back.
  • Public videos only. Google's docs (read 29 September 2026) say private and unlisted videos cannot be used. For your own footage, point the skill at the file on your computer.
  • Your video goes to Google. Its pricing page (read 29 September 2026) says content sent on the free tier is used to improve its products, so keep private footage off a free key.
  • It can miss fast cuts. Google's video docs say Gemini looks at one frame a second by default. For a fast clip, ask Claude Code to watch it at 8 frames a second.
  • Check names and numbers yourself. In one test it gave a name for a person on screen that I could not confirm.
  • Two runs can differ. On the same video, one run said it was worth watching and the next said to skim it. The on-screen text it quoted matched both times.

No Claude Code? Ask Gemini instead

  1. Sign in at gemini.google.com. Google's help page (read 29 September 2026) says Gemini can find a YouTube video and help you understand what is in it.
  2. Check that Keep Activity is on. The same page says the feature is unavailable while it is off. With it on, your chats are saved to your Google account.
  3. Ask Gemini to find the video by its title, then ask what happens in it. You can try pasting the link first. Google's page never mentions pasting one, so I cannot promise it works.

A transcript is the last resort. On YouTube, open the video's description, select Show transcript (YouTube help, read 28 September 2026), copy it and paste it into Claude with your question. Claude then reads the words and sees none of the pictures.

Try it on one video today

Pick a short public video, send the first line above with its link, then watch the video and compare it with the report.

Questions people ask

Why can't Claude watch YouTube videos?

Ordinary Claude chat cannot watch video. The skill on this page gets round it in Claude Code by sending a public YouTube link to Google's Gemini, which reports back what is said and shown.

Can Free Claude watch videos?

Not in chat, and this skill needs Claude Code, which Anthropic's pricing page lists from Pro upward. On the free plan, copy the video's transcript from YouTube and paste it in, and Claude reads the words but sees none of the pictures.

Why does the skill not work in Claude chat on my personal plan?

Claude chat runs code in a sandbox. Anthropic's help page (read 29 September 2026) says that on personal plans the sandbox can reach approved package sources to install software, and Google's Gemini service is not among them. In Claude Code the script runs on your own computer, which can reach Google.

Does it cost anything?

The skill is free, and Google offers a free tier for Gemini keys with limits it sets. Claude Code needs a paid Claude plan: Anthropic's pricing page (read 30 September 2026) lists it from Pro upward, and the Free plan does not include it.

What if the skill says the model is not available?

Google retires models over time. It had closed the model this skill first used to new keys, so the script now names a current one. If that happens again, the error message says so. Ask Claude Code to run it again with a current model name from Google's models page.