PlugWiki

baoyu-youtube-transcript: a skill that downloads YouTube transcripts, subtitles and cover images

baoyu-youtube-transcript makes Claude download a YouTube video's transcript, subtitles and cover image from a link, with optional chapters and speaker labels.

Installs
22K
on skills.sh
Stars
27.2K
on GitHub
Files
8
besides SKILL.md
Updated
Nov 2026
last repo commit

Give Claude a YouTube URL or video ID and it runs a bundled TypeScript script that saves the transcript as Markdown with timestamps, or as an SRT file, plus the video metadata and the cover image. Options choose the language, translate it, split it into chapters from the video description, or prepare it for speaker identification.

When you use --speakers, Claude hands the saved file to a sub-agent that labels who is talking, using the title, channel, description and conversation cues. Results are cached under a youtube-transcript/ folder, so a second run for the same video needs no new network request.

The skill says it needs no API key and no browser. It reads YouTube's own InnerTube API and falls back to yt-dlp when YouTube blocks the direct request. It runs with bun, or npx -y bun when bun is not installed.

Good for

  • Researchers and writers who want clean, timestamped text from a video
  • Creators who need SRT subtitles or a video thumbnail
  • Anyone summarizing interviews and podcasts, since speaker labels and chapters are built in

Install baoyu-youtube-transcript

Claude Code

  1. 1

    Copy this prompt.

    Install the baoyu-youtube-transcript skill in Claude Code. Run this command:
    
    npx skills add https://github.com/jimliu/baoyu-skills --skill baoyu-youtube-transcript
    
    Then check that it loaded and tell me how to use it.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires Node.js.

From its listing on skills.sh. Source.

What's in the skill

When it loads

Downloads YouTube video transcripts/subtitles and cover images by URL or video ID. Supports multiple languages, translation, chapters, and speaker identification. Caches raw data for fast re-formatting. Use when user asks to "get YouTube transcript", "download subtitles", "get captions", "YouTube字幕", "YouTube封面", "视频封面", "video thumbnail", "video cover image", or provides a YouTube URL and wants the transcript/subtitle text or cover image extracted.

Sections in SKILL.md

  1. Script Directory
  2. Usage
  3. Options
  4. Optional Environment Variables
  5. Input Formats
  6. Output Formats
  7. Output Directory
  8. Caching
  9. Workflow
  10. Chapter & Speaker Workflow
  11. Chapters (--chapters)
  12. Speaker Identification (--speakers)
  13. Error Cases

Key facts

License
MIT
Installs on skills.sh
21,985 as of 2026-11-02
Last repo commit
2026-11-01
Version
1.1.0

What it includes

  • Download a transcript as Markdown with timestamps

    The default run. It fetches metadata and the cover image, caches the raw data and prints the saved file path.

    Runs code · scripts/main.ts <url-or-id>

  • Show available transcripts

    SKILL.md says to run this first when you did not give a language. It prints to the screen and saves no file.

    Runs code · --list

  • Pick language priority or translate

    Takes comma-separated codes in priority order, default en. --translate converts to a language code you give.

    Network · --languages / --translate

  • Write SRT subtitles

    Default format is text, a Markdown file with frontmatter, title and summary.

    Files · --format srt

  • Split into chapters from the video description

    Reads timestamps like 0:00 Introduction and adds a table of contents. Without them it groups paragraphs only.

    Files · --chapters

  • Prepare for speaker identification

    Implies --chapters. A sub-agent then labels speakers using speaker-transcript.md and rewrites the Markdown file.

    Files · --speakers

  • Control the cache and caption type

    Force a re-fetch, or skip auto-generated or manually created captions.

    Network · --refresh, --exclude-generated, --exclude-manually-created

  • Retries with yt-dlp when YouTube blocks the request

    Tries alternate client identities first. Optional YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER passes a browser name to yt-dlp's cookies option.

    Runs code · yt-dlp fallback

From the official docs

Permissions

Medium risk

Claude runs a script that contacts YouTube and saves files in your folder, and it may fetch yt-dlp itself. Say so up front if you want to approve any install.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • May use your browser cookies with yt-dlp

    If you set YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER, yt-dlp reads cookies from that browser during the fallback. Leave it unset unless a video needs it.

  • The agent may fetch yt-dlp on its own

    The script tries yt-dlp, uvx and python3 -m yt_dlp. SKILL.md tells the agent to make yt-dlp available without asking you. Ask Claude to confirm first if you want to approve it.

  • Runs bun through npx if needed

    When bun is missing, the commands use `npx -y bun`, which downloads and runs it.

  • Writes files in your current folder

    Transcripts, metadata and cover images go in youtube-transcript/. The --speakers step rewrites the saved Markdown file.

Technical details
Talks toyoutube.com and the InnerTube API. i.ytimg.com for cover images. yt-dlp fallback requests
Sign-in and keysSKILL.md names no credentials. The optional YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER variable is passed to yt-dlp's cookies option.

Questions

What does the baoyu-youtube-transcript skill do?

It makes Claude download a YouTube video's transcript, subtitles and cover image from a URL or video ID. It can add timestamps, chapters, a translation and speaker labels, and saves everything under a youtube-transcript folder.

How do I install it in Claude Code, the Claude app or Codex?

Use the install box above. The baoyu-skills README documents a Claude Code plugin that installs all 20+ skills in the repo, and a Codex project-level copy of selected skill folders. It also advises installing only the skills you need.

Does it need an API key or browser?

No. SKILL.md says it needs no API key and no browser. It needs bun, or npx to run npx -y bun.

What is the cookies option?

An optional environment variable, YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER. When YouTube reports bot detection, you can set it to a browser name such as chrome or safari, and the script passes it to yt-dlp's cookies-from-browser option. Set it only if you are comfortable with yt-dlp reading that browser's cookies.

Is it safe to install?

It runs a TypeScript script that makes web requests to YouTube and writes files into your current folder. If YouTube blocks it, the script may run yt-dlp, and SKILL.md tells the agent to make yt-dlp available itself without asking you. Say so if you want to approve that install.

Why does it say transcripts are disabled or not found?

SKILL.md lists the causes. Transcripts disabled means the video has no captions. No transcript found means the language you asked for is not available. Video unavailable means it is deleted, private or region-locked.

Does it work on age-restricted or private videos?

No. SKILL.md lists age-restricted videos as needing a login and private or region-locked videos as unavailable.

Information

updated Nov 2, 2026

Folder
skills/baoyu-youtube-transcript

jimliu/baoyu-skillsskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 4
  1. SKILL.md · github.com
  2. baoyu-skills README · github.com
  3. youtube.ts · github.com
  4. speaker-transcript.md · github.com

Updated Nov 2, 2026.