watch
Extract YouTube video transcripts via yt-dlp and pipe to /learn.
Skill by Soul-Brews-Studio
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/soul-brews-studio-watch
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/watch
What's inside
- Skill name
watch- Description
- Extract YouTube video transcripts via yt-dlp and pipe to /learn. Use when user says "watch", "youtube", "video", "transcript", or shares a YouTube URL.
- License
- MIT
- Metadata
- internal: true
- Instructions
- 203 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# /watch — YouTube → Knowledge Pipeline
> Eyes that see. Ears that listen. Knowledge that stays.
Extract transcripts from YouTube videos using yt-dlp, then optionally pipe through /learn for deep analysis.
## Usage
```
/watch <url> # Extract CC + summarize
/watch <url> --raw # Extract CC only, save raw SRT
/watch <url> --learn # Extract CC → /learn --deep pipeline
/watch <url> --summary # Extract CC → concise summary only
```
---
## Step 0: Validate & Detect
```bash
date "+🕐 %H:%M %Z (%A %d %B %Y)" && ORACLE_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
if [ -n "$ORACLE_ROOT" ] && [ -f "$ORACLE_ROOT/CLAUDE.md" ] && { [ -d "$ORACLE_ROOT/ψ" ] || [ -L "$ORACLE_ROOT/ψ" ]; }; then
PSI="$ORACLE_ROOT/ψ"
else
ORACLE_ROOT="$(pwd)"
PSI="$ORACLE_ROOT/ψ"
fi
```
### Check yt-dlp
```bash
if command -v yt-dlp &>/dev/null; then
YTDLP="yt-dlp"
elif [ -x /tmp/yt-dlp ]; then
YTDLP="/tmp/yt-dlp"
else
echo "⚠️ yt-dlp not found. Install: pip install yt-dlp OR curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /tmp/yt-dlp && chmod +x /tmp/yt-dlp"
exit 1
fi
```
### Validate URL
Extract video ID from URL. Accept:
- `https://www.youtube.com/watch?v=XXXXX`
- `https://youtu.be/XXXXX`
- `https://youtube.com/watch?v=XXXXX`
```bash
VIDEO_URL="$1"
VIDEO_ID=$(echo "$VIDEO_URL" | grep -oP '(?:v=|youtu\.be/)[\w-]{11}' | head -1 | sed 's/v=//')
if [ -z "$VIDEO_ID" ]; then
echo "❌ Invalid YouTube URL: $VIDEO_URL"
exit 1
fi
echo "🎬 Video ID: $VIDEO_ID"
```
---
## Step 1: Extract Video Metadata
```bash
$YTDLP --print title --print duration_string --print channel --skip-download "$VIDEO_URL" 2>/dev/null
```
Save as variables: `TITLE`, `DURATION`, `CHANNEL`.
---
## Step 2: Extract Transcript (CC)
Try auto-generated English CC first, fall back to manual subs:
```bash
TMPDIR=$(mktemp -d)
$YTDLP --write-auto-sub --sub-lang en --sub-format srt --skip-download -o "$TMPDIR/%(id)s" "$VIDEO_URL" 2>/dev/null
# Check if SRT was downloaded
SRT_FILE="$TMPDIR/${VIDEO_ID}.en.srt"
if [ ! -f "$SRT_FILE" ]; then
# Try manual subs
$YTDLP --write-sub --sub-lang en --sub-format srt --skip-download -o "$TMPDIR/%(id)s" "$VIDEO_URL" 2>/dev/null
SRT_FILE=$(ls "$TMPDIR"/*.srt 2>/dev/null | head -1)
fi
if [ ! -f "$SRT_FILE" ]; then
echo "❌ No English subtitles found for this video."
echo "💡 Try: $YTDLP --list-subs '$VIDEO_URL' to see available languages."
exit 1
fi
SUB_COUNT=$(grep -c '^[0-9]\+$' "$SRT_FILE")
echo "📝 Extracted $SUB_COUNT subtitle blocks"
```
---
## Step 3: Clean Transcript
Strip SRT formatting (timestamps, numbers, blank lines) into plain text:
```bash
# Remove SRT formatting → clean text
sed '/^[0-9]*$/d; /^$/d; /-->/d' "$SRT_FILE" | sed 's/<[^>]*>//g' | sort -u > "$TMPDIR/clean.txt"
```
Read the clean transcript.
---
## Step 4: Save & Process (mode-dependent)
### Output Directory
```bash
# Slugify title
SLUG=$(echo "$TITLE" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g; s/--*/-/g; s/^-//; s/-$//' | cut -c1-50)From Soul-Brews-Studio/arra-oracle-skills-cli, MIT.
More from Soul-Brews-Studio/arra-oracle-skills-cli
- 0.786score
round-table
Soul-Brews-Studio
Convene a Round Table (โต๊ะกลม): 3–8 souls — persona files, Oracles, or real people's DNA — debate ONE stakes-bearing decision over exactly 4 rounds (OPEN…
SkillAFreshness: A★ 125Claude Code +9 - 0.786score
soul
Soul-Brews-Studio
Bring an Oracle into the current repo — its soul, ALL its skills and its expertise — by link, never by copy.
SkillAFreshness: A★ 125Claude Code +9 - 0.740score
forward
Soul-Brews-Studio
Hand off the current session to the next one.
SkillBFreshness: B★ 125Claude Code +9 - 0.740score
recap
Soul-Brews-Studio
Session orientation and awareness — retro summaries, handoffs, git state, focus.
SkillBFreshness: B★ 125Claude Code +9 - 0.736score
rrr
Soul-Brews-Studio
Create a session retrospective with an AI diary and reusable lessons.
SkillBFreshness: B★ 125Claude Code +9 - 0.734score
feel
Soul-Brews-Studio
Capture how the system feels — energy, momentum, burnout, breakthrough.
SkillBFreshness: B★ 125Claude Code +9 - 0.734score
psi
Soul-Brews-Studio
Attach a code repo's ψ vault to a caretaker oracle — check, link, heal, unlink.
SkillBFreshness: B★ 125Claude Code +9 - 0.734score
oracle-title-forge
Soul-Brews-Studio
Forge a title + subtitle (or reframe) for a BOOK, article, talk, or any technical piece, then hand off to a cover so it has LIFE and honesty — not…
SkillBFreshness: B★ 125Claude Code +9 - 0.729score
learn
Soul-Brews-Studio
Explore a codebase with parallel Haiku agents — clone, read, and document.
SkillBFreshness: B★ 125Claude Code +9 - 0.729score
incubate
Soul-Brews-Studio
Clone or create repos for active development — the right hand of /learn.
SkillBFreshness: B★ 125Claude Code +9 - 0.724score
oracle-write-complete-book
Soul-Brews-Studio
Write a complete book from scratch — outline, parallel Sonnet drafting, Thai word break, typst PDF rendering, review, title brainstorm, publish to GitHub.
SkillBFreshness: B★ 125Claude Code +9 - 0.682score
dig
Soul-Brews-Studio
Mine Claude Code sessions — timeline, gaps, repo attribution, session history.
SkillCFreshness: C★ 125Claude Code +9
Signals
- Stars
- 125
- Forks
- 58
- Open issues
- 26
- Last commit (this folder)
- Jul 25, 2026 (3 months ago)
- Last release
- Jul 25, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Soul-Brews-Studio
- 0.786score
soul
Soul-Brews-Studio
Bring an Oracle into the current repo — its soul, ALL its skills and its expertise — by link, never by copy.
SkillAFreshness: A★ 125Claude Code +9 - 0.786score
round-table
Soul-Brews-Studio
Convene a Round Table (โต๊ะกลม): 3–8 souls — persona files, Oracles, or real people's DNA — debate ONE stakes-bearing decision over exactly 4 rounds (OPEN…
SkillAFreshness: A★ 125Claude Code +9 - 0.740score
recap
Soul-Brews-Studio
Session orientation and awareness — retro summaries, handoffs, git state, focus.
SkillBFreshness: B★ 125Claude Code +9 - 0.740score
forward
Soul-Brews-Studio
Hand off the current session to the next one.
SkillBFreshness: B★ 125Claude Code +9 - 0.736score
rrr
Soul-Brews-Studio
Create a session retrospective with an AI diary and reusable lessons.
SkillBFreshness: B★ 125Claude Code +9 - 0.734score
psi
Soul-Brews-Studio
Attach a code repo's ψ vault to a caretaker oracle — check, link, heal, unlink.
SkillBFreshness: B★ 125Claude Code +9
Cite this page
watch skill. Agent Mart. https://agentmart.dev/skills/soul-brews-studio-watch (last updated 2026-10-24)