关于 youtube-transcript-note
youtube-transcript-note 可将 YouTube 视频整理为 Obsidian 知识库笔记,适合需要保存视频内容的人。它保留完整转录文本,添加带时间戳的主题分节,并在烹饪内容适用时执行食谱整理。
主要功能
- 01获取纯文本和带时间戳的转录
- 02清理并分节整理完整转录
- 03添加目录和视频时间戳
- 04生成适合知识库的文件名和笔记
- 05适用时执行食谱整理
适用场景
- 01将 YouTube 视频整理为可检索笔记
- 02按主题组织长视频转录
- 03为烹饪视频记录结构化食谱
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gkwa/ volcanicviper --skill youtube-transcript-note安装后在 Claude Code 中输入/youtube-transcript-note确认已加载。
附带文件tile.json
详细介绍
YouTube Transcript 笔记工作流
给定一个 YouTube URL,按顺序执行以下步骤。 逐步传递输出 — 除非某个步骤失败,否则不要在步骤之间向用户提问。
Step 1:获取带时间戳的字幕稿
以 SRT 格式运行 benevolentbadger,获取带时间戳的字幕:
uv run --no-active --project /Users/mtm/pdev/taylormonacelli/benevolentbadger benevolentbadger --format srt "<youtube_url>"
保存完整的 SRT 输出 — 第 5 步需要用到时间戳。
另外以纯文本格式运行,以获取用于清理的原始字幕稿:
uv run --no-active --project /Users/mtm/pdev/taylormonacelli/benevolentbadger benevolentbadger "<youtube_url>"
Step 2:清理字幕稿
这是转录任务,不是摘要任务。 所有口述内容都必须出现在输出中 — 不要跳过、删减或概述字幕稿的任何部分。 如果字幕稿很长,请完整输出。
对纯文本字幕稿应用以下规则:
- 更正所有拼写错误
- 修正语法错误(主谓一致、时态一致等)
- 补充恰当的标点符号(句号、逗号、撇号、缩写)
- 将专有名词和句首字母大写
- 每个完整句子单独占一行
- 每个句子之间空一行
- 将零散短语合并为完整、连贯的句子
- 删除填充词(um、uh、like、you know、so、kinda、gonna、wanna — 将 "gonna" 等缩写替换为 "going to")
- 删除说到一半的话和重复词语
- 删除旁白标签(如
[Narrator])、舞台指示(如(laughing))以及末尾的 URL
Step 3:划分章节
阅读清理后的字幕稿,识别 4–7 个自然的主题分界点。
清理后的字幕稿中的每个句子都必须恰好归入一个章节 — 不得丢弃或省略任何内容。
每个章节:
- 撰写一个以主题命名的
##标题(使用标题式大小写,简洁明了) - 将该主题的所有清理后句子放在标题下方
使用第 1 步的 SRT 输出,找到每个章节对应的第一条字幕的 start 时间(以秒为单位)。
在 ## 标题正下方一行添加视频时间戳 URL,并以裸链接形式呈现:
## Section name
https://youtu.be/<VIDEO_ID>?t=<seconds>s
First sentence of section.
Step 4:构建目录
在正文顶部(第一个 ## 章节之前),使用 Obsidian wikilink 标题格式添加目录 — 不要使用标准 Markdown 锚点:
## Table of contents
- [[#Section one]]
- [[#Section two]]
- [[#Section three]]
Step 5:直接获取缩略图 URL
YouTube 已经以稳定的 URL 托管缩略图,因此此处不要运行 social-to-imgur 技能。
根据视频 ID 构建 URL:https://i.ytimg.com/vi/<VIDEO_ID>/maxresdefault.jpg
通过 Imgur 中转对 YouTube 没有任何帮助,而且会遇到出口 IP 的 429 错误。Instagram 和其他使用会过期 CDN URL 的平台仍需上传。
Step 6:生成知识库文件名
将视频标题转换为适用于知识库的文件名:
- 全部使用小写
- 单词之间用空格分隔(不使用连字符或下划线)
- 去除特殊字符(竖线、冒号、斜杠等)
如果有助于区分笔记,则在前面加上频道/创作者名称。
例如:tasty kitchen cast iron skillet care and cooking.md
Step 7:编写知识库笔记
将笔记写入 /Users/mtm/Documents/Obsidian Vault/<filename>.md,并使用以下结构:
---
tags:
- <relevant-tag>
pic: https://i.ytimg.com/vi/<VIDEO_ID>/maxresdefault.jpg
---

https://youtu.be/<VIDEO_ID>
<intro sentences — any content before the first natural section break>
## Table of contents
- [[#Section one]]
...
## Section one
https://youtu.be/<VIDEO_ID>?t=<seconds>s
<sentences>
## Section two
https://youtu.be/<VIDEO_ID>?t=<seconds>s
<sentences>
规则:
- 不要使用
# Title标题 — 在 Obsidian 中,文件名就是标题 - 标签:仅使用知识库中已有的标签;未经用户批准,不要创建新标签
- 每行一个句子,全文句子之间空一行
- 文件中任何位置都不要使用斜体或粗体
- 将提及的产品链接到其本地知识库页面(例如 `[[flaxseed oil]])(如果存在),否则链接到 Google 图片搜索 URL
Step 8:提交
暂存并提交新文件:
git add "<filename>.md"
git commit -m "Add <short topic> note from YouTube transcript"
每条 git 命令都必须作为单独的 Bash 调用运行(不要使用 && 链接命令)。
步骤 9:应用食谱清理(仅限烹饪/食谱内容)
通过检查以下任一信号,判断视频内容是否以食谱或烹饪为主:
- 视频标题包含以下词语:食谱、酱汁、如何制作、烹饪、烘焙、烤、炒、腌料、蘸料、饺子、面条、汤、煎炸等。
- 频道名称与美食或烹饪有关
- 转录内容包含食材用量、数量或烹饪技巧相关词汇
如果任何信号表明内容与食谱/烹饪有关,则调用 recipe-cleanup 技能,并传入刚刚写入的知识库笔记路径:
/recipe-cleanup <absolute path to vault note>
该技能会从 YouTube 描述中获取可打印的食谱(如果有),添加结构化的 ### Ingredients 清单和 ### Instructions 内容块,使用 creator 字段更新 frontmatter,并解析食材维基链接。
技能完成后,提交更新后的文件:
git add "<filename>.md"
git commit -m "Apply recipe cleanup to <short topic> note"
如果内容并非以食谱或烹饪为主,则完全跳过此步骤——不要调用 recipe-cleanup。
最终报告
完成所有步骤后,报告:
- 知识库笔记文件名
- i.ytimg.com 缩略图 URL
- 分节情况及对应的视频时间戳
- 是否已应用食谱清理