# Clip Hand Skill

Expert knowledge for AI video clipping, yt-dlp downloading, whisper transcription, SRT...

- Repository: https://github.com/RightNow-AI/openfang (18244 stars)
- Category: Media
- License: Apache-2.0
- Last updated: 2026-07-02
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add RightNow-AI/openfang --skill clip-hand-skill -g -a claude-code -y`
Codex: `npx skills add RightNow-AI/openfang --skill clip-hand-skill -g -a codex -y`
Cursor: `npx skills add RightNow-AI/openfang --skill clip-hand-skill -g -a cursor -y`
Gemini CLI: `npx skills add RightNow-AI/openfang --skill clip-hand-skill -g -a gemini-cli -y`

## Description

Expert knowledge for AI video clipping, yt-dlp downloading, whisper transcription, SRT generation, and ffmpeg processing

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Video Clipping Expert Knowledge

## Cross-Platform Notes

All tools (ffmpeg, ffprobe, yt-dlp, whisper) use **identical CLI flags** on Windows, macOS, and Linux. The differences are only in shell syntax:

| Feature | macOS / Linux | Windows (cmd.exe) |
|---------|---------------|-------------------|
| Suppress stderr | `2>/dev/null` | `2>NUL` |
| Filter output | `\| grep pattern` | `\| findstr pattern` |
| Delete files | `rm file1 file2` | `del file1 file2` |
| Null output device | `-f null -` | `-f null -` (same) |
| ffmpeg subtitle paths | `subtitles=clip.srt` | `subtitles=clip.srt` (relative OK, absolute needs `C\\:/path`) |

IMPORTANT: ffmpeg filter paths (`-vf "subtitles=..."`) always need forward slashes. On Windows with absolute paths, escape the colon: `subtitles=C\\:/Users/me/clip.srt`

Prefer using `file_write` tool for creating SRT/text files instead of shell echo/heredoc.

---

## yt-dlp Reference

### Download with Format Selection
```
# Best video up to 1080p + best audio, merged
yt-dlp -f "bv[height<=1080]+ba/b[height<=1080]" --restrict-filenames -o "source.%(ext)s" "URL"

# 720p max (smaller, faster)
yt-dlp -f "bv[height<=720]+ba/b[height<=720]" --restrict-filenames -o "source.%(ext)s" "URL"

# Audio only (for transcription-only workflows)
yt-dlp -x --audio-format wav --restrict-filenames -o "audio.%(ext)s" "URL"
```

### Metadata Inspection
```
# Get full metadata as JSON (duration, title, chapters, available subs)
yt-dlp --dump-json "URL"

# Key fields: duration, title, description, chapters, subtitles, automatic_captions
```

### YouTube Auto-Subtitles
```
# Download auto-generated subtitles in json3 format (word-level timing)
yt-dlp --write-auto-subs --sub-lang en --sub-format json3 --skip-download --restrict-filenames -o "source" "URL"

# Download manual subtitles if available
yt-dlp --write-subs --sub-lang en --sub-format srt --skip-download --restrict-filenames -o "source" "URL"

The rest: https://github.com/RightNow-AI/openfang/blob/HEAD/crates/openfang-hands/bundled/clip/SKILL.md
