Skip to content
Content
Skill

/subtitle-refine

中文 SRT 字幕上线发布专业级精修与校验。用于把基于 ASR 的原始字幕清洗为可上线版本,只做字幕级清洗和纠错,不做书面化改写、总结或扩写;同时保持与原音频严格同步,必要时仅在原字幕时间范围内拆分条目,并输出一份完整的 clean SRT,再用随附校验脚本做最终规则检查和时间轴复核。适用于纪录片、访谈、口播、录屏等需要修正识别错误、删除语气词、补停顿空格、限制单条字数、避免误删有意义字幕的任务。

From plugin
wdkns-skills
6894 skills
Install
$ npx -y skills add wdkns/wdkns-skills --skill subtitle-refine --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/subtitle-refine

Context preview

The summary Claude sees to decide when to auto-load this skill.

中文 SRT 字幕上线发布专业级精修与校验。用于把基于 ASR 的原始字幕清洗为可上线版本,只做字幕级清洗和纠错,不做书面化改写、总结或扩写;同时保持与原音频严格同步,必要时仅在原字幕时间范围内拆分条目,并输出一份完整的 clean SRT,再用随附校验脚本做最终规则检查和时间轴复核。适用于纪录片、访谈、口播、录屏等需要修正识别错误、删除语气词、补停顿空格、限制单条字数、避免误删有意义字幕的任务。

SKILL.md

subtitle-refine.SKILL.md
name: subtitle-refine
description: 中文 SRT 字幕上线发布专业级精修与校验。用于把基于 ASR 的原始字幕清洗为可上线版本,只做字幕级清洗和纠错,不做书面化改写、总结或扩写;同时保持与原音频严格同步,必要时仅在原字幕时间范围内拆分条目,并输出一份完整的 clean SRT,再用随附校验脚本做最终规则检查和时间轴复核。适用于纪录片、访谈、口播、录屏等需要修正识别错误、删除语气词、补停顿空格、限制单条字数、避免误删有意义字幕的任务。

字幕精修

任务目标

把用户提供的原始 `srt` 清洗成一份可交付的完整 `clean.srt`。

  • 不要覆盖原始字幕文件。
  • 只做字幕级纠错,不做润色、总结或扩写。
  • 最终校验:直接对原始 `srt` 和完整 `clean.srt` 运行 `scripts/check_clean_srt.py`。

原始要求

文本清洗要求

1. 修正识别错误,包括正确的“的地得”、合理的“他她它”。 2. 删除“嗯、啊、呃、哈”之类的无意义语气词;清洗后的字幕不要带标点。 3. 子句间需要有必要的空格停顿。 例:`来那你就先开始` -> `来 那你就先开始` 例:`你是第二个是吧` -> `你是第二个 是吧` 4. 删除明显重复字眼,不要书面化改写,不要总结,不要扩写,只做字幕级清洗和纠错。 5. 每条字幕最长不超过 14 字(英文单词默认视为一个字),单条字幕内不要换行。 6. 如果原字幕超过 14 字,要做准确断句拆分。 例:`还得谢谢各位母亲对家里的付出` -> `还得谢谢各位母亲` + `对家里的付出` 7. 不得因文本纠错、删语气词、删重复字眼或拆分字幕,造成后续字幕整体提前或滞后。所有调整都应限于当前字幕条目及其局部范围内。

时间轴要求

1. 处理后字幕必须与原音频严格同步,不得出现全局时间漂移。 2. 若仅进行字幕级清洗与纠错,且未改变原句语义边界,则默认保持该条原始起止时间不变。 3. 若因断句或单条超过 14 字而拆分,则拆分后的所有子条目必须完全落在原字幕时间范围内;各子条目之间不得重叠,优先首尾衔接,总覆盖时长必须与原条目一致。 4. 拆分后的时间分配应优先依据语义停顿和说话节奏;无法精确判断时,再按各子句有效字符数比例分配,不得机械平均切分。 5. 删除句中语气词或明显重复字眼时,通常不调整原条目起止时间;若某条本身只是独立且无意义的语气词,则可直接删除,但不得无依据拉伸前后字幕覆盖。 6. 每条字幕应尽量贴合语音片段,不得明显早挂或滞留;如需微调,单条字幕起止时间相对语音边界的偏差应尽量控制在 ±100 到 150 毫秒内。 7. 拆分和删改后仍须保证可读性,避免过短闪现、明显漏挂、无意义空窗或破坏自然语义边界的切分。

额外要求

