cyxj-subfixlisted
Install: claude install-skill chenyuxiaojin/xiaochen-skills
# 达芬奇字幕修正 Skill v4
## 路径约定
脚本一律用 `${CLAUDE_PLUGIN_ROOT}`(Claude Code 加载插件时自动注入)定位:
```bash
python3 "${CLAUDE_PLUGIN_ROOT}/skills/cyxj-subfix/srt_cleaner.py" ...
```
## 架构原则
**三层分离**:Python 做结构处理,Gemini 做语义初修,Opus 审查把关。
- Python(srt_cleaner.py):HTML 清理、去重、标点替换、合并、拆分、编号、导出逐字稿 Markdown — 所有时间码操作
- 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 模型
/字幕修正 添加词条 错误词→正确词 # 添加词典条目(见下方"词典管理")
```
## 显示规则
- 场景:横屏 16:9
- 软上限:18 字符(正常通过)
- 警告区:18-25 字符(输出时标注提醒)
- 硬上限:25 字符(Python 强制拆分,标记需人工校验)
- 字符计算:中文/中文标点=1, ASCII=0.5, 向上取整
- 标点规则:字幕中不用逗号句号(替换为空格),保留?!
## 执行步骤
<steps>
### Phase 1: Python 结构处理
1. **备份**:创建 `.bak` 备份文件(保住原始 SRT——后续各 Phase 会在同目录产出多个文件,防误覆盖,也便于最后回滚比对)
2. **运行 srt_cleaner.py**:
```bash
python3 "${CLAUDE_PLUGIN_ROOT}/skills/cyxj-subfix/srt_cleaner.py" "<input.srt>" --stats
```
如果用户指定 `--no-regroup`,追加该参数跳过合并拆分。
3. **报告结果**:向用户汇报去重、合并、拆分、超限条目数量
### Phase 2a: Gemini 自动初修
1. **确认主题**:如果用户提供了 `--topic`,以此为语境参考;否则从字幕内容推断主题,向用户确认
2. **运行 srt_corrector.py**:
```bash
pyt