How to Install Claude Video on Claude Code, Codex, Cursor, and Other AI Hosts
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:
/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:
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:
- Download the pre-built
watch.skillbundle from the latest GitHub release - Navigate to Settings → Capabilities → Skills and click + to upload the file
- Enable "Code execution and file creation" to allow the skill to invoke
ffmpegandyt-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:
-
Clone the repository:
git clone https://github.com/bradautomates/claude-video.git -
Symlink the skill folder into your host's skill directory:
ln -s $(pwd)/claude-video/skills/watch ~/.claude/skills/watch # or for Codex/Cursor: ln -s $(pwd)/claude-video/skills/watch ~/.codex/skills/watch -
Optionally build a
.skillbundle for claude.ai using the provided script: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 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 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:
# 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:
- Download:
download.pychecks for native captions viayt-dlpand retrieves only the necessary video portion - Frame Extraction:
frames.pyusesffmpegto extract frames inefficient,balanced, ortoken-burnerdetail modes - Transcription:
transcribe.pyparses VTT captions or callswhisper.pyto generate timestamps via Groq or OpenAI - Analysis: Returns structured data to the host AI for multimodal processing
Summary
- Claude Code users install via
/plugin marketplace addfollowed 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.skillbundle and uploading via Settings - Developers can symlink
skills/watch/directly and usebuild-skill.shfor 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 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) 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. This file stores API keys for Whisper backends (Groq/OpenAI) and default extraction preferences, separate from the installation directory.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →