Claude has never watched a video. Not one, not ever — not on claude.ai, not in Claude Code, not anywhere. It reads documents and images, and that is the entire list. This open-source skill gives it eyes: it takes a video apart into still frames and a timestamped transcript, which are the two things Claude can already read. That's the whole trick, and it works remarkably well.
Almost everyone reading this has a memory of Claude answering a question about a video, which makes the paragraph above hard to believe. Here's what was actually going on in each case.
A video URL arrives wrapped in text: a title, a description, chapter names, tags, often a full subtitle track, sometimes a comment section. Claude can read every bit of that. On a well-documented video the answer that comes back is close to indistinguishable from having watched it — which is exactly why the illusion holds. Ask about something only visible on screen and it falls apart immediately.
Video formats aren't accepted, so nothing about the picture was ever analysed. What Claude still had was your filename and whatever you wrote in the message — “here's the recording of the checkout bug” is a lot to work from. A confident answer built on that is the hardest kind to catch, because nothing looks like it failed.
Some AI tools genuinely do take video as an input. Claude doesn't, and never has. When the chat windows all look the same, remembering which one did what a month ago is a coin flip.
Understanding this is what tells you when to trust the answer it gives you.
It checks whether the video already has subtitles. If it does, that's your transcript — free, instant, and no audio goes anywhere.
It pulls still images at the scene changes, tags each with its timestamp, then discards the near-identical ones so you don't pay twice for the same held slide.
Claude opens the frames as ordinary images alongside the transcript, and answers from both together.
Thirty seconds well spent, because one of these rows is you. I tested the Cowork case myself rather than trusting the documentation.
The route the project is built for. It runs on your own machine, with your own network and your own installed tools, so nothing sits in the way of it.
→ Skip the rest of this list and go to the install.The same skill installs into most other coding agents, because they all read the same skill format.
→ Onenpx line, in the install section below.
The project never mentions Cowork, so I checked it myself. Cowork runs its commands on a Linux sandbox whose network is locked to an approved list — so a pasted YouTube link fails, and the transcription step can't run either. What does work: ffmpeg is already installed there, so a video file in a folder you've connected can still be turned into frames.
The project documents this as supported, and there's no terminal setup involved — that sandbox brings its own tools. I couldn't verify what its network is allowed to reach, so I won't promise you links will resolve.
→ Worth a try. Upload the skill file, switch on code execution.Outside Cowork, the desktop app has nowhere to run the helper programs this depends on.
→ Use Claude Code instead, or Cowork for local files.Checked on 11 August 2026. Sandboxes change — if the Cowork one opens up later, links will start working there too.
Do this once and never again. Twenty minutes at the outside, and most of that is waiting for downloads. Work top to bottom; when you reach the two columns, pick your operating system and ignore the other one.
This is the part nobody explains. Claude Code isn't an app you click — there's no icon for it. It's a program that runs inside a terminal window, and the commands further down this page only work once you're in it. If you already use Claude Code daily, skip to the next step.
⌘ + Space, type “Terminal”, press Enter. On Windows: press the Windows key, type “PowerShell”, press Enter. Either way you get a plain window with a blinking text prompt. Nothing here is dangerous — it's just a place to type instructions instead of clicking them.
claude
✓ Claude greets you and the prompt changes — you're in. This is where every / command on this page goes. Type exit to leave.
✗ “command not found” → Claude Code isn't installed yet. Do step 3.
npm install -g @anthropic-ai/claude-code
⚠ Don't put sudo in front of it. It appears to work and then causes permission problems later that are genuinely annoying to unpick.
curl -fsSL https://claude.ai/install.sh | bash
claude again — the first time, it opens your browser to sign in. Then, back at the terminal prompt:
claude doctor
✓ A short report saying everything's in order.
Note: Claude Code needs a paid plan — Pro, Max, Team or Enterprise. It isn't on the free tier.
The skill leans on two small free tools: one fetches the video, the other slices it into stills. They're called yt-dlp and ffmpeg. You install them once and forget they exist. Everything in the columns below is installing those two and checking they landed.
brew --version
✓ Prints a version number → jump to step 3.
✗ “command not found” → do step 2 first.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
⚠ When it finishes it prints two more commands for you to run. Run them. Skip that and brew vanishes next time you open Terminal.
brew install ffmpeg yt-dlp
ffmpeg is a big one, so let it run.
ffmpeg -version yt-dlp --version
✓ Each prints a version number. Setup done.
winget is Windows' own installer, built into Windows 11.
winget --version
✓ Prints a version number → go to step 2.
✗ Not found → install “App Installer” from the Microsoft Store, then close and reopen PowerShell.
winget install Gyan.FFmpeg winget install yt-dlp.yt-dlp winget install Python.Python.3.12
Y then Enter.
⚠ Don't skip this. Windows only notices newly installed commands in a fresh window, and skipping it is the single most common reason people conclude the install failed.
ffmpeg -version yt-dlp --version python --version
✓ Each prints a version number. Setup done.
Start Claude Code by typing claude in your terminal, then type these at the Claude prompt — not at the plain terminal prompt you were just using. Getting those two confused is the most common snag on this whole page.
# first, in your terminal, start Claude Code: $ claude # then, at the Claude prompt that appears: > /plugin marketplace add bradautomates/claude-video > /plugin install watch@claude-video # months from now, to pick up fixes: > /plugin update watch@claude-video # on Cursor, Codex, Copilot and the rest — plain terminal, needs Node.js: $ npx skills add bradautomates/claude-video -g
Still at the Claude prompt. This downloads the video, pulls the frames, grabs the captions and answers. If it works, you're finished.
> /watch https://youtu.be/dQw4w9WgXcQ what happens at the 30 second mark?
watch.skill file from the project's latest release, then add it under Settings › Capabilities › Skills, and switch on Code execution and file creation in the same area first — without that, the skill has nothing to run. No terminal, no Homebrew, no Claude Code. Get the release file ↗Five failures account for almost all of them, and not one is a problem with the skill.
| What you see | What to do |
|---|---|
claude: command not found | Claude Code isn't installed. Step zero, item 3. |
brew: command not found | Homebrew isn't installed, or it is but didn't finish. Mac step 2 — including the two extra commands it prints at the end. |
ffmpeg not found on Windows, right after installing it | You're in the old window. Close PowerShell, open it again, check again. Restart the machine if it persists. |
/watch isn't recognised | The two plugin lines were typed at the plain terminal prompt instead of the Claude prompt. Run claude first, then type them. |
| It answers, but vaguely, on a long video | Coverage is spread thin across the whole thing. Re-run on the part you care about with --start and --end. |
| It can't read the text on screen | Frames are small by default. Add --resolution 1024. |
Add any of these to the end of a /watch command. You'll use the first two constantly and can ignore the rest until you need them.
Look at one stretch only. Denser coverage of the part that matters, a fraction of the cost, and a noticeably better answer. On anything longer than about ten minutes this is almost always the right move.
Makes on-screen text readable. Frames are deliberately small by default. Bump this whenever the point is slides, a dashboard, a terminal, code, or an ad with words on screen. The one you'll reach for most.
Never sends audio anywhere. You get frames and nothing else. Your default for any internal Wix recording — the next section explains why.
Removes the frame limit. Full coverage of something long, at the cost of a much bigger chunk of your session. Reach for it when a focused window genuinely won't do.
Words only, no pictures. Near-instant and almost free on a captioned video, because nothing gets downloaded. Good for “what was said” when you don't care what was shown.
The nuance here is the whole point. It isn't "safe" or "unsafe" — what matters is whether a step leaves Claude for somewhere nobody has vetted.
| What | Where it goes |
|---|---|
| The video file itself | Stays on your machine. Never uploaded anywhere. |
| The extracted frames | Sent to Claude as images — exactly like attaching a screenshot to a chat. The same terms your work already sits under. |
| Captions, when the video has them | Read out of the video, then sent to Claude as text. Same footing as the frames. |
| The audio — only when there are no captions | Sent to a third party, Groq or OpenAI, unless you switch it off. This is the one step that leaves Claude. |
| The temporary working folder | Frames and audio clips land in a temp folder on your own disk. Claude clears it when you're done. |
--no-whisper and it never happens at all. Public video with captions never triggers it anyway. Don't point this at an unlisted internal recording without that flag.Swap in your own link or file path. Everything else is written for you — run the command line first, then paste the question.
“Break down the hook. What happens in the first three seconds, what's on screen versus what's said, and what the strongest single moment is. Then tell me what you'd steal and what you'd avoid.”
“Give me notes: the main argument, the three or four points that carried it, anything shown on screen that wasn't said out loud, and the timestamps I'd want to jump back to.”
“Tell me plainly what is actually new, separating confirmed features from vague claims. Note anything demonstrated on screen but not stated, and flag anything that sounded like a capability but wasn't one.”
“Tell me exactly what the person did, step by step, where the behaviour goes wrong, and what the last correct state was before it broke. Quote any error text you can see on screen.”
/watch line, before your question — not buried inside the sentence. Written that way they're instructions; written into the request they're just words.--start and --end, or --detail token-burner when you truly need all of it.Six questions, about a minute. Most of the answers are on the project's front page.
None of that is a reason to avoid GitHub. It's a reason to spend a minute before, rather than an afternoon after. Check this one for yourself at github.com/bradautomates/claude-video ↗ — and Willow was vetted for you already, so start with The Willow Starter Kit →