Agent skill

Youtube Transcript

by CommandCodeAI in CommandCodeAI/agent-skills

Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube.

MITAuto-check: notesMedia & Creative

Install Youtube Transcript

skills CLI
$ npx skills add CommandCodeAI/agent-skills --skill youtube-transcript -a claude-code

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

GitHub CLI
$ gh skill install CommandCodeAI/agent-skills youtube-transcript --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/CommandCodeAI/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/youtube-transcript .claude/skills/youtube-transcript && 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
youtube-transcript
GitHub stars
132
Used in
1 other repo
Token cost
~3.4k tokens
SKILL.md length
790 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube.

  • Works in 5 steps: Show File Size and Ask for Confirmation → Check for Whisper Installation → Download Audio Only → …
  • Provides a YouTube URL
  • SKILL.md covers When to Use This Skill, How It Works, Installation Check and Check Available Subtitles, plus 8 more sections
  • Calls yt-dlp, pip3 and apt; reaches youtube.com

What it does

Youtube Transcript is an agent skill from CommandCodeAI/agent-skills. Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube. Also use when user wants to transcribe or get captions/subtitles from a YouTube video.

Its SKILL.md is about 3.4k 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 and Video and podcast notes. It works with YouTube. The repository describes itself as: A curated list of awesome Skills, resources, and tools for customizing coding agent workflows. The licence is MIT.

When your agent uses it

  • Provides a YouTube URL
  • Asks to download/get/fetch a transcript from YouTube
  • User wants to transcribe
  • Get captions/subtitles from a YouTube video

Example prompts

  • “/youtube-transcript”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash, Read, Write

Workflow steps

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

  1. Show File Size and Ask for Confirmation
  2. Check for Whisper Installation
  3. Download Audio Only
  4. Transcribe with Whisper
  5. Cleanup

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • yt-dlp
    • pip3
    • apt
    • python3
    • whisper
    • brew
    • pip

    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

    Also links to:

    • 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

Youtube Transcript loads about 3.4k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 790 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:50
    sudo apt update && sudo apt install -y yt-dlp
  • NoteRuns commands with sudoSKILL.md:255
    sudo apt update && sudo apt install -y yt-dlp
  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write

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 CommandCodeAI/agent-skills at commit f490dd9, republished under its MIT licence (© CommandCodeAI). 790 words, ~3,425 tokens.

