baoyu-youtube-transcript
Skill27k starsChanged 6 months agoMITView on GitHub
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.
4 other projects use a version of this, 4 of them edited.
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- AgnesAI-Labs/agnet-skills-cnedited, first seen Nov 1, 2026
- eugeneli326/claude-skillsedited, first seen Oct 13, 2026
- open-fox/agentsedited, first seen Aug 14, 2026
- ftcalvinwang-ai/claude_skillsedited, first seen Mar 23, 2026
Who's talking about JimLiu/baoyu-skills
- 宝玉的技术分享“Agent Skills 设计哲学和实战进化”YouTube · Mar 23, 2026 · 2k views
- Yangjin | AI, Life & Business“我让 Codex 找 GitHub Skill,为什么一个都没直接装?”YouTube · Jul 19, 2026 · 1.4k views
- GitHub Trending Digest“baoyu-skills - GitHub Trending Today”YouTube · Apr 11, 2026 · 236 views
- Find Interesting AI“OPC时代—程序员的营销基础、工具选择、学习建议”YouTube · Jul 5, 2026 · 150 views
- AI워크랩“ChatGPT 보고서 꾸미기 스킬 5개 설치해 써 봤다 — Word 서식 · 테마 10종 · PPT 10장 | GitHub 인기 스킬”YouTube · Oct 21, 2026 · 114 views
The biggest 5 of 66 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 66
Talked about on GitHub, YouTube, Bluesky and the web (66 times).
On GitHub · 50
- Nov 7, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Nov 7, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Nov 6, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Nov 6, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Nov 5, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
45 more on GitHub
- Nov 5, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Nov 4, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Nov 4, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Nov 3, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Nov 3, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Nov 2, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Nov 2, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Nov 1, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Nov 1, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 31, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 31, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 30, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 30, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 29, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 29, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 28, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 28, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 27, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 27, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 26, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 26, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 25, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 25, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 24, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 24, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 23, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 23, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 22, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 22, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 21, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 21, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 20, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 20, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 19, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 19, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 18, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 18, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 17, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 17, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 16, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 16, 2026candidate: baoyu-post-to-wechat — BigPengSays/awesome-creator-skills0 reactions
- Oct 15, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 14, 2026candidate: baoyu-wechat-summary — BigPengSays/awesome-creator-skills0 reactions
- Oct 5, 2026[Candidate] jimliu/baoyu-skills/skills/baoyu-compress-image - baoyu-compress-image — ProSkillsMD/proskills0 reactions · 1 comment
- Oct 5, 2026[Candidate] jimliu/baoyu-skills/skills/baoyu-comic - baoyu-comic — ProSkillsMD/proskills0 reactions · 1 comment
On YouTube · 12
- Mar 23, 2026Agent Skills 设计哲学和实战进化 — 宝玉的技术分享2k views · 5 comments
- Jul 19, 2026我让 Codex 找 GitHub Skill,为什么一个都没直接装? — Yangjin | AI, Life & Business1.4k views
- Apr 11, 2026baoyu-skills - GitHub Trending Today — GitHub Trending Digest236 views
- Jul 5, 2026OPC时代—程序员的营销基础、工具选择、学习建议 — Find Interesting AI150 views · 2 comments
- Oct 21, 2026ChatGPT 보고서 꾸미기 스킬 5개 설치해 써 봤다 — Word 서식 · 테마 10종 · PPT 10장 | GitHub 인기 스킬 — AI워크랩114 views
7 more on YouTube
- May 19, 2026Skills profissionais para Claude Code, Codex, Gemini e Cursor #AI #Shorts — RepoShots105 views · 1 comment
- Mar 11, 2026baoyu-skills hit 9.4K GitHub stars #BaoyuSkills #AgentSkills #ClaudeSkills #CodexSkills #Shorts — Pulse100 views · 1 comment
- May 19, 2026ClaudeCode 实战应用-打通公众号从配图、排版到推送到草稿箱,一气呵成,不再被编辑器束缚 — NicknickAI59 views
- Oct 28, 2026baoyu-skills: This AI agent can create new skills while it works — HubMesh40 views
- Oct 26, 20263 skills de Claude que convierten tu texto en cómics e infografías 🎨 — BarbuPrime IA | Claude Code Vs Codex14 views · 1 comment
- Oct 24, 2026一张产品图,做出两版醒目封面 — 慢半拍的安迪鲁14 views
- Oct 24, 2026用Codex把一页说明变成六步上手图|相机入门 #Shorts — 慢半拍的安迪鲁14 views
On Bluesky · 3
- Aug 11, 2026📦 JimLiu / baoyu-skills ⭐ 24,846 (+50) 🗒 TypeScript — @github-trending-js.bsky.social1 likes and repost
- Apr 11, 2026🔥 Hot Repo! 🔥 (100+ new stars) 📦 JimLiu / baoyu-skills ⭐ 14,102 (+111) 🗒 TypeScript — @github-trending-js.bsky.social1 likes and repost
- Feb 20, 2026https://github.com/JimLiu/baoyu-skills — @tom-doerr.bsky.social1 likes and repost
On the web · 1
- Nov 2, 2026baoyu-infographic Skill: Turn Text into Infographics | PlugWiki — plugwiki.com
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 4
- open-fox/agents★ 5528% same
- AgnesAI-Labs/agnet-skills-cn★ 126% same
- eugeneli326/claude-skills★ 028% same
- ftcalvinwang-ai/claude_skills★ 028% same
Wrote their own version · 0
None found.
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 repository22 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- release-skillsSkill
- baoyu-article-illustratorSkill
- baoyu-comicSkill
- baoyu-compress-imageSkill
- baoyu-cover-imageSkill
- baoyu-danger-gemini-webSkill
- baoyu-danger-x-to-markdownSkill
- baoyu-diagramSkill
- baoyu-electron-extractSkill
- baoyu-format-markdownSkill
- baoyu-image-genSkill
- baoyu-infographicSkill
- baoyu-markdown-to-htmlSkill
- baoyu-post-to-wechatSkill
- baoyu-post-to-weiboSkill
- baoyu-post-to-xSkill
- baoyu-slide-deckSkill
- baoyu-translateSkill
- baoyu-url-to-markdownSkill
- baoyu-wechat-summarySkill
- baoyu-xhs-imagesSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 0 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 83
No language specified → run --list first to show options
- Very specific: line 85
Default: --chapters --speakers for the richest output
- Very specific: line 99
Read the saved .md and {baseDir}/prompts/speaker-transcript.md
“Common” is measured: kept by at least 6 in 10 of the 4 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
YouTube Transcript
Works with manual and auto-generated transcripts. No API key or browser: uses YouTube's InnerTube API, falling back to yt-dlp when YouTube blocks the direct path. First run also fetches metadata and cover image and caches raw data for fast re-formatting.
Script Directory
{baseDir} = this SKILL.md's directory. ${BUN_X} = bun if installed; else npx -y bun if npx available; else suggest installing bun. Replace {baseDir} and ${BUN_X} with actual values.
| Script | Purpose |
scripts/main.ts | Transcript download CLI |
Usage
${BUN_X} {baseDir}/scripts/main.ts <youtube-url-or-id> # markdown with timestamps (English)
${BUN_X} {baseDir}/scripts/main.ts <url> --languages zh,en,ja # language priority
${BUN_X} {baseDir}/scripts/main.ts <url> --chapters --speakers
${BUN_X} {baseDir}/scripts/main.ts <url> --format srt
${BUN_X} {baseDir}/scripts/main.ts <url> --translate zh-Hans
${BUN_X} {baseDir}/scripts/main.ts <url> --list| Option | Description | Default |
<url-or-id> | YouTube URL or video ID (multiple allowed) | Required |
--languages <codes> | Language codes, comma-separated, in priority order | en |
--format <fmt> | text (.md: frontmatter incl. description, title, summary, optional TOC/cover/timestamps/chapters/speakers) or srt | text |
--translate <code> | Translate to language code | |
--list | List available transcripts (stdout only, no file) | |
--timestamps | [HH:MM:SS → HH:MM:SS] timestamps per paragraph | on |
--no-timestamps | Disable timestamps | |
--chapters | Chapter segmentation from video description | |
--speakers | Raw transcript with metadata for speaker identification | |
--exclude-generated | Skip auto-generated transcripts | |
--exclude-manually-created | Skip manually created transcripts | |
--refresh | Force re-fetch, ignore cache | |
-o, --output <path> | Output file path | auto-generated |
--output-dir <dir> | Base output directory | youtube-transcript |
Input: https://www.youtube.com/watch?v=ID, https://youtu.be/ID, https://www.youtube.com/embed/ID, https://www.youtube.com/shorts/ID, or bare video ID.
Optional env: YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER — passed to yt-dlp --cookies-from-browser during fallback (e.g. chrome, safari, firefox, chrome:Profile 1).
Output Directory
youtube-transcript/
├── .index.json # Video ID → directory path (cache lookup)
└── {channel-slug}/{title-full-slug}/ # channel name / full title, kebab-case
├── meta.json # title, channel, description, duration, chapters, cover path, language info
├── transcript-raw.json # raw API snippets `{ text, start, duration }[]`
├── transcript-sentences.json # `{ text, start: "HH:mm:ss", end: "HH:mm:ss" }[]`
├── imgs/
│ └── cover.jpg # Video thumbnail
├── transcript.md # from transcript-sentences.json
└── transcript.srt # from transcript-raw.json (--format srt)transcript-sentences.json splits on sentence-ending punctuation (.?!…。?! etc.), merges across snippets (CJK-aware), and allocates timestamps proportionally by character length.
Caching & Fallback
- Repeat runs for the same video use the cache (no network).
--refreshforces re-fetch; requesting a different language refreshes automatically. - Any run caches
meta.jsonandimgs/cover.jpg, so cover/metadata-only requests just need one run. - On anti-bot / blocked responses the script retries alternate client identities, then
yt-dlp. Ifyt-dlpis needed but missing, the agent decides how to make it available and continues — don't push the install decision to the user.
Workflow
- No language specified → run
--listfirst to show options - Always single-quote the URL (zsh globs
?→ "no matches found"):'https://www.youtube.com/watch?v=ID' - Default:
--chapters --speakersfor the richest output - The script saves cache + output and prints the file path
--speakers→ post-process per Speaker Identification below
Chapters (--chapters)
Parses chapter timestamps from the description (e.g., 0:00 Introduction), segments by chapter, groups snippets into paragraphs, saves .md with a Table of Contents. No further processing. No chapter timestamps → grouped paragraphs without chapter headings.
Speaker Identification (--speakers)
Implies --chapters. The script saves a raw .md with YAML frontmatter (title, channel, date, cover, description, language), the video description, the description's chapter list (if any), and the transcript in SRT format.
Spawn a sub-agent (a cheaper model like Sonnet is fine) to:
- Read the saved
.mdand{baseDir}/prompts/speaker-transcript.md - Process the transcript per the prompt: identify speakers from metadata (title → guest, channel → host, description → names) and conversation cues; segment into chapters (description chapters, else topic shifts); format with
**Speaker Name:**labels, 2-4 sentence paragraphs,[HH:MM:SS → HH:MM:SS]timestamps - Overwrite the
.mdwith the result, keeping the YAML frontmatter
Error Cases
| Error | Meaning |
| Transcripts disabled | Video has no captions at all |
| No transcript found | Requested language not available |
| Video unavailable | Deleted, private, or region-locked |
| IP blocked | Too many requests, try again later |
| Age restricted | Login required for age verification |
| bot detected | Script retries alternate clients, then yt-dlp; resolve missing fallback tooling yourself; if it still fails try YOUTUBE_TRANSCRIPT_COOKIES_FROM_BROWSER=safari (or your browser) |
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.

