← ClaudeAtlas

watchlisted

Watch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
rohitguta2432/agentic-os-skills · ★ 0 · AI & Automation · score 66
Install: claude install-skill rohitguta2432/agentic-os-skills
# /watch You don't have a video input; this skill gives you one. A Python script gets captions first, optionally downloads the video, extracts frames as JPEGs (scene-aware, or fast keyframes at `efficient` detail), gets a timestamped transcript (native captions first, then Whisper API as fallback), and prints frame paths. You then `Read` each frame path to see the images and combine them with the transcript to answer the user. ## Resolve `SKILL_DIR` (do this before any command) Every `python3 ...` command below runs a bundled script under `SKILL_DIR/scripts/`. Set `SKILL_DIR` to the **absolute path of the directory containing THIS SKILL.md you just Read** — your harness told you that path in the Read result. The scripts are always a direct sibling of this file (`SKILL_DIR/scripts/watch.py`), in every install layout: ``` Read ~/.claude/plugins/cache/claude-video/watch/<ver>/skills/watch/SKILL.md → SKILL_DIR=…/skills/watch Read ~/.codex/skills/watch/SKILL.md → SKILL_DIR=~/.codex/skills/watch Read ~/.agents/skills/watch/SKILL.md → SKILL_DIR=~/.agents/skills/watch ``` Substitute that literal path for `${SKILL_DIR}` in every command. This works on every harness (Claude Code, Codex, Cursor, Gemini CLI, …) without relying on any harness-specific environment variable. Guard once at the start of a run: ```bash SKILL_DIR="<absolute path of the directory containing the SKILL.md you Read>" if [ ! -f "$