cyxj-subfixlisted
Install: claude install-skill chenyuxiaojin/xiaochen-skills
# 达芬奇字幕修正 Skill v4
## 路径约定
`$SKILL_DIR` 指本 SKILL.md 所在目录的绝对路径。运行脚本前先确定:
```bash
SKILL_DIR="$(dirname "$(readlink -f "$0")")" # 或直接用 SKILL.md 所在目录的绝对路径
```
## 架构原则
**三层分离**:Python 做结构处理,Gemini 做语义初修,Opus 审查把关。
- Python(srt_cleaner.py):HTML 清理、去重、标点替换、合并、拆分、编号、导出纯文本 — 所有时间码操作
- Gemini(srt_corrector.py):同音字修正 + 去口吃 + 去填充词 — API 自动处理,几乎免费
- Opus(对话内):审查 Gemini 的修改清单,纠正错误修正,发现遗漏 — 只看 diff,token 极少
**词典定位**:词典是"已知陷阱"参考,不是主力。同一个词的错误变体太多,词典永远无法穷举。真正的修正靠 Gemini 的语义理解 + 视频主题上下文。Opus 审查后发现的遗漏会反馈到词典,让系统越来越准。
## 使用方法
```
/字幕修正 ~/Desktop/Timeline1.srt # 完整流程
/字幕修正 ~/Desktop/Timeline1.srt --topic "Claude Code教程" # 指定主题提高修正准确度
/字幕修正 ~/Desktop/Timeline1.srt --no-regroup # 跳过合并拆分
/字幕修正 ~/Desktop/Timeline1.srt --premium # Phase 2a 用高端 Gemini 模型
/字幕修正 --add "错误词" "正确词" # 添加词典条目
```
## 显示规则
- 场景:横屏 16:9
- 软上限:18 字符(正常通过)
- 警告区:18-25 字符(输出时标注提醒)
- 硬上限:25 字符(Python 强制拆分,标记需人工校验)
- 字符计算:中文/中文标点=1, ASCII=0.5, 向上取整
- 标点规则:字幕中不用逗号句号(替换为空格),保留?!
## 执行步骤
<steps>
### Phase 1: Python 结构处理
1. **备份**:创建 `.bak` 备份文件
2. **运行 srt_cleaner.py**:
```bash
python3 "$SKILL_DIR/srt_cleaner.py" "<input.srt>" --stats
```
如果用户指定 `--no-regroup`,追加该参数跳过合并拆分。
3. **报告结果**:向用户汇报去重、合并、拆分、超限条目数量
### Phase 2a: Gemini 自动初修
1. **确认主题**:如果用户提供了 `--topic`,以此为语境参考;否则从字幕内容推断主题,向用户确认
2. **运行 srt_corrector.py**:
```bash
python3 "$SKILL_DIR/srt_corrector.py" "<_cleaned.srt>" --topic "主题"
```
如果用户指定 `--premium`,追加该参数使用高端