baoyu-youtube-transcript
作者 JimLiubaoyu-youtube-transcript 可从 YouTube URL 或 video ID 提取 transcript、subtitles 和封面图。它支持语言选择、翻译、Markdown 或 SRT 输出、基于缓存的重新格式化,并在 InnerTube API 不可用时回退到 yt-dlp,以更稳定地获取 transcript。
这项 skill 评分为 84/100,适合收录到目录中,尤其适合需要稳定提取 YouTube transcript、又希望比通用提示词少走弯路的用户。仓库展示了真实可运行的工作流,包含明确的触发方式、CLI 用法、回退机制和测试,因此代理大概率能正确调用它,并较有把握地产出 transcript、subtitles 或封面图。
- 触发性很强:描述中明确写出了具体用户意图和输入模式,例如 YouTube URL、transcript/subtitle 请求,以及封面图请求。
- 具备较强的可操作性:`SKILL.md` 记录了使用方式,仓库还包含可运行的 TypeScript/Bun CLI,以及 7 个用于抓取、解析、缓存和格式化 transcript 的配套脚本。
- 对代理有实际增益:它直接使用 YouTube InnerTube,在受限时会回退到 yt-dlp,并支持语言选择/翻译、chapters、speaker-processing prompt,以及基于缓存的重新格式化。
- 安装和运行时配置说明仍不算完全清晰:`SKILL.md` 提到了 Bun/`npx` 依赖和运行时解析方式,但 skill 文件里没有提供一个简单直接的安装命令。
- 部分高级行为仍需要代理自行判断,尤其是 speaker identification 和 chapter processing,这些更多是通过 prompt 引导,而不是由一套严格约束的端到端工作流来保证。
baoyu-youtube-transcript skill 概览
baoyu-youtube-transcript 擅长什么
baoyu-youtube-transcript 是一个面向 YouTube 文稿提取的 skill,适合那些需要可复用文本文件的人,而不只是想在屏幕上看字幕。它可以根据 YouTube URL 或 video ID 下载 transcript、subtitles 和封面图,支持语言选择与翻译,还能基于已缓存的数据重新格式化为 markdown 或 SRT,而无需再次抓取。它最大的实际优势是稳定性:优先使用 YouTube 的 InnerTube API,在直接访问受阻时再回退到 yt-dlp。
哪些用户最适合,真正要解决的工作是什么
这个 skill 最适合研究人员、做笔记的人、归档人员、内容再利用团队,以及需要把视频做 Format Conversion 转成 markdown、subtitle 或 transcript 资产的 agent。它真正要完成的任务通常是:“把这个视频的文稿提取出来,拿到我需要的语言版本,如果时间戳或章节有价值就保留下来,并且按之后还能复用的文件结构保存好。”
安装前值得先了解的关键差异
和泛泛的“总结这个 YouTube 视频”提示词相比,baoyu-youtube-transcript 提供的是基于文件的输出、缓存能力、按语言感知的轨道选择,以及更可控、更确定的提取路径。仓库里还提供了一个说话人后处理提示词文件 prompts/speaker-transcript.md,如果你的最终目标是更干净、可编辑的 transcript,而不是原始字幕行,这一点会很重要。
如何使用 baoyu-youtube-transcript skill
安装环境与运行前提
要安装和运行 baoyu-youtube-transcript,你需要本地可用的 bun 或 npx。这个 skill 的脚本位于 skills/baoyu-youtube-transcript/scripts/,并且 SKILL.md 明确说明了运行时解析顺序:优先 bun,其次 npx -y bun。如果你还在评估是否采用,建议先读这些文件:
SKILL.mdscripts/main.tsscripts/youtube.tsprompts/speaker-transcript.mdscripts/main.test.ts
沿着这条路径读仓库,通常比把整个 repo 全翻一遍更快看清真实的 CLI 行为、fallback 逻辑和后处理流程。
baoyu-youtube-transcript 实际是怎么用的
在常规的 baoyu-youtube-transcript 使用流程里,你会用 YouTube URL 或 11 位 video ID 调用主脚本。脚本可以:
- 获取 transcript track
- 优先选择更好的字幕格式,比如
json3 - 在手动字幕和自动生成字幕之间做选择
- 在可用时进行翻译
- 输出 markdown 或 SRT
- 在输出目录下缓存 metadata 和 transcript payload
真正影响结果质量的,通常不是写很长的 prompt,而是把提取意图说清楚。一个好的请求应明确写出:
- 视频 URL 或 ID
- 语言优先级顺序
- 是否接受自动生成字幕
- 目标输出格式:markdown 或 SRT
- 是否需要时间戳、章节或说话人
更强一点的请求可以像这样:“Use baoyu-youtube-transcript on this YouTube URL, prefer en then zh-Hans, allow generated captions, output markdown with timestamps, and save under a reusable output directory.”
能减少猜测成本的 prompting 与工作流
如果你是通过 AI agent 来调用它,最好把模糊目标改写成可直接执行的指令。例如:
- Extraction: “Fetch the transcript for this video ID in
en; if unavailable, use translatedenfrom another track.” - Formatting: “Return markdown with timestamps for review.”
- Enhancement: “Then use
prompts/speaker-transcript.mdto convert the raw transcript into a chaptered, speaker-labeled transcript without translating.”
这个两步式工作流很关键,因为说话人标注是独立的后处理任务,并不等同于下载原始字幕。prompts/speaker-transcript.md 强调逐字忠实和说话人命名一致,这对访谈、播客和课程 transcript 特别有用。
输出结构、缓存机制与实用建议
baoyu-youtube-transcript skill 会保存 metadata 和 transcript 缓存,因此重复格式化时会更快。如果你希望针对同一个视频同时保留原始版和精修版输出,这一点尤其有价值。实用建议如下:
- 如果你会反复处理同一批视频,使用稳定的
outputDir。 - 在做说话人清洗之前,先保留原始 transcript 输出。
- 关注时间精度时用 SRT;更看重可读性时用 markdown。
- 如果章节提取很重要,检查视频 description 里是否包含带时间戳的章节,因为脚本会结合 description 和 duration 解析 chapters。
baoyu-youtube-transcript skill 常见问题
baoyu-youtube-transcript 比普通 prompt 更好吗?
如果你需要的是可复现的提取结果,而不是“尽力推断”的回答,那答案是肯定的。普通 prompt 无法稳定下载 subtitle track、检查可用语言、缓存原始资产,也不能在失败时回退到 yt-dlp。当你的任务重点是采集和转换,而不只是做摘要时,baoyu-youtube-transcript 会更强。
什么情况下这个 skill 不适合?
如果目标视频没有可访问的 transcript track,而你又希望它仅凭音频完成完整的 speech-to-text transcription,那它就不适合。这个 repo 的设计核心是 YouTube transcript/subtitle 获取,不是独立的 ASR pipeline。另一方面,如果你只是想快速看一段人工摘要,并不需要保存文件,那用它也会显得偏重。
baoyu-youtube-transcript 对新手友好吗?
算是中等门槛。这个 skill 以脚本驱动为主,不是点点按钮就能完成,所以最好对 bun、npx、路径和输出目录有基本熟悉度。好在这个 repo 的实现细节比较完整:scripts/main.test.ts 能帮助你理解选择逻辑,SKILL.md 也给出了安全起步所需的命令模式。
如何改进 baoyu-youtube-transcript skill 的使用效果
想让 baoyu-youtube-transcript 输出更好,先把输入说清楚
想提升 baoyu-youtube-transcript 的结果,最快的方法就是明确 transcript 选择条件。要写清语言优先级、是否优先手动字幕,以及是否接受自动生成字幕。如果这些不说明白,最终虽然也可能拿到可用结果,但很可能是质量较低的 track,或者是你没预期到的翻译版本。
尽早处理常见失败场景
常见问题包括:无效 video identifier、直接抓取被拦截、目标语言字幕缺失,以及把“翻译字幕”和“总结 transcript”混为一谈。如果提取失败,先从概念上检查 scripts/youtube.ts 的处理方式:这个 skill 本身已经有 fallback 路径,所以你下一步通常应该是调整语言限制,或者允许自动生成字幕,而不是把整个 prompt 全部重写。
拿到第一版 transcript 后再迭代
如果你把 baoyu-youtube-transcript 用于 Format Conversion,最好的工作流通常是迭代式的:
- 先抓取原始 transcript
- 检查语言和完整性
- 有需要的话换一种格式重新运行
- 再做说话人/章节后处理
如果第一版 markdown 看起来比较乱,不要立刻否定这个 skill。更好的做法是保留缓存下来的原始文件,重新跑格式化,或者套用 prompts/speaker-transcript.md 生成更干净的最终文档。也正是在这个阶段,它会比一次性的下载脚本更有价值。
