yt-chapters
python3 ${CLAUDE_SKILL_DIR}/chapters.py transcript.srt --target 8
这些工具位于此技能文件夹内。${CLAUDE_SKILL_DIR} 在 Claude Code 中指向该文件夹;在其他不会展开该变量的地方(如 claude.ai、Codex),请使用加载此 SKILL.md 的文件夹。
它通过 ../yt-edit/deadair.py 读取字幕,因此请将两者一起安装。
有视频链接但没有字幕?可以使用以下一行命令获取YouTube的自动字幕:
yt-dlp --skip-download --write-auto-subs --sub-langs en --sub-format vtt -o transcript "<video url>"
该命令会生成 transcript.en.vtt。将 en 替换为视频的语言。自动字幕没有标点符号;而 whisper 生成的字幕包含标点,能提供更清晰的句子边界。
内容编写前注意事项
如果存在 ~/.claude/youtube/voice.md 文件,请阅读它——你编写的标题应符合用户的措辞风格,而不是你自己的风格。如果该文件不存在,请使用简明标题,并说明语音文件可以让标题更精准。
必须遵守的规则(不可选择)
任何违反以下规则的章节列表都将静默失效——章节块会停留在视频描述中,但不会实际生效:
- 第一个条目必须是 00:00。
- 至少需要 三个 章节。
- 每个章节必须 至少10秒 长。
- 必须按 升序排列。
某些频道还需要在 YouTube Studio 中开启高级功能后,章节才会显示。如果有效的章节列表未渲染,请首先检查此项设置。
该工具会检查以上所有条件,并在列表无效时给出提示,而不是让你直接粘贴。
重写每一行标题
chapters.py 能很好地找到章节边界——它会根据你实际停顿处的词汇变化程度进行评分。它生成的标题是主题词,仅作为草稿。像“缩略图、标题、包装”这样的章节标题只是一个占位符。请将其重写为该片段的核心承诺,使用用户的语气,三到五个词。
章节也是一种留存诊断:如果一个部分无法用五个词命名,那它要么是两个独立部分,要么是填充内容。
发布前检查
此技能不负责发布任何内容。它仅负责编写,由你来发布。每次运行输出的最后是一个供用户复制的块,并且运行的最后一句话总是这个问题:发布,还是修改?