How to Use the /watch Command with Codex, Cursor, Copilot, and Claude Code
The /watch command works identically across Codex, Cursor, Copilot, and Claude Code through a host-agnostic skill design that uses relative paths and universal installation via npx skills add.
The /watch command from the bradautomates/claude-video repository allows AI agents to download YouTube videos, extract frames, and generate transcripts using a single slash command. Because the skill avoids host-specific environment variables like CLAUDE_SKILL_DIR and relies only on relative paths resolved from SKILL.md, the same installation and invocation pattern works across all major AI hosts without modification.
Installing the /watch Skill Across Different AI Hosts
The skill supports two installation paths depending on which AI host you are using. Both methods preserve the critical directory structure required by the scripts.
Universal Installation for Codex, Cursor, and Copilot
For hosts that support the Agent Skills CLI (including Codex, Cursor, and Copilot), install the skill globally using npm:
npx skills add bradautomates/claude-video -g
This command copies the entire skills/watch/ folder into the host’s plugin cache while maintaining the relative layout required by watch.py. The installation references the manifest in .codex-plugin/plugin.json to expose the /watch command.
Claude Code Installation
For Claude Code users, use the native marketplace commands:
/plugin marketplace add bradautomates/claude-video
/plugin install watch@claude-video
According to the installation table in AGENTS.md, this registers the skill using the manifest located at .claude-plugin/plugin.json.
How the /watch Command Works Under the Hood
When you invoke /watch, the entry point skills/watch/scripts/watch.py orchestrates a three-stage pipeline:
- Download:
skills/watch/scripts/download.pywraps yt-dlp to fetch video/audio streams - Frame Extraction:
skills/watch/scripts/frames.pycalls ffmpeg to extract frames at auto-detected fps - Transcription:
skills/watch/scripts/transcribe.pyandskills/watch/scripts/whisper.pyhandle local or API-based Whisper transcription
This architecture is deliberately host-agnostic. As implemented in skills/watch/SKILL.md, all script invocations use paths relative to the skill directory itself, never relying on environment variables that might differ between Codex, Cursor, or Copilot.
Configuring API Keys and Runtime Options
Optional configuration lives in skills/watch/scripts/config.py, which reads host-agnostic settings from a local environment file. To use a custom Whisper API key instead of local inference, create the following file:
mkdir -p ~/.config/watch
echo "WHISPER_API_KEY=your_key_here" > ~/.config/watch/.env
This configuration is loaded at runtime and is not version-controlled, keeping secrets out of the repository regardless of which AI host you use.
Using the /watch Command After Installation
Once installed, the command syntax is identical across all supported hosts. Provide a URL (or local file path) followed by an optional analysis question.
On Codex, Cursor, or Copilot:
/watch https://www.youtube.com/watch?v=dQw4w9WgXcQ "Summarize the main points about AI automation"
On Claude Code:
/watch https://youtu.be/dQw4w9WgXcQ "What is the speaker's argument regarding privacy?"
The skill processes the video independently and returns the transcript or summary as a chat message in the host interface.
Key Source Files in the Repository
Understanding these files helps with debugging or extending the functionality:
skills/watch/SKILL.md– Defines the canonical skill contract and/watchcommand metadataskills/watch/scripts/watch.py– Main entry point that orchestrates the download → frame extraction → transcription pipelineskills/watch/scripts/download.py– Wrapper around yt-dlp for reliable video fetchingskills/watch/scripts/frames.py– FFmpeg integration for frame extractionskills/watch/scripts/transcribe.pyandwhisper.py– Handles Whisper-based transcription (local or API)skills/watch/scripts/config.py– Loads runtime configuration from~/.config/watch/.env
Summary
- The
/watchcommand works across Codex, Cursor, Copilot, and Claude Code without host-specific modifications - Install via
npx skills add bradautomates/claude-video -gfor universal hosts, or/plugin installfor Claude Code - The skill uses relative paths from
SKILL.mdrather than environment variables likeCLAUDE_SKILL_DIR - Core pipeline runs through
watch.py, utilizingdownload.py,frames.py, andtranscribe.py - Configure API keys in
~/.config/watch/.envas read byconfig.py
Frequently Asked Questions
Is the /watch command available on all AI hosts that support Agent Skills?
Yes. Because the repository avoids host-specific environment variables and uses only relative path resolution from SKILL.md, any AI host implementing the Agent Skills specification—including Codex, Cursor, Copilot, and Claude Code—can run the /watch command without modification.
Where does the skill store temporary files and configuration?
The skill creates working directories relative to its installation path during execution. Permanent configuration, such as the WHISPER_API_KEY, is read from ~/.config/watch/.env as handled by skills/watch/scripts/config.py, keeping sensitive data outside the repository.
Can I use a custom Whisper API key instead of local transcription?
Yes. Create a file at ~/.config/watch/.env containing WHISPER_API_KEY=your_key. The config.py module loads this at runtime, allowing transcribe.py to switch from local Whisper inference to API-based transcription automatically.
Does the /watch skill require external dependencies like ffmpeg and yt-dlp?
Yes. The scripts in skills/watch/scripts/ require yt-dlp for video downloading and ffmpeg for frame extraction. These must be installed on your system and available in your PATH before invoking /watch, as the Python scripts call them via subprocess from download.py and frames.py respectively.
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 →