Guide · Agent skill
How to use the YouTube Transcript Downloader agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The YouTube Transcript Downloader is an agent skill, a packaged set of instructions and scripts that an AI agent such as Claude can load and use. Once it is installed, you can give the agent a YouTube link or video ID and ask for the transcript, subtitles or cover image. This guide explains what the skill does, how to install it, how to phrase requests and what to watch for.
Quick start
- 1Download the ZIP. Get the skill package as a ZIP file from the agent-skills directory page.
- 2Install it. Unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it under Settings → Capabilities → Skills in the Claude apps.
- 3Make sure Bun is available. Install bun, or make sure npx is available so the skill can run bun through npx -y bun.
- 4Ask for a transcript. Paste a YouTube URL or video ID and ask for the transcript, subtitles or cover image in plain language.
- 5Choose options if needed. Ask for specific languages, SRT format, chapters or translation. Use --list first if you do not know which caption languages exist.
- 6Open the saved file. Find the output under youtube-transcript/ and open transcript.md or transcript.srt.
What the skill lets the agent do
The skill downloads transcripts (subtitles and captions) from YouTube videos, including both manually created and auto-generated transcripts. It also fetches the video's metadata and cover image. The source says it needs no API key or browser: it calls YouTube's InnerTube API directly and falls back to yt-dlp when YouTube blocks that direct path.
The output can be a Markdown file with timestamps or an SRT subtitle file. The skill can also list the caption languages available for a video, translate the transcript, split it into chapters taken from the video description, and prepare a file for speaker identification. Results are cached locally, so reformatting the same video does not hit YouTube again.
- Accepted inputs: full watch URLs, youtu.be short URLs, embed URLs, Shorts URLs and bare video IDs.
- Output formats: text (.md) and srt (.srt).
- The skill does not transcribe audio. It only extracts captions that already exist.
Install the skill from the ZIP download
Download the skill as a ZIP file from the agent-skills directory page. Then choose one of two ways to install it.
For Claude Code, unzip the package into your personal skills folder ~/.claude/skills/, or into a project's .claude/skills/ folder if you want the skill available only in that project. For the Claude apps, upload the ZIP under Settings → Capabilities → Skills.
- Personal install: unzip into ~/.claude/skills/
- Project install: unzip into the project's .claude/skills/ folder
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
Check what the skill needs before you run it
The skill runs scripts written in TypeScript and needs the Bun runtime. The SKILL.md says the agent uses bun if it is installed, or npx to run bun if npx is available. If neither is present, the agent should suggest installing bun. No API key is required.
yt-dlp is optional. It is used as a fallback when YouTube blocks the direct API path. The source says that if yt-dlp is needed but missing, the agent should decide how to make it available and continue rather than pushing that decision to you.
If yt-dlp needs logged-in cookies, you can set YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER to a browser such as chrome, safari or firefox, or to a profile such as chrome:Profile 1. The value is passed to yt-dlp --cookies-from-browser.
- Bun runtime, or npx to run bun
- Optional: yt-dlp as a fallback
- Optional: YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER for logged-in cookies
- Network access to YouTube
Trigger the skill with natural requests
You do not need to type commands. The skill activates when you ask for a YouTube transcript, subtitles, captions or a video cover, or when you paste a YouTube URL and ask for its text or cover image. The skill's description lists phrases such as get YouTube transcript, download subtitles, get captions, video thumbnail and video cover image, and it also accepts Chinese phrases such as YouTube字幕 and 视频封面.
The agent runs the script behind the scenes. You can also ask for specific formats, languages or chapters in the same request.
- Get the transcript for this video: https://www.youtube.com/watch?v=VIDEO_ID
- Download the subtitles for this talk in Japanese and Chinese, then give me an SRT file.
- What languages are available for this video's captions?
- Get the cover image for this video.
- Translate the transcript of this lecture into Simplified Chinese.
Run the script directly (optional)
The SKILL.md shows the commands the agent runs. {baseDir} is the folder containing SKILL.md, and ${BUN_X} is bun or npx -y bun. The default output is Markdown with timestamps in English. Replace the placeholders with real values when you run them yourself.
Quote YouTube URLs in single quotes. In zsh, the ? in a URL is treated as a wildcard and causes a no matches found error.
- --languages zh,en,ja sets language priority order (default en)
- --format srt writes an SRT subtitle file
- --no-timestamps removes timestamps
- --chapters adds chapter segmentation from the video description
- --speakers prepares raw output for speaker identification, which needs AI post-processing
- --list shows available transcripts to stdout only
- --refresh ignores cached data and re-fetches
- -o or --output-dir sets where files are saved (default folder youtube-transcript)
bun {baseDir}/scripts/main.ts 'https://www.youtube.com/watch?v=ID' --languages zh,en --chaptersFind your output and cache files
Each video is saved under youtube-transcript/ in a folder named by channel and title. The folder holds meta.json, the raw snippets, a sentence-segmented transcript, the cover image in imgs/cover.jpg, and transcript.md or transcript.srt depending on the format. A .index.json file maps video IDs to folders so the cache can be found.
On later runs for the same video, cached data is used with no network calls. Requesting a different language refreshes the cache automatically.
- meta.json: title, channel, description, duration, chapters
- transcript-raw.json: raw snippets from the YouTube API
- transcript-sentences.json: sentence-split transcript
- imgs/cover.jpg: video thumbnail
- transcript.md or transcript.srt: the file you asked for
What people use it for
- Turn a recorded lecture or conference talk into a searchable text file.
- Get an SRT subtitle file for a video you have permission to work with.
- Pull the cover image from a video for a thumbnail or document.
- Feed transcript text into a developer workflow that summarises or analyses YouTube content.
Frequently asked questions
How do I install the baoyu-youtube-transcript skill?
Download the skill ZIP from the directory page and unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. In the Claude apps, you can upload the ZIP under Settings → Capabilities → Skills.
Does the YouTube transcript skill need an API key?
No. The source says it needs no API key and no browser. It uses YouTube's InnerTube API directly and falls back to yt-dlp only when YouTube blocks the direct path.
What do I need to run it?
You need the Bun runtime, or npx so the agent can run bun through npx -y bun. yt-dlp is optional, and network access to YouTube is required.
Can it download transcripts for videos with no captions?
No. The skill extracts existing captions. If a video has no captions in any language, there is no text to extract, and the skill does not transcribe audio.
Is the skill free to use, and what is its licence?
The skill is listed under the MIT licence. The source does not describe any paid tier, so check the licence text on the original repository for full terms.
Why does my YouTube URL fail with 'no matches found' in zsh?
zsh treats the ? in a YouTube URL as a glob wildcard. Wrap the URL in single quotes, for example 'https://www.youtube.com/watch?v=ID'.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits students, researchers and creators who need text or subtitle files from YouTube videos they have the right to use, and developers who want that text as input to their own tools. It is a poor fit if you need audio transcription, if the videos have no captions, or if your environment blocks outbound internet access.
Download the skill