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 秒。
- 時間必須 遞增排列。
某些頻道還需要在 Studio 中開啟進階功能,章節才會顯示。如果正確的清單沒有生效,請優先檢查這點。
此工具會檢查以上所有規則,並在清單無效時提醒你,而不是讓你直接貼上。
重新命名每一行
chapters.py 能良好地找出章節邊界——它會根據詞彙轉變的程度來評估你實際的停頓點。它輸出的標題是主題詞彙,僅是草稿。一個名為「縮圖 標題 包裝」的章節只是佔位符。請將每個標題重新撰寫為該段的承諾,使用使用者的口吻,三到五個字。
章節也是一種留存率診斷工具:如果某段無法用五個字命名,那它要不是該分成兩段,就是內容空洞。
守門機制
本技能不會發布任何內容。它負責撰寫,而由你負責發布。每次執行的輸出結尾都是一個可供使用者複製的區塊,且最後一行總是這個問題:發布它,還是修改它?