# How to Install the Watch Skill on Claude Code, Codex, Cursor, and Other AI Coding Hosts

> Easily install the watch skill on Claude Code, Codex, Cursor, and other AI hosts. Learn how this self-contained folder integrates seamlessly into any skills directory for unified project management.

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

---

**The watch skill installs as a self-contained folder (`skills/watch/`) that any host—whether Claude Code, Codex, Cursor, or claude.ai—copies verbatim into its skills directory, ensuring scripts always remain relative to the [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) contract.**

The **bradautomates/claude-video** repository distributes the `/watch` skill as a portable, host-agnostic package. Because the skill maintains a consistent internal structure with [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) and its `scripts/` directory as siblings, installation commands vary by host but always result in the same functional layout. This design eliminates path fragmentation across different AI coding environments.

## Self-Contained Folder Architecture

The installation reliability stems from the skill's **self-contained folder** design. According to [`AGENTS.md`](https://github.com/bradautomates/claude-video/blob/main/AGENTS.md) lines 7-12, the `skills/watch/` directory encapsulates everything required for execution:

- [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) — The canonical skill contract and entry point
- `scripts/` — Directory containing [`watch.py`](https://github.com/bradautomates/claude-video/blob/main/watch.py), [`download.py`](https://github.com/bradautomates/claude-video/blob/main/download.py), [`frames.py`](https://github.com/bradautomates/claude-video/blob/main/frames.py), [`transcribe.py`](https://github.com/bradautomates/claude-video/blob/main/transcribe.py), and helper modules

Because the entire folder is copied as a unit, the runtime can resolve `SKILL_DIR` to the directory containing [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) and reliably execute `${SKILL_DIR}/scripts/...` regardless of where the host places the skill (as noted in [`AGENTS.md`](https://github.com/bradautomates/claude-video/blob/main/AGENTS.md) lines 22-23). No host-specific variables like `${CLAUDE_SKILL_DIR}` or `${CURSOR_SKILL_DIR}` are required.

## Installation Methods by Host

### Claude Code (Plugin Marketplace)

Claude Code installs the watch skill through its native plugin system. The host reads the manifest from [`.claude-plugin/plugin.json`](https://github.com/bradautomates/claude-video/blob/main/.claude-plugin/plugin.json) and copies the entire `skills/watch/` directory into the user's Claude Code skill cache.

```bash

# Add the repository to the marketplace

/plugin marketplace add bradautomates/claude-video

# Install the specific skill

/plugin install watch@claude-video

```

The plugin manager handles the transfer automatically, placing [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) and `scripts/` in the correct relative positions.

### Codex, Cursor, and Agent-Skills CLI Hosts

For hosts supporting the Agent-Skills specification (Codex, Cursor, Copilot, and others), installation uses the global CLI tool referenced in [`.codex-plugin/plugin.json`](https://github.com/bradautomates/claude-video/blob/main/.codex-plugin/plugin.json) (which points to `"skills": "./skills/"`).

**Global installation** (available across all projects):

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

```

**Project-local installation** (restricted to current workspace):

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

```

The CLI reads [`skills/watch/SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/SKILL.md) to discover the skill, then copies the whole folder into host-specific directories like `~/.codex/skills/` or `~/.cursor/skills/`. You can target specific agents using flags: `-a codex -a cursor`.

### claude.ai Web Interface

The web host requires a pre-built archive rather than direct folder access. The repository includes [`skills/watch/scripts/build-skill.sh`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/build-skill.sh) to create this bundle.

```bash

# Build the uploadable bundle

bash skills/watch/scripts/build-skill.sh

# Creates dist/watch.skill

```

Upload the resulting `dist/watch.skill` file via **Settings → Capabilities → Skills**. The archive contains the identical `skills/watch/` directory structure, allowing Claude AI to execute [`watch.py`](https://github.com/bradautomates/claude-video/blob/main/watch.py) and its helpers in the cloud environment.

### Manual Development Installation

For development or unsupported hosts, manual installation works for any environment expecting a self-contained skill folder.

```bash

# Clone the repository

git clone https://github.com/bradautomates/claude-video.git

# Symlink or copy into the host's skill directory

ln -s "$(pwd)/claude-video/skills/watch" ~/.cursor/skills/watch

```

This approach preserves the critical requirement that [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) and `scripts/` remain siblings.

## Runtime Path Resolution

After installation, the skill uses **harness-agnostic path resolution** to locate its dependencies. At runtime, [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) resolves `${SKILL_DIR}` to the directory containing the contract file itself, then references `${SKILL_DIR}/scripts/watch.py` for execution.

This mechanism ensures that whether the host stores skills in `~/.claude/skills/`, `~/.codex/skills/`, or a custom project directory, the relative paths between [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) and [`scripts/download.py`](https://github.com/bradautomates/claude-video/blob/main/scripts/download.py), [`scripts/whisper.py`](https://github.com/bradautomates/claude-video/blob/main/scripts/whisper.py), and other modules remain valid.

## Summary

- The watch skill ships as a **self-contained folder** (`skills/watch/`) containing [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) and its `scripts/` directory as siblings.
- **Claude Code** uses `/plugin install` commands to copy the folder into its skill cache.
- **Codex, Cursor, and Agent-Skills hosts** use `npx skills add` with optional `-g` (global) or `-a` (agent-specific) flags.
- **claude.ai** requires the `dist/watch.skill` archive built via [`skills/watch/scripts/build-skill.sh`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/build-skill.sh).
- **Path resolution** uses `${SKILL_DIR}` relative to [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md), eliminating host-specific environment variables.

## Frequently Asked Questions

### What makes the watch skill compatible with multiple AI coding hosts?

The compatibility stems from the **Agent-Skills specification** implemented in [`AGENTS.md`](https://github.com/bradautomates/claude-video/blob/main/AGENTS.md). By keeping [`SKILL.md`](https://github.com/bradautomates/claude-video/blob/main/SKILL.md) and the `scripts/` directory in a fixed relative structure, the skill treats its installation directory as a portable unit. Any host that copies the entire `skills/watch/` folder maintains the integrity of internal paths, allowing `${SKILL_DIR}` resolution to work identically across Claude Code, Codex, Cursor, and claude.ai.

### Can I use the same installation command for both Codex and Cursor?

While the base command is identical (`npx skills add bradautomates/claude-video`), you can specify target hosts using the `-a` flag. For example, `npx skills add bradautomates/claude-video -a codex` installs only for Codex, while `npx skills add bradautomates/claude-video -g` installs globally for all Agent-Skills-compatible hosts including Cursor. Both hosts ultimately copy the same `skills/watch/` folder structure to their respective directories (`~/.codex/skills/` or `~/.cursor/skills/`).

### How do I install the watch skill for local development without using the marketplace?

Clone the repository and manually link the skill folder into your host's specific skills directory. For example, run `ln -s "$(pwd)/claude-video/skills/watch" ~/.cursor/skills/watch` for Cursor or copy the folder to `~/.claude/skills/watch` for Claude Code. This method bypasses version managers and allows you to modify [`skills/watch/scripts/watch.py`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/watch.py) and helper modules while testing changes immediately.

### Why does the claude.ai web interface require a different installation file format?

The web interface lacks direct filesystem access to clone repositories, so it requires a pre-built `.skill` archive created by [`skills/watch/scripts/build-skill.sh`](https://github.com/bradautomates/claude-video/blob/main/skills/watch/scripts/build-skill.sh). This bundle contains the same `skills/watch/` directory structure compressed into a single file that can be uploaded through the browser-based **Settings → Capabilities → Skills** interface, ensuring the cloud environment receives the complete self-contained folder.