1. 不要误删有意义的字幕条目。 2. 时间轴必须 double check。 3. 如果字幕文件过长,只有在用户明确要求并行或允许并行子代理时才并行;即便并行,也只把并行当作编辑辅助,主代理最后仍需直接整理出一份完整的 `clean.srt`。 4. 脚本不应假设字幕一定发生了拆分;无拆分和有拆分都必须兼容。

工作原则

  • 只做字幕级清洗和纠错,不做书面化改写、总结或扩写。除非确属错误、语气词、明显重复口误或规则强制要求,否则不要删减口语表达。
  • 保守优先。除非能明确判断为 ASR 识别错误、无意义语气词、明显重复口误、缺少必要停顿空格,或因超过 14 字必须拆分,否则不得改写原句语序、句法结构、搭配关系,或替换成更顺的说法。
  • 不得仅因“更通顺”“更简洁”“更像书面语”而改写原句。像“给我支持”改成“支持我”、“跟我说”改成“对我说”、“就是也是”改成“也是”等,若不属于明确识别错误或规则要求,一律不改。
  • 允许字幕不够书面、不够漂亮;只修错误,不做润色。若一句话当前形态已满足规则,就保持原样。
  • 删除规则从严。纯语气词独立条目可直接删除;除此之外,只有在能明确判断为断裂残句、重复残片或纯噪声误识别时才允许整条删除。所有非 filler 删除必须整理 allowlist,并在交付中逐条列出。
  • 若用户单独指定了字数计算口径,例如“英文单词视为一个字”,以用户要求为准;若脚本默认口径与用户要求不一致,要在交付中说明脚本局限和实际采用的复核方式。
  • 若用户单独指定了字数计算口径,例如“英文单词视为一个字”,以用户要求为准;可在运行校验脚本时加 `--latin-word-as-one-char`。
  • 默认输出的完整 `clean.srt` 以可校验、可回听为先。除非用户明确要求重编号,否则优先保留原始 `block_id`;单条拆分时使用 `123a`、`123b` 这类临时编号。
  • 不得跨条借词、补词或改写来“修顺”当前条目。若当前条目听不清或疑似 ASR 错乱,但无法仅依据本条明确修正,则优先保留原句并标记人工复听,不要从前后字幕主观拼接新文本。

输出约定

  • 输出文件名默认形如 `xxx.clean.srt`。
  • 不覆盖原始文件。
  • 最终交付物是一份完整的 `clean.srt`;不要把“待合并的块文件”当作正式产物。
  • 若为了校验或编辑方便需要保留拆分后的原始编号,可直接在完整 `clean.srt` 中使用 `123a`、`123b`;不要额外依赖合并脚本把它们二次拼装。

推荐流程

1. 读取原始 `srt`,确认总条数、是否存在超长条目、是否需要按块处理。 2. 明确本次字数约束的计数口径;若用户无补充说明,默认按脚本口径检查。 3. 逐条执行清洗、纠错、必要拆分和时间轴控制,直接整理成一份完整的 `clean.srt`。 4. 若文件很长且用户允许并行,可按字幕编号或时间范围分配给子代理,但主代理最终必须手工整合成一份完整 `clean.srt`,不要依赖合并脚本。 5. 对非 filler 删除条目先整理 allowlist。 6. 运行 `scripts/check_clean_srt.py` 做规则检查和时间轴复核。 7. 对告警做人工复核,重点看语气词残留、重复口误残留、可能缺少停顿空格、过短闪现、文本串位和 allowlist。

脚本资源

`scripts/check_clean_srt.py`

用于检查完整 `clean.srt` 是否满足长度、标点、时间轴、删除条目、局部拆分边界等要求。该脚本应独立可运行。

该脚本必须兼容两类输入:

  • 完整但未拆分的 `clean.srt`。
  • 完整且包含局部拆分条目的 `clean.srt`,允许使用 `123a`、`123b` 这类临时编号。

常用方式:

python3 scripts/check_clean_srt.py raw.srt clean.srt
python3 scripts/check_clean_srt.py raw.srt clean.srt --allowed-deletions '284,415,450'
python3 scripts/check_clean_srt.py raw.srt clean.srt --allowed-deletions '284,415,450' --fail-on-warnings
python3 scripts/check_clean_srt.py raw.srt clean.srt --latin-word-as-one-char

交付要求

交付时至少说明:

  • 输出文件路径
  • 是否保留原始文件未覆盖
  • 是否存在允许删除条目
  • 是否执行了校验脚本
  • 是否仍有需要人工回听复核的告警位点
Read more
Stats
695
Stars
67
Forks
Active
Maintenance
TeX
Language
GPL-3.0
License
1d ago
Last commit
4mo ago
Created

Repo: wdkns/wdkns-skills