一個 Claude Code skill:把語音轉文字(STT)的 SRT 字幕「只改文字、零更動時間碼」地修好。適用任何語言與主題。
Use when correcting or polishing a speech-to-text transcript or
.srt/.vttsubtitle file — fixing misrecognized words, proper nouns, Chinese-English spacing and filler words while keeping every timecode unchanged.
語音轉文字常見的問題:
- 同音/近音誤辨(例:字幕寫「VS 扣」,其實是
VS Code) - 專有名詞辨錯,而且全片前後不一致
- 中英數之間沒有空格、語氣詞冗餘,讀起來不順
直接叫 LLM「幫我修字幕」最大的風險是:它會動到時間碼、合併或刪掉整條字幕、把相鄰字幕的文字搬來搬去——字幕結構一壞就無法用。這個 skill 用一個結構性的方法從根本繞開這些風險。
- 腳本只做切/合/驗(確定性工作),文字修正一律由 agent 逐條手動完成——腳本不碰文字,agent 才能理解上下文做出正確修正。
- 時間碼從根本不可能被更動——合併時 index 與時間碼一律取自「原始檔」,只採用 agent 的「修正文字」。
- 平行加速——把長字幕在字幕邊界切成 N 份,同時派多個 agent 各修一份,最後合併。
- 跨片段一致——先建共用 GLOSSARY(誤辨→正確對應表),所有 agent 共用,確保專有名詞全片統一。
- 全套驗證——合併時自動檢查:條數一致、index 對齊、時間碼零變動、相鄰字幕重複。
盤點 + 建主題詞表 → split.py 切檔 → 平行派 agent 逐條修 → merge.py 合併 + 驗證 → 回報
(GLOSSARY) (字幕邊界) (共用 GLOSSARY) (時間碼取原始)
這是 Claude Code skill,把整個倉庫內容放進 skills 目錄即可:
# 個人全域(所有專案都能用)
git clone https://github.com/madebypan/transcript-fix-skill.git ~/.claude/skills/transcript-fix
# 或:放在某個專案內
git clone https://github.com/madebypan/transcript-fix-skill.git <你的專案>/.claude/skills/transcript-fix重開 Claude Code 後,skill 會出現在可用清單中。
/transcript-fix @字幕.srt @參考資料.md
- 必要:一個
.srt檔(待修字幕) - 可選:一或多個
.md/.txt參考檔(術語表、大綱、講稿),用來統一專有名詞;沒有就靠自動掃描+主題推斷
輸出 <原名>_修正.srt,時間碼與原始 100% 一致。也可以直接用自然語言觸發,例如「幫我修這個字幕 @xxx.srt」。
SKILL.md 主流程(Claude 讀這個)
references/correction-rules.md 通用修稿原則(主題無關,給 agent 讀)
references/agent-prompt-template.md 派 agent 的 prompt 模板
scripts/split.py 切檔(字幕邊界切分、結構驗證)
scripts/merge.py 合併 + 全套驗證(條數/對齊/時間碼/相鄰重複)
- Claude Code
- Python 3(只用標準庫,腳本無任何第三方依賴)