# Claude Real Video

Watch a video for the user.

- Repository: https://github.com/HUANGCHIHHUNGLeo/claude-real-video (2278 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-23
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add HUANGCHIHHUNGLeo/claude-real-video --skill claude-real-video -g -a claude-code -y`
Codex: `npx skills add HUANGCHIHHUNGLeo/claude-real-video --skill claude-real-video -g -a codex -y`
Cursor: `npx skills add HUANGCHIHHUNGLeo/claude-real-video --skill claude-real-video -g -a cursor -y`
Gemini CLI: `npx skills add HUANGCHIHHUNGLeo/claude-real-video --skill claude-real-video -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add HUANGCHIHHUNGLeo/claude-real-video`

## Description

Watch a video for the user. Use when the user shares a video URL (YouTube etc.) or local video file and wants it summarized, analyzed, or discussed, Claude can't ingest video directly, so this skill extracts scene-aware keyframes + transcript first, then reads those.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# claude-real-video, let Claude actually watch a video

## When to use

The user gives you a video (URL or file path) and asks what's in it, to summarize it, to analyze its structure, or to answer questions about it.

## Requirements

- `pip install "claude-real-video[whisper]"` (installs the `crv` CLI; needs Python 3.10+ and ffmpeg)
- The `[whisper]` extra is required for speech-to-text, pip never installs extras on its own. The first transcription then downloads a whisper base model (~139 MB).

## Steps

1. Run the extractor (add `--grid` to cut image count ~9x, recommended):

   ```bash
   crv "<url-or-path>" -o crv-out --grid --why "<what the user wants to know>"
   ```

   For long videos cap the frames: `--max-frames 60`.

   If only part of the video matters (the user says "the demo about 28 minutes in", "just the last 5 minutes"), add `--from 28:00 --to 43:00`. It is much faster, and the timestamps crv reports stay source timecodes, so you can quote them as-is.

   If the meaning is small on-screen text (a terminal, a spreadsheet, a dense dashboard), add `--frame-width 1600`. The default 640 finds the right moment and then loses the detail. It costs more output, so use it only when the text itself is the point.

   Use one output folder per video (e.g. `-o crv-out/<slug>`). A folder that
   already holds an analysis is refused; pass `--overwrite` to replace it.

2. Read `crv-out/MANIFEST.txt` first, it summarizes the run (frame counts, frames dir) and includes the transcript. **Read the transcript from start to finish before writing any analysis**, sampling lines is only for locating timestamps; the strongest details are often in the tail. Frames are named in chronological order; transcript timings live in `transcript.json` when available.

3. Read the contact sheets in `crv-out/grids/` (each is a 3×3 sequence of consecutive keyframes, in chronological order). Only read individual `crv-out/frames/*.jpg` when you need a close-up of one moment.

The rest: https://github.com/HUANGCHIHHUNGLeo/claude-real-video/blob/HEAD/capafy-staging/.claude/skills/claude-real-video/SKILL.md
