yt-transcript
Skill0 starsChanged 5 months agoMITView on GitHub
Extract a YouTube video's transcript from a URL and save it as .md and .txt files under ./output/, and optionally apply an action (summarize, bullets, criticize/critique, questions) to it. Use when the user provides a YouTube URL and asks to extract, download, fetch, or save a transcript, or to summarize / bullet-point / critique a video or generate follow-up questions about it.
- Installs packages
4 other projects use a version of this.
Adopted by
Most recently taken up by
- weininghui/skillstheir own version, first seen Oct 30, 2026
- Valeriy1980/claude-skillstheir own version, first seen Oct 13, 2026
- lmiadowicz/claude-skillstheir own version, first seen Apr 15, 2026
- jaansokk/cursor_toolstheir own version, first seen Mar 15, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- jaansokk/cursor_tools★ 1same name
- lmiadowicz/claude-skills★ 1same name
- weininghui/skills★ 1same name
- Valeriy1980/claude-skills★ 0same 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.
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 1 is distinctive, and 5 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
Run the script from the directory where the user wants the output/ folder.
- Very specific: line 51
Run the script from that directory with the URL as a single quoted argument.
- Very specific: line 52
Read the script's stdout — the first two lines are the saved transcript paths (.md, .txt).
- Very specific: line 55
Read the transcript from transcript_file.
- Very specific: line 57
Write the result to output_file (e.g.
- Distinctive: line 75
No API key — actions are performed by you, the agent, not by the script.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
yt-transcript
Quick start
Extract a transcript (saves two files under ./output/):
python ~/.claude/skills/yt-transcript/scripts/fetch.py "https://www.youtube.com/watch?v=VIDEO_ID"Extract and apply an action:
python ~/.claude/skills/yt-transcript/scripts/fetch.py --action summarize "https://www.youtube.com/watch?v=VIDEO_ID"On Windows PowerShell, expand the home path manually:
python "$HOME\.claude\skills\yt-transcript\scripts\fetch.py" --action summarize "https://www.youtube.com/watch?v=VIDEO_ID"Run the script from the directory where the user wants the output/ folder; paths are relative to the current working directory and the folder is created if missing.
Actions
--action <id> (alias -a). Valid ids: summarize, bullets, criticize
(alias critique), questions. The script does not call any LLM — you
(the agent) produce the action output yourself. The script saves the
transcript, then prints a final line:
ACTION_REQUEST {"action":"summarize","instruction":"...","transcript_file":"<abs .md>","output_file":"<abs .md>"}What each action produces (the exact instruction rides in the JSON — follow it verbatim):
- summarize — 3-5 paragraph markdown summary, one-sentence TL;DR first.
- bullets — 8-15 key points as a markdown bullet list.
- criticize — per-claim critique (what's supported / weak / counter-evidence), H3 per claim.
- questions — 8-12 grouped follow-up questions.
Workflow
- Confirm the user's intended working directory so
./output/lands where they expect. - Run the script from that directory with the URL as a single quoted argument. Add
--action <id>if the user asked to summarize / bullet / critique / generate questions. - Read the script's stdout — the first two lines are the saved transcript paths (
.md,.txt). - If no action: report both transcript paths to the user. Done.
- If an
ACTION_REQUESTline is printed:- Read the transcript from
transcript_file. - Apply the
instructionto that transcript using your own reasoning (do not shell out to another model). Output clean markdown. - Write the result to
output_file(e.g.output/<title>.summarize.md). - Report the transcript paths and the action output path to the user.
- Read the transcript from
File contents
Transcript files (<title>.md / <title>.txt) contain:
- The video title (H1 in the .md, plain in the .txt)
- The canonical
https://www.youtube.com/watch?v=<id>URL - The full transcript as one prose block
Action output (<title>.<action>.md) contains only the action result as markdown, written by you.
Requirements
- Python 3 on
PATH(or set$PYTHON/$env:PYTHON). youtube-transcript-api:pip install youtube-transcript-api- Network access (transcript API + YouTube's public oEmbed endpoint for the title).
- No API key — actions are performed by you, the agent, not by the script.
Edge cases
- Unknown action — script exits 1 with a JSON error listing valid actions, before any network call.
- No captions / video unavailable — script exits 1 with a JSON error line on stderr. Surface it; suggest verifying the video has captions.
- Title fetch fails — script falls back to the 11-char video ID as the filename rather than aborting.
- Filename safety — strips characters illegal on Windows (
<>:"/\|?*), control chars, and excess whitespace; truncates to 150 chars. - URL formats accepted —
watch?v=<id>,youtu.be/<id>,/embed/<id>,/shorts/<id>, and raw 11-char video IDs. - Name collisions — existing files at the same path are overwritten without prompt.
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.

