Atlas / Skills / bradautomates / Watch

WatchSAFE

skills/bradautomates/watch

Give Claude the ability to watch any video. /watch downloads, extracts frames, transcribes, hands it all to Claude.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
0.3.2
Hosts
—
License
MIT
Stars
18,883
01

Overview

Give Claude the ability to watch any video. /watch downloads, extracts frames, transcribes, hands it all to Claude.

Read from source at commit 29f69586b8c2OBSERVED · 2026-10-20
Advertisement
02

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: watch
description: Watch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or local WhisperX / cloud Whisper fallback), and hands the result to the agent so it can answer questions about what's in the video. With a Gemini API key, Google's agentic video model watches the full video instead.
license: MIT
allowed-tools: Bash, Read, AskUserQuestion
metadata:
  version: "0.3.2"
---

# /watch

Run the bundled Python script. With the **gemini** engine (a `GEMINI_API_KEY` is configured) Google's video model watches the video and the report carries its timestamped answer for you to relay. With the **local** engine the script produces timestamped frames and a transcript; view the frames and answer from that evidence. Native captions come first; the chosen local or cloud backend is only a fallback. Transcript-only evidence cannot establish visual facts.

## Resolve the skill and interpreter

`SKILL_DIR` is the absolute directory containing this SKILL.md; `scripts/` sits beside it.

Commands below use `python3` for macOS/Linux. On Windows, verify a working Python 3.10+ with `python --version` or `py -3 --version` and use that interpreter. `python3` is not always a Store alias; inspect the actual result. In PowerShell use `$SKILL_DIR` rather than Bash variable syntax, for example:

```powershell
python "$SKILL_DIR/scripts/setup.py" --json
```

Use the host's available shell, image viewer, and question tool. `AskUserQuestion` and Bash are examples, not requirements for every host.

## First run and setup

On the first invocation in a session:

```bash
python3 "${SKILL_DIR}/scripts/setup.py" --json
```

- `can_proceed` depends on base binaries for the local engine, not optional credentials. If it is false, run `setup.py` and confirm the binaries become available. macOS uses Homebrew; other systems get package commands. Do not use sudo automatically. With the Gemini engine (`engine` is `gemini`, `binaries_required` false), missing `ffmpeg`/`yt-dlp` do not block YouTube URLs but are still needed for other URLs and for `--engine local`; mention `missing_binaries` only when that matters.
- If `first_run` is false, proceed without announcing successful setup or asking preferences again. Existing installations without a backend setting retain `auto` (Groq key first, then OpenAI).
- If `first_run` is true, ask the engine question first, then (local engine only) the two choices below it. The wizard does not inspect RAM, disk, CPU, browser sessions, or other machine state; the user decides from the stated requirements.

**Question 1 — "How should watch view videos?"**

- `gemini` (recommended) — Google's Gemini model watches the whole video, including audio, and answers directly. Needs a free key from https://aistudio.google.com/apikey. YouTube URLs are sent to Google; local or downloaded videos are uploaded to Google, then deleted after the answer.
- `local` — frames + transcript extracted on this machine and read by you. No key needed.

If `gemini`, run:

```bash
python3 "${SKILL_DIR}/scripts/setup.py" --engine gemini
```

Exit 3 means the key is missing; the command has created `~/.config/watch/.env` for it. Point the user to https://aistudio.google.com/apikey for a free key and let them choose how to add it:

- **Paste it in chat.** Write it on the `GEMINI_API_KEY=` line of the config file (add the line if it is missing) with a file-editing tool, preserving the other lines.
- **Add it themselves.** Offer to open the config file in their text editor (`open -t` on macOS, `notepad` on Windows, `xdg-open` on Linux) so they can paste the key after `GEMINI_API_KEY=` and save. This only works when you run on the user's own computer; otherwise give them the file path.

Never print the key or put it in a shell command. Once it is saved, rerun `setup.py --engine gemini`. On exit 0 setup is complete — **skip the detail and transcription questions**; they only apply to the local engine. If `local`: run `setup.py --engine local` (this also installs missing base binaries and scaffolds the private config) and continue with the two questions below. An existing explicit `WATCH_ENGINE` is not asked again.

Ask for the default detail, lightest to heaviest:

1. `transcript`: no frames; skip media download when captions are available.
2. `efficient`: fast keyframe selection, cap 50.
3. `balanced` (recommended): scene-aware frames, cap 100.
4. `token-burner`: scene-aware, uncapped; high image cost.

If the detail question is skipped, retain `balanced`.

Then ask: **For videos without captions, how should watch transcribe?** Present:

1. `whisperx` (recommended): local transcription, no API key; audio stays on the machine. One-time download of about 1.5 GB. Requires 3 GB free disk, 8 GB RAM, and a compatible 64-bit CPU. Apple Silicon macOS is verified; Linux/Windows recipes and Intel macOS are untested.
2. `groq`: fast cloud transcription, needs a Groq key.
3. `openai`: cloud transcription, needs an OpenAI key.
4. `none`: captions only; no speech fallback.

Use an existing explicit backend choice without asking again. Do not treat silence as permission to install local models or upload audio; the no-key/no-install path remains available.

Complete the selected setup using the user's detail value:

```bash
python3 "${SKILL_DIR}/scripts/setup.py" --backend whisperx --detail balanced
# Or: --backend groq / openai / none
```

For WhisperX, relay progress while the installer provisions uv, Python 3.12, pinned dependencies, and both model caches. `setup.py --install-whisperx` reruns this managed installer if needed. It writes the backend, executable, model, and completion marker only after warm-up succeeds. A failed local installation never selects a cloud backend automatically.

For cloud, get the matching key the same way as the Gemini key (pasted in chat, or the user adds it after offering to open the config file), then rerun `setup.py --backen
03

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (4 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-10-20 · audit v0.4.1 · source sha 29f69586b8c2full audit observations/trust-audit/skill/bradautomates__watch.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-2029f69586b8c2SAFEB89first audit
05

Questions

What does the watch — bradautomates/claude-video skill do?

Give Claude the ability to watch any video. /watch downloads, extracts frames, transcribes, hands it all to Claude.

Is watch — bradautomates/claude-video safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can watch — bradautomates/claude-video access on my machine?

The audit observed that it reaches the network and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.

How current is this page?

The grade is for one exact copy of the source (29f69586b8c2), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Watch](https://modelsatlas.com/skills/bradautomates/watch/badge.svg)](https://modelsatlas.com/skills/bradautomates/watch/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement