Extract YouTube video transcripts via yt-dlp and pipe to /learn.

MITAuto-check passedMedia & Creative

Install Watch

skills CLI
$ npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill watch -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Soul-Brews-Studio/arra-oracle-skills-cli watch --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Soul-Brews-Studio/arra-oracle-skills-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/watch .claude/skills/watch && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
watch
GitHub stars
123
Token cost
~1.3k tokens
SKILL.md length
230 words
Files
1
Skills in repo
31
Repo updated
First seen
Licence
MIT

At a glance

Extract YouTube video transcripts via yt-dlp and pipe to /learn.

  • Works in 6 steps: Validate & Detect → Extract Video Metadata → Extract Transcript (CC) → …
  • User says watch
  • SKILL.md covers Usage, Step 0: Validate & Detect, Step 1: Extract Video Metadata and Step 2: Extract Transcript (CC), plus 4 more sections
  • Calls git; reaches youtube.com and youtu.be

What it does

Watch is an agent skill from Soul-Brews-Studio/arra-oracle-skills-cli. Extract YouTube video transcripts via yt-dlp and pipe to /learn. Use when user says "watch", "youtube", "video", "transcript", or shares a YouTube URL.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Transcription. It works with YouTube. The repository describes itself as: Install Oracle skills to Claude Code, OpenCode, Cursor, and 12+ AI coding agents. The licence is MIT.

When your agent uses it

  • User says watch
  • Shares a YouTube URL

Example prompts

  • “youtube”
  • “transcript”
  • “/watch”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Validate & Detect
  2. Extract Video Metadata
  3. Extract Transcript (CC)
  4. Clean Transcript
  5. Save & Process (mode-dependent)
  6. Cleanup

What it can do on your machine

Read from SKILL.md and the folder at commit 9feea09. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • youtube.com
    • youtu.be
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Watch loads about 1.3k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 230 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Soul-Brews-Studio/arra-oracle-skills-cli at commit 9feea09, republished under its MIT licence (© Soul-Brews-Studio). 230 words, ~1,276 tokens.

Download SKILL.mdSave it as .claude/skills/watch/SKILL.md (or your agent's skills folder).
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.
argument-hint
<youtube-url> [--raw | --learn | --summary]
hidden
true
metadata.internal
true

/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)
DATE=$(date +%Y-%m-%d)
OUT_DIR="$PSI/learn/$SLUG/$DATE"
mkdir -p "$OUT_DIR"
Mode: --raw

Save raw SRT + clean text only:

bash
cp "$SRT_FILE" "$OUT_DIR/raw-cc.srt"
cp "$TMPDIR/clean.txt" "$OUT_DIR/transcript.txt"

Output:

✅ Raw transcript saved
  📁 $OUT_DIR/raw-cc.srt (SRT)
  📁 $OUT_DIR/transcript.txt (clean)
  🎬 $TITLE ($DURATION) by $CHANNEL
Mode: --summary (default)

Read the clean transcript and produce a structured analysis:

markdown
# [TITLE]

**Source**: [YouTube URL]
**Duration**: [DURATION] | **Channel**: [CHANNEL]
**Extracted**: [DATE] via yt-dlp CC + Oracle analysis

---

## Thesis
[1-2 sentence core argument]

## Timestamped Summary
[Key points with timestamps from SRT]

## Key Quotes
[5-10 most important quotes]

## Relevance
[How this connects to our work — skills, fleet, philosophy]

Save to $OUT_DIR/analysis.md + raw files.

Mode: --learn

Save raw files, then invoke the full /learn pipeline:

💡 Transcript extracted. Piping to /learn --deep...

Create a temporary markdown file with the full transcript content, then use it as input for deep analysis. The /learn pipeline will produce the full 5-document deep study.


Step 5: Cleanup

bash
rm -rf "$TMPDIR"

Rules

  1. Never download video — subtitles only (--skip-download always)
  2. Oracle root — detect before writing to ψ/
  3. English first — try en auto-subs, then manual, then fail with language hint
  4. Clean text — strip SRT formatting before analysis
  5. Credit source — always include YouTube URL, channel, and extraction date
  6. No redistribution — transcript stays in local ψ/ vault, never committed to public repos

ARGUMENTS: $ARGUMENTS

© Soul-Brews-Studio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in src/skills/watch of Soul-Brews-Studio/arra-oracle-skills-cli.

Open the folder on GitHubat commit 9feea09

Compare with similar skills

Watch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Watch compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Watch this skillSoul-Brews-Studio/arra-oracle-skills-cli123—~1.3kAutomated safety check: PassMIT
Native Subtitle Quote Imagechengyi-ai/native-subtitle-quote-image2.6k—~1.8kAutomated safety check: PassMIT
Video Dataoxylabs/agent-skills875—~1.4kAutomated safety check: PassMIT
Summarizetrpc-group/trpc-agent-go1.9k22 repos~552Automated safety check: PassApache-2.0
Youtube PublishAndonywang123/Epost197—~3.4kAutomated safety check: WarnNone
Youtube Transcribe Skillfeiskyer/codex-settings244—~745Automated safety check: PassMIT

Similar skills

  • Native Subtitle Quote Image

    chengyi-ai/native-subtitle-quote-image

    将本地视频或用户有权处理的在线视频,经过来源获取、文字稿定位、选题选句、精确取帧、紧凑裁切、拼图和逐张质检,制作成 3:4 或保留画面原比例的视频字幕长图。支持两种明确分开的输出:保留画面内已烧录字幕的原生字幕模式,以及把已审核的时间点与台词绘制到真实视频帧上的脚本字幕模式。用户要求原生字幕截图、字幕帧拼图、YouTube…

    2.6k GitHub stars~1.8k tokensUpdated today
    Media & CreativeAuto-check passed
  • Video Data

    oxylabs/agent-skills

    YouTube data extraction API and high-bandwidth proxy downloads.

    875 GitHub stars~1.4k tokensUpdated 10 days ago
    Media & CreativeAuto-check passed
  • Summarize

    trpc-group/trpc-agent-go

    Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).

    1.9k GitHub starsUsed in 22 repos~552 tokens
    Media & CreativeAuto-check passed
  • Youtube Publish

    Andonywang123/Epost

    Prepare an English YouTube release with local Chinese-to-English translation, subtitles and cover localization, then use a deterministic script connected to dedicated Chrome and YouTube Studio to…

    197 GitHub stars~3.4k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: warnings
  • Youtube Transcribe Skill

    feiskyer/codex-settings

    Extract subtitles or a transcript from a YouTube URL and save normalized timestamped text locally.

    244 GitHub stars~745 tokensUpdated 13 days ago
    Media & CreativeAuto-check passed
  • Watching Videos

    oxbshw/watch-skill

    The user shared a video URL, a YouTube/TikTok/stream link, a local video file, a screen recording, a meeting recording, or a playlist/folder of videos — "watch this", "summarize this video", "what's…

    470 GitHub stars~599 tokensUpdated 25 days ago
    Media & CreativeAuto-check: notes

More from Soul-Brews-Studio/arra-oracle-skills-cli

All 31 skills in this repo
  • Dig

    Soul-Brews-Studio/arra-oracle-skills-cli

    Mine Claude Code sessions — timeline, gaps, repo attribution, session history.

    123 GitHub stars~1.8k tokensUpdated 7 days ago
    Auto-check passed
  • Forward

    Soul-Brews-Studio/arra-oracle-skills-cli

    Hand off the current session to the next one. An agent skill from Soul-Brews-Studio/arra-oracle-skills-cli.

    123 GitHub stars~2.9k tokensUpdated 7 days ago
    Auto-check passed
  • Project

    Soul-Brews-Studio/arra-oracle-skills-cli

    Clone and track external repos. An agent skill from Soul-Brews-Studio/arra-oracle-skills-cli.

    123 GitHub stars~1.4k tokensUpdated 7 days ago
    Auto-check passed
  • Round Table

    Soul-Brews-Studio/arra-oracle-skills-cli

    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, DEEPEN, CONVERGE, VOTE), one subagent per…

    123 GitHub stars~2.1k tokensUpdated 7 days ago
    Auto-check passed
  • Soul

    Soul-Brews-Studio/arra-oracle-skills-cli

    Bring an Oracle into the current repo — its soul, ALL its skills and its expertise — by link, never by copy.

    123 GitHub stars~1.3k tokensUpdated 7 days ago
    Auto-check passed
  • Trace

    Soul-Brews-Studio/arra-oracle-skills-cli

    Find projects, code, and knowledge across git history, repos, docs, and Oracle.

    123 GitHub stars~2.9k tokensUpdated 7 days ago
    Auto-check passed

Works with

Questions about Watch

What does Watch do?

Extract YouTube video transcripts via yt-dlp and pipe to /learn. Watch is an agent skill from Soul-Brews-Studio/arra-oracle-skills-cli. Extract YouTube video transcripts via yt-dlp and pipe to /learn.

When should I use Watch?

Watch fits situations like: user says watch; shares a YouTube URL.

How do I install Watch in Claude Code?

Run `npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill watch -a claude-code`. Or copy the skill folder (src/skills/watch in Soul-Brews-Studio/arra-oracle-skills-cli) into .claude/skills/watch in your project. Claude Code loads it when a task matches its description.

How do I install Watch in Codex?

Run `npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill watch -a codex`. Or copy the skill folder (src/skills/watch in Soul-Brews-Studio/arra-oracle-skills-cli) into .agents/skills/watch in your project. Codex loads it when a task matches its description.

Can I use Watch in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Soul-Brews-Studio/arra-oracle-skills-cli --skill watch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/watch, .gemini/skills/watch, .github/skills/watch and .opencode/skills/watch in your project.

What does Watch need to run?

Going by SKILL.md and its folder, Watch needs the command-line tools its instructions call (git). Our summary lists: Python 3.

Does Watch access the network?

SKILL.md names 3 domains. In commands or code: youtube.com, youtu.be and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Watch safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Watch use?

Watch is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Watch use?

About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Watch?

Skills that share tags, products or a category with Watch: Native Subtitle Quote Image (chengyi-ai/native-subtitle-quote-image, 2.6k stars), Video Data (oxylabs/agent-skills, 875 stars), Summarize (trpc-group/trpc-agent-go, 1.9k stars) and Youtube Publish (Andonywang123/Epost, 197 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Watch?

Soul-Brews-Studio (a GitHub organization) maintains it in Soul-Brews-Studio/arra-oracle-skills-cli, which has 123 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on October 3, 2026.

Source: Soul-Brews-Studio/arra-oracle-skills-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.