video-memory — Claude Code skill: memory of watched videos
A persistent index of every video the agent has analyzed on this machine: frames, OCR, transcripts and past answers. Useful when you need to recall what was in a recording.
npx skills add oxbshw/watch-skill --skill video-memory -a claude-codeWhat video-memory does
The skill keeps a library under ~/.watch-skill/. Each analyzed video lands there with an id, title, duration and analysis time, so sessions do not wipe it — the more videos you run through, the denser the index gets.
Search is hybrid: keywords plus semantics, with Arabic folding and CJK and Thai segmentation handled. Hits come back as video plus timestamp, and you can follow up with a question about that specific recording. For questions no single video answers, a library synthesizer works from distilled notes, drills into evidence and cites video plus timestamp for each finding. When it says the library does not clearly answer, take that at face value instead of stitching a guess from weak hits.
The split is simple: "which video showed X" is search, while "what did we decide about X" is library ask. The skill needs Bash and Read, so the watch-skill commands have to be available on your system. A playlist or a folder of recordings goes in with a single batch call.
What it helps with
- find which video showed a specific error
- recall what a meeting decided about a topic
- search a phrase across every watched recording
- answer a question that spans several videos
- check whether a video was already analyzed
Example prompts for the agent
- have we watched anything about this error?
- which video had that slide, and at what timestamp?
- what did we decide about the pricing page across those meetings?
How to install video-memory
1Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill video-memory -a claude-code2Manually: put the files in place
~/.claude/skills/video-memory/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/video-memory/
1Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill video-memory -a codex2Manually: put the files in place
.agents/skills/video-memory/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill video-memory -a cursor2Manually: put the files in place
.cursor/skills/video-memory/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install oxbshw/watch-skill video-memory2Manually: put the files in place
.github/skills/video-memory/SKILL.md1Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill video-memory -a gemini-cli2Platform CLI
gemini skills install https://github.com/oxbshw/watch-skill --path skills/video-memoryManually: put the files in place
.devin/skills/video-memory/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill video-memory -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about video-memory
How do I install video-memory in Claude?
Run npx skills add oxbshw/watch-skill --skill video-memory -a claude-code. The skill then sits at ~/.claude/skills/video-memory/SKILL.md.
What does video-memory do?
It searches a persistent index of every analyzed video and answers questions from it: frames, OCR, transcripts and past answers all live in one library under ~/.watch-skill/.
How is search different from library ask?
search locates a video and timestamp for a phrase, while library ask answers a question no single video covers and cites video plus timestamp.
Source text
SKILL.md · MIT
--- name: video-memory version: "1.4.3" description: The user asks about videos watched in the past or across sessions — "have we watched anything about X", "which video showed that error", "what did that meeting decide", "search my videos", or a question that spans several videos. Use this to search and answer from the persistent cross-video index instead of saying you don't remember. license: MIT user-invocable: true allowed-tools: Bash, Read --- # Video memory Every video ever watched on this machine is still here — frames, OCR, transcripts, and past answers, in one persistent index under `~/.watch-skill/`. You never have to say "I don't remember that video." Sessions don't expire it; watching more videos makes it more useful. ## What's in the library? ```bash watch-skill list ``` Every indexed video: id, title, duration, when it was analyzed. Check here before watching anything — it may already be in memory from a previous session. ## Find something across all of it ```bash watch-skill search "<phrase or keywords>" ``` Hybrid keyword + semantic search across every video, any language (Arabic folding, CJK and Thai segmentation are handled). Hits come back with video + timestamp; follow up on a hit with: ```bash watch-skill ask <video_id> "<the user's actual question>" watch-skill ask <video_id> "what is on screen at <timestamp>?" ``` ## Questions that span videos "What did we decide about the pricing page across those meetings?" — questions no single video answers go to the library synthesizer: ```bash watch-skill library ask "<the question>" ``` It answers from distilled notes across every indexed video, drills into real evidence, and cites video + timestamp for each finding. When it says the library does not clearly answer, trust that — do not stitch a guess together from weak search hits. `watch-skill library overview` shows what the library knows (videos, note counts, entities recurring across videos). For "which video showed X" (locate, not synthesize), plain `search` is the right tool; then `ask` the hit video. ## Batches build memory fast A playlist or a folder of recordings goes in as one call — `watch-skill batch "<playlist-or-folder>"` — and the whole set becomes searchable memory (see `watching-videos`).
© oxbshw · MIT · oxbshw/watch-skill