Download SKILL.mdSave it as .claude/skills/youtube-transcript/SKILL.md (or your agent's skills folder).
name
youtube-transcript
description
Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube. Also use when user wants to transcribe or get captions/subtitles from a YouTube video.
allowed-tools
Bash, Read, Write

YouTube Transcript Downloader

This skill helps download transcripts (subtitles/captions) from YouTube videos using yt-dlp.

When to Use This Skill

Activate this skill when the user:

  • Provides a YouTube URL and wants the transcript
  • Asks to "download transcript from YouTube"
  • Wants to "get captions" or "get subtitles" from a video
  • Asks to "transcribe a YouTube video"
  • Needs text content from a YouTube video

How It Works

Priority Order:
  1. Check if yt-dlp is installed - install if needed
  2. List available subtitles - see what's actually available
  3. Try manual subtitles first (--write-sub) - highest quality
  4. Fallback to auto-generated (--write-auto-sub) - usually available
  5. Last resort: Whisper transcription - if no subtitles exist (requires user confirmation)
  6. Confirm the download and show the user where the file is saved
  7. Optionally clean up the VTT format if the user wants plain text

Installation Check

IMPORTANT: Always check if yt-dlp is installed first:

bash
which yt-dlp || command -v yt-dlp
If Not Installed

Attempt automatic installation based on the system:

macOS (Homebrew):

bash
brew install yt-dlp

Linux (apt/Debian/Ubuntu):

bash
sudo apt update && sudo apt install -y yt-dlp

Alternative (pip - works on all systems):

bash
pip3 install yt-dlp
# or
python3 -m pip install yt-dlp

If installation fails: Inform the user they need to install yt-dlp manually and provide them with installation instructions from https://github.com/yt-dlp/yt-dlp#installation

Check Available Subtitles

ALWAYS do this first before attempting to download:

bash
yt-dlp --list-subs "YOUTUBE_URL"

This shows what subtitle types are available without downloading anything. Look for:

  • Manual subtitles (better quality)
  • Auto-generated subtitles (usually available)
  • Available languages

Download Strategy

Option 1: Manual Subtitles (Preferred)

Try this first - highest quality, human-created:

bash
yt-dlp --write-sub --skip-download --output "OUTPUT_NAME" "YOUTUBE_URL"
Option 2: Auto-Generated Subtitles (Fallback)

If manual subtitles aren't available:

bash
yt-dlp --write-auto-sub --skip-download --output "OUTPUT_NAME" "YOUTUBE_URL"

Both commands create a .vtt file (WebVTT subtitle format).

Option 3: Whisper Transcription (Last Resort)

ONLY use this if both manual and auto-generated subtitles are unavailable.

Step 1: Show File Size and Ask for Confirmation
bash
# Get audio file size estimate
yt-dlp --print "%(filesize,filesize_approx)s" -f "bestaudio" "YOUTUBE_URL"

# Or get duration to estimate
yt-dlp --print "%(duration)s %(title)s" "YOUTUBE_URL"

IMPORTANT: Display the file size to the user and ask: "No subtitles are available. I can download the audio (approximately X MB) and transcribe it using Whisper. Would you like to proceed?"

Wait for user confirmation before continuing.

Step 2: Check for Whisper Installation
bash
command -v whisper

If not installed, ask user: "Whisper is not installed. Install it with pip install openai-whisper (requires ~1-3GB for models)? This is a one-time installation."

Wait for user confirmation before installing.

Install if approved:

bash
pip3 install openai-whisper
Step 3: Download Audio Only
bash
yt-dlp -x --audio-format mp3 --output "audio_%(id)s.%(ext)s" "YOUTUBE_URL"
Step 4: Transcribe with Whisper
bash
# Auto-detect language (recommended)
whisper audio_VIDEO_ID.mp3 --model base --output_format vtt

# Or specify language if known
whisper audio_VIDEO_ID.mp3 --model base --language en --output_format vtt

Model Options (stick to base for now):

  • tiny - fastest, least accurate (~1GB)
  • base - good balance (~1GB) ← USE THIS
  • small - better accuracy (~2GB)
  • medium - very good (~5GB)
  • large - best accuracy (~10GB)
Step 5: Cleanup

After transcription completes, ask user: "Transcription complete! Would you like me to delete the audio file to save space?"

If yes:

bash
rm audio_VIDEO_ID.mp3

Getting Video Information

Extract Video Title (for filename)
bash
yt-dlp --print "%(title)s" "YOUTUBE_URL"

Use this to create meaningful filenames based on the video title. Clean the title for filesystem compatibility:

  • Replace / with -
  • Replace special characters that might cause issues
  • Consider using sanitized version: $(yt-dlp --print "%(title)s" "URL" | tr '/' '-' | tr ':' '-')

Post-Processing

Show full SKILL.md (326 more words)Show less

YouTube's auto-generated VTT files contain duplicate lines because captions are shown progressively with overlapping timestamps. Always deduplicate when converting to plain text while preserving the original speaking order.

bash
python3 -c "
import sys, re
seen = set()
with open('transcript.en.vtt', 'r') as f:
    for line in f:
        line = line.strip()
        if line and not line.startswith('WEBVTT') and not line.startswith('Kind:') and not line.startswith('Language:') and '-->' not in line:
            clean = re.sub('<[^>]*>', '', line)
            clean = clean.replace('&amp;', '&').replace('&gt;', '>').replace('&lt;', '<')
            if clean and clean not in seen:
                print(clean)
                seen.add(clean)
" > transcript.txt
Complete Post-Processing with Video Title
bash
# Get video title
VIDEO_TITLE=$(yt-dlp --print "%(title)s" "YOUTUBE_URL" | tr '/' '_' | tr ':' '-' | tr '?' '' | tr '"' '')

# Find the VTT file
VTT_FILE=$(ls *.vtt | head -n 1)

# Convert with deduplication
python3 -c "
import sys, re
seen = set()
with open('$VTT_FILE', 'r') as f:
    for line in f:
        line = line.strip()
        if line and not line.startswith('WEBVTT') and not line.startswith('Kind:') and not line.startswith('Language:') and '-->' not in line:
            clean = re.sub('<[^>]*>', '', line)
            clean = clean.replace('&amp;', '&').replace('&gt;', '>').replace('&lt;', '<')
            if clean and clean not in seen:
                print(clean)
                seen.add(clean)
" > "${VIDEO_TITLE}.txt"

echo "✓ Saved to: ${VIDEO_TITLE}.txt"

# Clean up VTT file
rm "$VTT_FILE"
echo "✓ Cleaned up temporary VTT file"

Output Formats

  • VTT format (.vtt): Includes timestamps and formatting, good for video players
  • Plain text (.txt): Just the text content, good for reading or analysis

Tips

  • The filename will be {output_name}.{language_code}.vtt (e.g., transcript.en.vtt)
  • Most YouTube videos have auto-generated English subtitles
  • Some videos may have multiple language options
  • If auto-subtitles aren't available, try --write-sub instead for manual subtitles

Complete Workflow Example

bash
VIDEO_URL="https://www.youtube.com/watch?v=dQw4w9WgXcQ"

# Get video title for filename
VIDEO_TITLE=$(yt-dlp --print "%(title)s" "$VIDEO_URL" | tr '/' '_' | tr ':' '-' | tr '?' '' | tr '"' '')
OUTPUT_NAME="transcript_temp"

# ============================================
# STEP 1: Check if yt-dlp is installed
# ============================================
if ! command -v yt-dlp &> /dev/null; then
    echo "yt-dlp not found, attempting to install..."
    if command -v brew &> /dev/null; then
        brew install yt-dlp
    elif command -v apt &> /dev/null; then
        sudo apt update && sudo apt install -y yt-dlp
    else
        pip3 install yt-dlp
    fi
fi

# ============================================
# STEP 2: List available subtitles
# ============================================
echo "Checking available subtitles..."
yt-dlp --list-subs "$VIDEO_URL"

# ============================================
# STEP 3: Try manual subtitles first
# ============================================
echo "Attempting to download manual subtitles..."
if yt-dlp --write-sub --skip-download --output "$OUTPUT_NAME" "$VIDEO_URL" 2>/dev/null; then
    echo "✓ Manual subtitles downloaded successfully!"
    ls -lh ${OUTPUT_NAME}.*
else
    # ============================================
    # STEP 4: Fallback to auto-generated
    # ============================================
    echo "Manual subtitles not available. Trying auto-generated..."
    if yt-dlp --write-auto-sub --skip-download --output "$OUTPUT_NAME" "$VIDEO_URL" 2>/dev/null; then
        echo "✓ Auto-generated subtitles downloaded successfully!"
        ls -lh ${OUTPUT_NAME}.*
    else
        # ============================================
        # STEP 5: Last resort - Whisper transcription
        # ============================================
        echo "⚠ No subtitles available for this video."

        # Get file size
        FILE_SIZE=$(yt-dlp --print "%(filesize_approx)s" -f "bestaudio" "$VIDEO_URL")
        DURATION=$(yt-dlp --print "%(duration)s" "$VIDEO_URL")
        TITLE=$(yt-dlp --print "%(title)s" "$VIDEO_URL")

        echo "Video: $TITLE"
        echo "Duration: $((DURATION / 60)) minutes"
        echo "Audio size: ~$((FILE_SIZE / 1024 / 1024)) MB"
        echo ""
        echo "Would you like to download and transcribe with Whisper? (y/n)"
        read -r RESPONSE

        if [[ "$RESPONSE" =~ ^[Yy]$ ]]; then
            # Check for Whisper
            if ! command -v whisper &> /dev/null; then
                echo "Whisper not installed. Install now? (requires ~1-3GB) (y/n)"
                read -r INSTALL_RESPONSE
                if [[ "$INSTALL_RESPONSE" =~ ^[Yy]$ ]]; then
                    pip3 install openai-whisper
                else
                    echo "Cannot proceed without Whisper. Exiting."
                    exit 1
                fi
            fi

            # Download audio
            echo "Downloading audio..."
            yt-dlp -x --audio-format mp3 --output "audio_%(id)s.%(ext)s" "$VIDEO_URL"

            # Get the actual audio filename
            AUDIO_FILE=$(ls audio_*.mp3 | head -n 1)

            # Transcribe
            echo "Transcribing with Whisper (this may take a few minutes)..."
            whisper "$AUDIO_FILE" --model base --output_format vtt

            # Cleanup
            echo "Transcription complete! Delete audio file? (y/n)"
            read -r CLEANUP_RESPONSE
            if [[ "$CLEANUP_RESPONSE" =~ ^[Yy]$ ]]; then
                rm "$AUDIO_FILE"
                echo "Audio file deleted."
            fi

            ls -lh *.vtt
        else
            echo "Transcription cancelled."
            exit 0
        fi
    fi
fi

# ============================================
# STEP 6: Convert to readable plain text with deduplication
# ============================================
VTT_FILE=$(ls ${OUTPUT_NAME}*.vtt 2>/dev/null || ls *.vtt | head -n 1)
if [ -f "$VTT_FILE" ]; then
    echo "Converting to readable format and removing duplicates..."
    python3 -c "
import sys, re
seen = set()
with open('$VTT_FILE', 'r') as f:
    for line in f:
        line = line.strip()
        if line and not line.startswith('WEBVTT') and not line.startswith('Kind:') and not line.startswith('Language:') and '-->' not in line:
            clean = re.sub('<[^>]*>', '', line)
            clean = clean.replace('&amp;', '&').replace('&gt;', '>').replace('&lt;', '<')
            if clean and clean not in seen:
                print(clean)
                seen.add(clean)
" > "${VIDEO_TITLE}.txt"
    echo "✓ Saved to: ${VIDEO_TITLE}.txt"

    # Clean up temporary VTT file
    rm "$VTT_FILE"
    echo "✓ Cleaned up temporary VTT file"
else
    echo "⚠ No VTT file found to convert"
fi

echo "✓ Complete!"

Note: This complete workflow handles all scenarios with proper error checking and user prompts at each decision point.

Error Handling

Common Issues and Solutions:

1. yt-dlp not installed

  • Attempt automatic installation based on system (Homebrew/apt/pip)
  • If installation fails, provide manual installation link
  • Verify installation before proceeding

2. No subtitles available

  • List available subtitles first to confirm
  • Try both --write-sub and --write-auto-sub
  • If both fail, offer Whisper transcription option
  • Show file size and ask for user confirmation before downloading audio

3. Invalid or private video

  • Check if URL is correct format: https://www.youtube.com/watch?v=VIDEO_ID
  • Some videos may be private, age-restricted, or geo-blocked
  • Inform user of the specific error from yt-dlp

4. Whisper installation fails

  • May require system dependencies (ffmpeg, rust)
  • Provide fallback: "Install manually with: pip3 install openai-whisper"
  • Check available disk space (models require 1-10GB depending on size)

5. Download interrupted or failed

  • Check internet connection
  • Verify sufficient disk space
  • Try again with --no-check-certificate if SSL issues occur

6. Multiple subtitle languages

  • By default, yt-dlp downloads all available languages
  • Can specify with --sub-langs en for English only
  • List available with --list-subs first
Best Practices:
  • ✅ Always check what's available before attempting download (--list-subs)
  • ✅ Verify success at each step before proceeding to next
  • ✅ Ask user before large downloads (audio files, Whisper models)
  • ✅ Clean up temporary files after processing
  • ✅ Provide clear feedback about what's happening at each stage
  • ✅ Handle errors gracefully with helpful messages

© CommandCodeAI, 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 skills/youtube-transcript of CommandCodeAI/agent-skills.

Open the folder on GitHubat commit f490dd9

Used in 1 other repository

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in CommandCodeAI/agent-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Youtube Transcript 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.

Youtube Transcript compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Youtube Transcript this skillCommandCodeAI/agent-skills1321 repos~3.4kAutomated safety check: NotesMIT
Omk YoutubeKaimingWan/oh-my-kiro107—~381Automated safety check: PassMIT
Youtube Batch Transcript Extractor API Skillbrowser-act/skills6.1k1 repos~1.4kAutomated safety check: PassMIT
Extract Transcriptpamelafox/presentation-skills125—~287Automated safety check: PassMIT
Youtube SrtBlackBeltTechnology/pi-agent-dashboard316—~1.2kAutomated safety check: PassMIT
Youtube CLIItamarZand88/CLI-Anything-WEB231—~764Automated safety check: PassMIT

Similar skills

  • Omk Youtube

    KaimingWan/oh-my-kiro

    Extract and summarize YouTube video content via subtitle extraction.

    107 GitHub stars~381 tokensUpdated 6 mo ago
    Media & CreativeAuto-check passed
  • This skill helps users automatically extract YouTube video transcripts and metadata in batch via the BrowserAct API.

    6.1k GitHub starsUsed in 1 repo~1.4k tokens
    Media & CreativeAuto-check passed
  • Extract Transcript

    pamelafox/presentation-skills

    Extract a timestamped transcript from a YouTube video. An agent skill from pamelafox/presentation-skills.

    125 GitHub stars~287 tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Youtube Srt

    BlackBeltTechnology/pi-agent-dashboard

    Download YouTube subtitles (SRT + timestamped TXT) for a channel, playlist or video via yt-dlp, no media download; optionally mine them into a categorized catalog (e.g.

    316 GitHub stars~1.2k tokensUpdated today
    Media & CreativeAuto-check passed
  • Youtube CLI

    ItamarZand88/CLI-Anything-WEB

    Searches YouTube and fetches video transcripts via the cli-web-youtube command-line tool — video search, video details (views, duration, description, keywords), trending by category, channel info…

    231 GitHub stars~764 tokensUpdated 6 days ago
    Media & CreativeAuto-check passed
  • Gemini Yt Video Transcript

    sundial-org/awesome-openclaw-skills

    Create a verbatim transcript for a YouTube URL using Google Gemini (speaker labels, paragraph breaks; no time codes).

    663 GitHub stars~293 tokensUpdated 7 mo ago
    Media & CreativeAuto-check passed

More from CommandCodeAI/agent-skills

  • Building MCP Server On Cloudflare

    CommandCodeAI/agent-skills

    Builds remote MCP (Model Context Protocol) servers on Cloudflare Workers with tools, OAuth authentication, and production deployment.

    132 GitHub stars~1.5k tokensUpdated 7 mo ago
    Auto-check passed
  • Welcome Me

    CommandCodeAI/agent-skills

    Greet user with a specific message when they say they're new or ask for a welcome message.

    132 GitHub stars~182 tokensUpdated 7 mo ago
    Auto-check passed

Works with

Questions about Youtube Transcript

What does Youtube Transcript do?

Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube. Youtube Transcript is an agent skill from CommandCodeAI/agent-skills. Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube.

When should I use Youtube Transcript?

Youtube Transcript fits situations like: provides a YouTube URL; asks to download/get/fetch a transcript from YouTube; user wants to transcribe; get captions/subtitles from a YouTube video.

How do I install Youtube Transcript in Claude Code?

Run `npx skills add CommandCodeAI/agent-skills --skill youtube-transcript -a claude-code`. Or copy the skill folder (skills/youtube-transcript in CommandCodeAI/agent-skills) into .claude/skills/youtube-transcript in your project. Claude Code loads it when a task matches its description.

How do I install Youtube Transcript in Codex?

Run `npx skills add CommandCodeAI/agent-skills --skill youtube-transcript -a codex`. Or copy the skill folder (skills/youtube-transcript in CommandCodeAI/agent-skills) into .agents/skills/youtube-transcript in your project. Codex loads it when a task matches its description.

Can I use Youtube Transcript 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 CommandCodeAI/agent-skills --skill youtube-transcript -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/youtube-transcript, .gemini/skills/youtube-transcript, .github/skills/youtube-transcript and .opencode/skills/youtube-transcript in your project.

What does Youtube Transcript need to run?

Going by SKILL.md and its folder, Youtube Transcript needs the command-line tools its instructions call (yt-dlp, pip3, apt, python3, whisper and brew). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read, Write.

Does Youtube Transcript access the network?

SKILL.md names 2 domains. In commands or code: youtube.com; the agent is likely to contact it when it follows the instructions. As links in the text: github.com. This is read from the text; nothing was executed.

Is Youtube Transcript safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Youtube Transcript use?

Youtube Transcript 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 Youtube Transcript use?

About 3.4k tokens (SKILL.md is roughly 14k 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 Youtube Transcript?

Skills that share tags, products or a category with Youtube Transcript: Omk Youtube (KaimingWan/oh-my-kiro, 107 stars), Youtube Batch Transcript Extractor API Skill (browser-act/skills, 6.1k stars), Extract Transcript (pamelafox/presentation-skills, 125 stars) and Youtube Srt (BlackBeltTechnology/pi-agent-dashboard, 316 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Youtube Transcript?

CommandCodeAI (a GitHub organization) maintains it in CommandCodeAI/agent-skills, which has 132 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on March 10, 2026.

Source: CommandCodeAI/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.