watch · oxbshw — скилл для Claude Code: анализ видео
Скилл разбирает видео по ссылке или локальному пути: извлекает кадры, распознаёт текст и речь, а затем отвечает на вопросы по результату. Пригодится для разбора записи или проверки собственного интерфейса.
npx skills add oxbshw/watch-skill --skill watch -a claude-codeЧто делает watch
watch передаёт видео движку watch-skill: тот получает кадры с учётом смены сцен, распознаёт надписи и сначала ищет субтитры, а при их отсутствии использует локальный Whisper. Результат сохраняется в индексе, поэтому уточняющий вопрос не требует повторной обработки. Можно указать нужный отрезок или пропустить кадры и обработать только расшифровку.
Скилл также умеет сравнивать интерфейс с критериями проверки: он выдаёт замечания, а код исправляет агент. Для установки в Claude Code выполните npx skills add oxbshw/watch-skill --skill watch -a claude-code; файл скилла находится в ~/.claude/skills/watch/SKILL.md. Если watch-skill не доступен в PATH, установите его через pip install watch-skill или uv tool install watch-skill. Это важно: без CLI обработка не запустится. Для расшифровки API-ключ не нужен; облачную обработку речи нужно отдельно включить флагом --cloud-stt.
Какие задачи решает
- разобрать видео по ссылке или локальному файлу
- найти важный момент по временной отметке
- извлечь надписи и речь из записи
- задать уточняющий вопрос по уже обработанному видео
- проверить исправление интерфейса по критериям
Примеры запросов агенту
- Разбери видео по ссылке и перечисли ключевые моменты с временными отметками.
- Что происходит в ролике на отметке 2:30?
- Проверь интерфейс по заданным критериям и предложи исправления.
Как установить watch
1Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill watch -a claude-code2Вручную: положить файлы
~/.claude/skills/watch/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/watch/
1Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill watch -a codex2Вручную: положить файлы
.agents/skills/watch/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill watch -a cursor2Вручную: положить файлы
.cursor/skills/watch/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install oxbshw/watch-skill watch2Вручную: положить файлы
.github/skills/watch/SKILL.md1Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill watch -a gemini-cli2Командой платформы
gemini skills install https://github.com/oxbshw/watch-skill --path skills/watchВручную: положить файлы
.devin/skills/watch/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add oxbshw/watch-skill --skill watch -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о watch
Как установить watch в Claude Code?
Выполните npx skills add oxbshw/watch-skill --skill watch -a claude-code. Файл скилла появится по пути ~/.claude/skills/watch/SKILL.md.
Что делает watch?
Он извлекает кадры, распознаёт текст и речь, индексирует результат и отвечает на вопросы по видео. Последующие вопросы использует уже созданный индекс.
Нужен ли API-ключ для расшифровки видео?
Нет, скилл использует локальный Whisper, если субтитры недоступны. Облачная обработка речи включается отдельно флагом --cloud-stt.
Исходный текст
SKILL.md · MIT
---
name: watch
version: "1.4.3"
description: Watch any video (URL, stream, or local path) via Watch Skill. Downloads, extracts scene-aware deduped frames, OCRs them, transcribes (captions first, then local Whisper — offline by default), indexes everything, and hands the result to the agent. Follow-up questions are answered from the persistent index without re-processing.
argument-hint: "<video-url-or-path> [question]"
allowed-tools: Bash, Read, AskUserQuestion
license: MIT
user-invocable: true
---
# /watch (Watch Skill)
You don't have a video input; this skill gives you one. It is a thin wrapper
around the `watch-skill` CLI — all logic lives in the engine, so this skill
works identically on every harness (Claude Code, Codex, Cursor, ...).
This is a drop-in upgrade of the classic claude-video `/watch` skill:
same invocation shape, plus a persistent index (`ask` answers follow-ups
without re-processing), OCR on frames, scene-aware sampling with perceptual
dedup, local Whisper (offline by default, no API key needed), and THE LOOP
(capture -> critique -> fix -> re-capture) for iterating on your own output.
## Step 0 — Preflight (first invocation per session)
```bash
watch-skill doctor --json
```
- Exit 0 → proceed silently. Do NOT announce that setup is fine.
- Non-zero → the JSON lists each failing check with a `fix`. `doctor`
auto-bootstraps ffmpeg and yt-dlp into a managed bin dir on Windows/macOS/
Linux; re-run once after it reports fixes. Only involve the user when a
check still fails after remediation.
- If `watch-skill` itself is not on PATH: `pip install watch-skill` (or
`uv tool install watch-skill`), then re-run the doctor.
No API key is required for acquisition, transcription, OCR, indexing, or
search: transcription falls back to local faster-whisper. Visual synthesis
and verification can use the user's existing Anthropic, OpenAI, Gemini, or
OpenRouter key, or an optional local Ollama model. The agent and provider are
independent; see the `configuring-vision` skill. Cloud STT is opt-in
(`--cloud-stt`) and only ever uploads extracted mono audio — the video file
never leaves the machine.
## Step 1 — Watch
Parse the user input into source + optional question, then:
```bash
watch-skill watch "<source>" [--start T --end T] [--max-frames N] [--transcript-only]
```
- Any yt-dlp-supported site (1800+), direct media URLs, HLS/DASH manifests
(`--duration 60` bounds live streams), and local files all work.
- `--start` / `--end` (`SS`, `MM:SS`, `HH:MM:SS`) switch to dense focused
sampling of that window — use for "what happens at 2:30?" questions and for
any video over ~10 minutes when the user cares about one section.
- `--timestamps T1,T2,...` pins frames at transcript-flagged moments
("look here", "as you can see") that visual selection may miss.
- `--transcript-only` skips frames entirely (fastest; no video download when
captions exist).
- `--max-frames N` tightens the token budget (default: duration-tiered,
hard cap 100, max 2 fps).
The report prints an `Indexed: video_id ...` line, frames with `t=MM:SS`
timestamps, OCR text, and the transcript.
## Step 2 — Read the frames
Read every frame path the report lists, in a single message (parallel Read
calls), so you see them together in chronological order.
## Step 3 — Answer
Answer from frames + OCR + transcript, citing timestamps. No question →
summarize structure, key moments, notable visuals, spoken content.
## Follow-ups — use the index, not re-processing
The video is already indexed. For any follow-up question in this or a LATER
session:
```bash
watch-skill ask <video_id> "<question>" # self-healing answer + evidence
watch-skill search "<phrase>" # across every video ever watched
```
`ask` (v0.6) answers text-first with timestamped evidence, a confidence
score, and a `~N tokens saved` line. It escalates on its own when unsure
(dense re-sampling, zoom-crop re-OCR) and states plainly when the video
does not clearly show the answer — trust that refusal; do NOT invent an
answer past it. Frame paths are listed only when the engine wants you to
look yourself (or pass `--frames`); Read them then. Never re-run `watch`
for a follow-up on an already-indexed video.
If the user corrects one of your video answers, report it so the system
learns (locally):
```bash
watch-skill lessons add <video_id> "<question>" "<your wrong answer>" "<the correction>"
```
## THE LOOP — iterate on your own output
When the user asks you to fix UI/visual output and verify the fix:
```bash
watch-skill loop start "<url-or-screen:-or-file>" "<pass criteria>" [--script '<json steps>']
# ... you apply the suggested fixes ...
watch-skill loop iterate <loop_id>
```
The critique returns structured issues with timestamps and suggested fixes.
YOU change the code; the loop only observes. On pass it renders a
before/after MP4+GIF proof. `watch-skill capture "<target>"` records without
critiquing.
## Security posture
- The video file itself NEVER leaves the machine. Only extracted mono-16kHz
audio may go to a cloud STT API, and only with explicit `--cloud-stt`.
- No cookies, no logins — only public data is requested.
- API keys live in env vars / `.env`; they are never logged or echoed.
- Downloads are cached under `~/.watch-skill/cache` (LRU, size-capped).
© oxbshw · MIT · oxbshw/watch-skill
Похожие скиллы
Каталог скиллов SKILL.md →Сначала — watch от других авторов.