youtube-transcribe-skill
Skill248 starsChanged 4 months agoMITView on GitHub
Extract subtitles or a transcript from a YouTube URL and save normalized timestamped text locally. Use when the user wants the spoken content of a YouTube video as text.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- allanninal/claude-code-skillstheir own version, first seen Oct 17, 2026
- feiskyer/claude-code-settingstheir own version, first seen Sep 27, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- feiskyer/claude-code-settings★ 1.7ksame name
- allanninal/claude-code-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- brainstormingSkill
- claude-skillSkill
- code-simplifierSkill
- deep-researchSkill
- github-fix-issueSkill
- github-review-prSkill
- gpt-image-skillSkill
- grill-meSkill
- handoffSkill
- minimax-image-skillSkill
- nanobanana-skillSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use the bundled scripts/transcribe_youtube.py wrapper for the primary workflow.
- Distinctive: line 14
Keep the output in the user's current working directory unless they request another location.
- Distinctive: line 20
Run without browser cookies first:
- Distinctive: line 46
Do not read browser cookies by default.
- Distinctive: line 49
Ask the user which browser profile they approve using.
- Distinctive: line 59
Never print, copy, or persist browser cookies in the transcript or logs.
- Very specific: line 63
Use browser automation only when yt-dlp is unavailable or cannot obtain subtitles and an appropriate browser-control capability is …
- Distinctive: line 70
If neither CLI extraction nor browser automation is available, report the missing capability instead of claiming success.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
YouTube Transcript Extraction
Use the bundled scripts/transcribe_youtube.py wrapper for the primary workflow. It downloads subtitles with yt-dlp, selects the preferred language, converts WebVTT cues into timestamped plain text, and reports the output path and line count.
Requirements
- Install
yt-dlpand confirmyt-dlp --versionsucceeds. - Resolve the absolute directory containing this
SKILL.md; refer to it as<skill-dir>. - Keep the output in the user's current working directory unless they request another location.
The Python wrapper itself uses only the standard library. It can display --help without yt-dlp being installed.
Primary workflow
Run without browser cookies first:
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
"<youtube-url>" \
--output-dir "$PWD"The default language preference is Simplified Chinese, Traditional Chinese, other Chinese variants, then English. Override it when the user requests another language:
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
"<youtube-url>" \
--languages "ja.*,en.*" \
--output-dir "$PWD"The wrapper supports normal watch URLs plus youtu.be, Shorts, live, and embed URLs. A successful run writes one .txt file whose non-empty lines use this shape:
00:03 Subtitle text
00:08 Next subtitle textCookie retry
Do not read browser cookies by default. If the initial command fails specifically because the video requires sign-in, age verification, membership, or another authenticated session:
- Explain that the retry will let
yt-dlpread YouTube cookies from a local browser profile. - Ask the user which browser profile they approve using.
- Retry only after approval:
python3 "<skill-dir>/scripts/transcribe_youtube.py" \
"<youtube-url>" \
--cookies-from-browser chrome \
--output-dir "$PWD"Never print, copy, or persist browser cookies in the transcript or logs.
Browser fallback
Use browser automation only when yt-dlp is unavailable or cannot obtain subtitles and an appropriate browser-control capability is available.
- Inspect the tools available in the current session; do not assume fixed MCP server or tool names.
- Open the video, reveal the transcript panel, and extract visible timestamp/text pairs.
- Save the result as
<sanitized-video-title>.txtin the requested directory. - Close pages or sessions opened solely for this task.
If neither CLI extraction nor browser automation is available, report the missing capability instead of claiming success.
Completion report
Return:
- Absolute transcript path
- Selected subtitle language
- Number of transcript lines
- Whether browser cookies or browser automation were used
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

