Video watch
Turn a video into a note a future you can act on without re-watching it. The question this
skill answers is "what is the method, is it real, and what does it cost?" — not "what is
this video about."
0. Preflight — can Claude see video at all?
Check whether the mcp__claudetube__* tools are in your tool roster (e.g. process_video_tool,
get_transcript, get_hq_frames).
Present → go to §1.
Absent → stop and set it up. Say plainly: "I can't watch video yet on this machine —
it's a one-time setup, about ten minutes." Then follow
references/setup.md for the user's OS, one step at a time, checking
after each. There is a preflight script that reports exactly what's missing:
# Mac / Linux
bash "${CLAUDE_PLUGIN_ROOT}/skills/video-watch/scripts/preflight.sh"
# Windows (PowerShell)
powershell -ExecutionPolicy Bypass -File "${CLAUDE_PLUGIN_ROOT}\skills\video-watch\scripts\preflight.ps1"
After registering the MCP server the user must restart Claude Code before the tools
appear. Tell them that; don't keep retrying in the same session.
Never fake it. If you can't watch the video, do not produce a summary from the title, the
URL, the description, or what you "know" about the creator. A confident summary of a video
nobody watched is worse than no summary.
1. Ingest
mcp__claudetube__process_video_tool(<url or local file path>)
- First run on a video takes ~30–90 s (download + local transcription). It's cached after that,
so follow-up questions are instant.
- Instagram / TikTok URLs sometimes hit a login wall. If ingestion fails, ask the user to
download the file (any downloader works) and pass the local path instead. Don't loop on
the URL.
- Long videos (>20 min): call
get_scenes first and work chapter by chapter. Don't try to
hold a 90-minute transcript in your head at once.
2. Triage — decide how much to actually look at
Read the title, uploader, and first ~30 s of transcript, then decide:
| The payload is mostly… |
Do this |
| in the words (talking head, explainer, podcast) |
Transcript first. Pull frames only where something is visibly on screen — a spreadsheet, a config, a URL, a slide, a terminal. |
| on the screen (screen recording, tutorial, demo, walkthrough) |
Frames matter as much as the audio. Use get_hq_frames / describe_moment at the moments where the method is actually shown — the audio in a tutorial usually says "then you just do this" while the screen shows what "this" is. |
Use find_moments_tool("<what you're looking for>") to jump to a specific thing instead of
scrubbing. Use ask_video for a quick single question when the user doesn't want the full note.
Watch enough to answer §3 honestly — no more. A 60-second clip needs the transcript and a
frame or two. A 20-minute screen-recorded tutorial needs the frames, because the method is on
the screen and not in the narration.
3. Write the note
Reply in chat by default. If the user asked you to save it (or has said where notes live),
write one file per video: video-notes/<uploader>-<short-slug>.md in the current project,
and tell them the path.
# <Title> — <what it claims to do> (<Platform>, <YYYY-MM>)
**Source:** <url> · <duration> · <uploader>
**Watched:** <today's date> via claudetube
## One-line summary
<the method in one sentence — what they do, to get what>
## Shown vs. claimed
<Two short lists. SHOWN = you saw it work on screen or in the transcript with specifics.
CLAIMED = stated as a result but never demonstrated ("this got me 40 leads a week").
This section is the whole reason the note exists. Be strict.>
## The method
<ordered steps, in enough detail to rebuild it. If a step was hand-waved, say "(not shown)"
on that step rather than filling it in yourself.>
## Tools named
<one per line: name — what it's used for — price. Name ONLY what they actually name.
Price is a real number (subscription $/mo, credits, free-tier limit) or the words
"cost not stated". Never guess a price.>
## What's missing
<what they skipped, glossed over, or put behind a "link in bio" / lead magnet / paid course>
## Timestamps worth revisiting
<mm:ss — why. Only moments you'd actually want to re-check: a config, a number, a demo.>
## Verdict
**USE / TRY / SKIP** — <one line: why, for THIS user's situation if they've told you it>
Rules that keep the note honest
- Shown ≠ claimed. A result stated on camera is a claim. A result demonstrated on screen
with specifics is shown. Keep them in separate lists, always.
- Name only what they name. If they say "an AI tool" and never name it, write "an unnamed
AI tool" — don't fill in the one you think they meant.
- Every tool gets a price or "cost not stated." Never invent one.
- "(not shown)" beats a plausible guess. If a step is hand-waved, mark it. The gap is
information.
- The verdict is one line. If you need a paragraph, you don't have a verdict yet.
- Don't pad. A thin video gets a thin note. Five honest lines beat forty filler ones.
- Say what you didn't watch. If you sampled a 2-hour video, state which parts you covered.
4. Follow-ups
After the note, the video stays cached — the user can ask "what did they say about X",
"show me the screen at 4:10", "compare this to the other video" without re-ingesting.
list_cached_videos shows what's already been watched on this machine.
What this skill is NOT
- Not a transcript dumper. If the user just wants the transcript,
get_transcript and hand
it over — no note.
- Not a hype filter that always says SKIP. Real methods exist; the point is to separate them
from the ones that were only claimed.
1---2name: video-watch3description: Actually WATCH a video (YouTube, TikTok, Instagram, Vimeo, Loom, a local file — 1,500+ sites) and write a structured note on what it teaches: the method as steps, the tools named with their real price, what was SHOWN versus merely CLAIMED, what was skipped, and a USE / TRY / SKIP verdict. Uses the claudetube MCP server (free, runs locally, no API key). Trigger whenever the user pastes a video URL, or says "watch this", "what does this video teach", "summarize this video", "what's the method in this", "is this real", "take notes on this video", "what happens at minute N", or "/video-watch". If claudetube is not installed, this skill walks the user through the one-time setup (Mac or Windows) instead of guessing at the video's contents. Never summarize a video from its title, thumbnail, or memory — watch it or say you can't.4---56# Video watch78Turn a video into a note a future you can act on without re-watching it. The question this9skill answers is **"what is the method, is it real, and what does it cost?"** — not "what is10this video about."1112## 0. Preflight — can Claude see video at all?1314Check whether the `mcp__claudetube__*` tools are in your tool roster (e.g. `process_video_tool`,15`get_transcript`, `get_hq_frames`).1617- **Present** → go to §1.18- **Absent** → **stop and set it up.** Say plainly: *"I can't watch video yet on this machine —19 it's a one-time setup, about ten minutes."* Then follow20 [`references/setup.md`](references/setup.md) for the user's OS, one step at a time, checking21 after each. There is a preflight script that reports exactly what's missing:2223 ```24 # Mac / Linux25 bash "${CLAUDE_PLUGIN_ROOT}/skills/video-watch/scripts/preflight.sh"2627 # Windows (PowerShell)28 powershell -ExecutionPolicy Bypass -File "${CLAUDE_PLUGIN_ROOT}\skills\video-watch\scripts\preflight.ps1"29 ```3031 After registering the MCP server the user must **restart Claude Code** before the tools32 appear. Tell them that; don't keep retrying in the same session.3334**Never fake it.** If you can't watch the video, do not produce a summary from the title, the35URL, the description, or what you "know" about the creator. A confident summary of a video36nobody watched is worse than no summary.3738## 1. Ingest3940```41mcp__claudetube__process_video_tool(<url or local file path>)42```4344- First run on a video takes ~30–90 s (download + local transcription). It's cached after that,45 so follow-up questions are instant.46- **Instagram / TikTok URLs sometimes hit a login wall.** If ingestion fails, ask the user to47 download the file (any downloader works) and pass the **local path** instead. Don't loop on48 the URL.49- **Long videos (>20 min):** call `get_scenes` first and work chapter by chapter. Don't try to50 hold a 90-minute transcript in your head at once.5152## 2. Triage — decide how much to actually look at5354Read the title, uploader, and first ~30 s of transcript, then decide:5556| The payload is mostly… | Do this |57|---|---|58| **in the words** (talking head, explainer, podcast) | Transcript first. Pull frames only where something is visibly on screen — a spreadsheet, a config, a URL, a slide, a terminal. |59| **on the screen** (screen recording, tutorial, demo, walkthrough) | Frames matter as much as the audio. Use `get_hq_frames` / `describe_moment` at the moments where the method is actually shown — the audio in a tutorial usually says "then you just do this" while the screen shows *what "this" is*. |6061Use `find_moments_tool("<what you're looking for>")` to jump to a specific thing instead of62scrubbing. Use `ask_video` for a quick single question when the user doesn't want the full note.6364Watch **enough to answer §3 honestly** — no more. A 60-second clip needs the transcript and a65frame or two. A 20-minute screen-recorded tutorial needs the frames, because the method is on66the screen and not in the narration.6768## 3. Write the note6970Reply in chat by default. If the user asked you to save it (or has said where notes live),71write one file per video: `video-notes/<uploader>-<short-slug>.md` in the current project,72and tell them the path.7374```markdown75# <Title> — <what it claims to do> (<Platform>, <YYYY-MM>)7677**Source:** <url> · <duration> · <uploader>78**Watched:** <today's date> via claudetube7980## One-line summary81<the method in one sentence — what they do, to get what>8283## Shown vs. claimed84<Two short lists. SHOWN = you saw it work on screen or in the transcript with specifics.85 CLAIMED = stated as a result but never demonstrated ("this got me 40 leads a week").86 This section is the whole reason the note exists. Be strict.>8788## The method89<ordered steps, in enough detail to rebuild it. If a step was hand-waved, say "(not shown)"90 on that step rather than filling it in yourself.>9192## Tools named93<one per line: name — what it's used for — price. Name ONLY what they actually name.94 Price is a real number (subscription $/mo, credits, free-tier limit) or the words95 "cost not stated". Never guess a price.>9697## What's missing98<what they skipped, glossed over, or put behind a "link in bio" / lead magnet / paid course>99100## Timestamps worth revisiting101<mm:ss — why. Only moments you'd actually want to re-check: a config, a number, a demo.>102103## Verdict104**USE / TRY / SKIP** — <one line: why, for THIS user's situation if they've told you it>105```106107### Rules that keep the note honest1081091. **Shown ≠ claimed.** A result stated on camera is a claim. A result demonstrated on screen110 with specifics is shown. Keep them in separate lists, always.1112. **Name only what they name.** If they say "an AI tool" and never name it, write "an unnamed112 AI tool" — don't fill in the one you think they meant.1133. **Every tool gets a price or "cost not stated."** Never invent one.1144. **"(not shown)" beats a plausible guess.** If a step is hand-waved, mark it. The gap is115 information.1165. **The verdict is one line.** If you need a paragraph, you don't have a verdict yet.1176. **Don't pad.** A thin video gets a thin note. Five honest lines beat forty filler ones.1187. **Say what you didn't watch.** If you sampled a 2-hour video, state which parts you covered.119120## 4. Follow-ups121122After the note, the video stays cached — the user can ask "what did they say about X",123"show me the screen at 4:10", "compare this to the other video" without re-ingesting.124`list_cached_videos` shows what's already been watched on this machine.125126## What this skill is NOT127128- Not a transcript dumper. If the user just wants the transcript, `get_transcript` and hand129 it over — no note.130- Not a hype filter that always says SKIP. Real methods exist; the point is to separate them131 from the ones that were only claimed.