# How to Install Claude Video on Claude Code, Codex, Cursor, and Other AI Hosts

> Install Claude Video on Claude Code, Codex, Cursor, and claude.ai easily. Learn the simple slash command and bundle upload methods for seamless integration.

- Repository: [bradautomates/claude-video](https://github.com/bradautomates/claude-video)
- Tags: how-to-guide
- Published: 2026-07-19

---

**You can install the Claude Video watch skill via the Claude Code marketplace with two slash commands, use `npx skills add` for Codex and Cursor, or upload a pre-built bundle to claude.ai web—all methods share the same runtime files and behavior.**

The `bradautomates/claude-video` repository distributes a self-contained **watch** skill for video analysis that runs identically across any Agent Skills-compatible host. Whether you are using Claude Code, Codex, Cursor, or the claude.ai web interface, the installation process varies only in how the skill bundle is delivered, not in the underlying functionality.

## Installation Methods by Host Platform

### Claude Code (Recommended)

For users running Claude Code in the terminal, installation requires adding the marketplace repository and installing the specific skill:

```bash
/plugin marketplace add bradautomates/claude-video
/plugin install watch@claude-video

```

These commands register the skill globally, making the `/watch` command available immediately in any project context. According to the `bradautomates/claude-video` source code, this method is the preferred installation path for terminal-based Claude interactions.

### Codex, Cursor, Copilot, and Gemini CLI

For hosts that support the Agent Skills CLI—including Codex, Cursor, GitHub Copilot, Gemini CLI, and over 50 other platforms—install the skill globally using npx:

```bash
npx skills add bradautomates/claude-video -g

```

The `-g` flag installs the skill to your global skills directory (typically `~/.codex/skills/` or equivalent for Cursor), though you can omit it for per-project installation. This command clones the repository and places `skills/watch/` where the host expects to find it.

### claude.ai Web Interface

When using the browser-based claude.ai interface, you must manually upload the skill bundle:

1. Download the pre-built `watch.skill` bundle from the latest GitHub release
2. Navigate to **Settings → Capabilities → Skills** and click **+** to upload the file
3. Enable **"Code execution and file creation"** to allow the skill to invoke `ffmpeg` and `yt-dlp`

This manual upload is necessary because the web sandbox cannot access local package managers like npm or the Claude Code plugin system.

### Manual Installation for Development

To modify the skill or install from source:

1. Clone the repository:
   ```bash
   git clone https://github.com/bradautomates/claude-video.git
   ```

2. Symlink the skill folder into your host's skill directory:
   ```bash
   ln -s $(pwd)/claude-video/skills/watch ~/.claude/skills/watch
   # or for Codex/Cursor:

   ln -s $(pwd)/claude-video/skills/watch ~/.codex/skills/watch
   ```

3. Optionally build a `.skill` bundle for claude.ai using the provided script:
   ```bash
   bash skills/watch/scripts/build-skill.sh
   ```

## Unified Runtime Architecture

Regardless of installation method, all hosts load the identical directory structure from `skills/watch/`:

```

skills/watch/
├─ SKILL.md                # contract shared by every host

└─ scripts/
   ├─ watch.py            # entry point for /watch command

   ├─ download.py        # yt-dlp wrapper for video acquisition

   ├─ frames.py          # ffmpeg frame extraction logic

   ├─ transcribe.py      # caption parsing and Whisper fallback

   ├─ whisper.py         # Groq/OpenAI API client

   ├─ config.py          # reads ~/.config/watch/.env

   └─ setup.py           # pre-flight dependency checks

```

Because [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) resolves scripts relative to its own location, the skill behaves identically whether installed via marketplace, CLI, or manual symlink. No host-specific code paths exist in [`watch.py`](https://github.com/bradautomates/claude-video/blob/main/watch.py) or supporting modules, making maintenance and updates straightforward across platforms.

## Using the Watch Skill After Installation

Once installed, invoke the skill using the `/watch` command followed by a URL or file path:

```bash

# Analyze a YouTube video with automatic caption detection

/watch https://youtu.be/dQw4w9WgXcQ what happens at the 30-second mark?

# Analyze a specific segment with frame extraction

/watch https://youtu.be/abc --start 2:15 --end 2:45

# Force Whisper transcription when captions are unavailable

/watch video.mp4 --whisper groq

```

The skill executes a pipeline defined in [`skills/watch/scripts/watch.py`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/watch.py):

1. **Download**: [`download.py`](https://github.com/bradautomates/claude-video/blob/main/download.py) checks for native captions via `yt-dlp` and retrieves only the necessary video portion
2. **Frame Extraction**: [`frames.py`](https://github.com/bradautomates/claude-video/blob/main/frames.py) uses `ffmpeg` to extract frames in `efficient`, `balanced`, or `token-burner` detail modes
3. **Transcription**: [`transcribe.py`](https://github.com/bradautomates/claude-video/blob/main/transcribe.py) parses VTT captions or calls [`whisper.py`](https://github.com/bradautomates/claude-video/blob/main/whisper.py) to generate timestamps via Groq or OpenAI
4. **Analysis**: Returns structured data to the host AI for multimodal processing

## Summary

- **Claude Code** users install via `/plugin marketplace add` followed by `/plugin install`
- **Codex, Cursor, and 50+ hosts** use the global CLI: `npx skills add bradautomates/claude-video -g`
- **claude.ai web** requires downloading the `watch.skill` bundle and uploading via Settings
- **Developers** can symlink `skills/watch/` directly and use [`build-skill.sh`](https://github.com/bradautomates/claude-video/blob/main/build-skill.sh) for packaging
- All methods share the same runtime files in `skills/watch/`, ensuring consistent behavior across platforms

## Frequently Asked Questions

### Do I need to install ffmpeg and yt-dlp separately?

No. The first time you run the `/watch` command, [`skills/watch/scripts/setup.py`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/setup.py) performs a pre-flight check and guides you through installing `ffmpeg` and `yt-dlp` if they are missing. Alternatively, you can scaffold the configuration directory manually at `~/.config/watch/.env`.

### Can I use the same installation for both Claude Code and Cursor?

Yes. If you install manually by symlinking the `skills/watch/` directory into both `~/.claude/skills/` and `~/.codex/skills/`, both hosts will reference the same underlying code. However, updates via `npx skills add` or the marketplace apply only to the specific host where you ran the command.

### Why does claude.ai web require a manual upload while terminal hosts use commands?

The claude.ai web interface operates in a sandboxed browser environment without access to your local filesystem or package managers. The pre-built `watch.skill` bundle (generated by [`build-skill.sh`](https://github.com/bradautomates/claude-video/blob/main/build-skill.sh)) contains all necessary scripts, allowing you to upload a self-contained unit that runs within the web sandbox.

### Where is the skill configuration stored?

Global configuration resides in `~/.config/watch/.env`, read by [`skills/watch/scripts/config.py`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/config.py). This file stores API keys for Whisper backends (Groq/OpenAI) and default extraction preferences, separate from the installation directory.