subtitle-correction

Correct subtitle files (.srt) generated from speech recognition. Use when the user uploads subtitle files and asks to correct, fix, or proofread subtitles, especially for technical content like programming tutorials, AI/ML courses, or any content with domain-specific terminology. Supports Chinese an

By sugarforever · 521 installs

npx skills add sugarforever/01coder-agent-skills --skill subtitle-correction

Source repository · Upstream listing

Subtitle Correction Skill This skill corrects speech recognition errors in subtitle files while strictly preserving timeline information. Interactive Workflow Step 1: Request Terminology from User IMPORTANT : Before starting any correction, ALWAYS ask the user for domain specific terms. Prompt the user with: For English users: Step 2: Confirm Understanding After receiving terms, confirm by: 1. Listing the terms received 2. Identifying the likely domain/context (AI/ML tutorial, web dev, etc.) 3. Asking if there are any additional terms before proceeding Example response: Step 3: Process with Terms Use the provided terms to: 1. Build a mental model of expected vocabulary 2. Identify likely speech recognition errors 3. Apply consistent corrections throughout When User Doesn't Provide Terms If user says "没有" / "no" / "直接开始": 1. Proceed with correction using built in patterns 2. Flag uncertain corrections for user review 3. After completion, ask if any terms were missed Core Workflow 1. Read the subtitle file Load the .srt file provided by the user 2. Identify error patterns Recognize common speech recognition mistakes 3. Apply corrections Fix errors while preserving timestamps exactly 4. Output corrected file Return or save based on user's context Strict Rules Timeline Preservation NEVER modify timestamps Keep all 00:00:00,000 00:00:00,000 lines exactly as is NEVER change subtitle numbering Preserve sequence numbers NEVER merge or split subtitle entries One to one correspondence Error Categories 1. Phonetic Errors (同音字/谐音错误) Common in Chinese speech recognition: 会话 ↔ 绘画 (huìhuà) 元数据 ↔ 源数据 (yuán shùjù) 本课 ↔ 本科 (běnkè) 示例 ↔ 事例 (shìlì) 实践 ↔ 时间 (shíjiàn) 2. Technical Term Errors Speech recognition often fails on: Framework names: LangChain, LangGraph, OpenAI, PyTorch, TensorFlow Programming terms: API, SDK, runtime, checkpointer, middleware Code identifiers: snake case names, function names, class names 3. English Chinese Mixed Content Luncheon/lunch → langchain open EI/open Email → OpenAI land GRAPH → langgraph a memory Server → MemorySaver 4. Code Related Terms Convert spoken descriptions to proper format: "underscore" → " " in variable names "dot" → "." in method calls Recognize camelCase, snake case, PascalCase patterns User Provided Terminology When users provide a terminology list, use it as the primary reference for corrections: These terms indicate: Expected proper spellings of technical terms Context about the content domain Hints for identifying speech recognition errors Processing Strategy For Long Files ( 200 lines) 1. Process in chunks using view range parameter 2. Maintain context across chunks 3. Build complete corrected file incrementally For Technical Content 1. Identify the domain (AI/ML, web dev, etc.) 2. Build mental model of expected terminology 3. Apply domain specific corrections consistently Quality Checks Before outputting: Verify all timestamps unchanged Verify subtitle count unchanged Check terminology consistency throughout Ensure no orphaned corrections (partial fixes) Common Correction Patterns Chinese AI/ML Course Content Error Correction Context 蓝犬/蓝卷/Lantern LangChain Framework name 绘画 会话 Session/conversation 拖/tour tool Tool concept checkpoint组件 checkpointer组件 Memory component 源数据 元数据 Metadata 大约模型 大模型 Large model 中间键 中间件 Middleware Code Identifiers Spoken Written user underscore 001 user 001 thread underscore id thread id create underscore agent create agent runtime dot state runtime.state Output Format When saving, use corrected suffix: Input: filename.srt Output: filename corrected.srt Validation Script Use scripts/subtitle tool.py to validate and analyze subtitle files: Diff Output Formats Terminal Output (Default) Shows word level changes with colors: [ deleted ] Text removed (shown in red in terminal) {+added+} Text added (shown in green in terminal) Use all to show unchanged entries too HTML Report (Recommended for Review) Generates a full comparison report with: All entries displayed (changed and unchanged) Side by side columns : Original Corrected Diff View Visual highlighting : Red strikethrough for deletions, green for additions Summary statistics : Total entries, changed count, unchanged count Jump links : Quick navigation to changed entries Change indicators : Yellow dot marks changed rows Then open diff report.html in a browser. Validation Workflow 1. Before correction : Run analyze to identify potential errors 2. After correction : Run validate to ensure structural integrity 3. Review changes : Run diff html report.html to generate a visual comparison report Validation Checks Entry count matches original All timestamps unchanged All sequence numbers preserved No formatting corruption Example Interaction Interaction 1: User uploads file without terms User : 帮我修正这个字幕文件 Claude : User : LangChain, Agent, OpenAI, LangGraph, checkpointer Claude : User : 没有了,开始吧 Claude : [Proceeds with correction workflow] Interaction 2: User provides terms upfront User : 帮我修正字幕,术语:LangChain, OpenAI, Agent Claude : [Confirms terms, then proceeds directly] Correction Process 1. Read uploaded .srt file 2. Run analyze to identify potential errors 3. Apply corrections using provided terms as primary reference 4. Run validate to confirm structural integrity 5. Save corrected file with corrected suffix 6. Generate diff report and present summary of changes 7. Offer HTML report : Ask user if they want an HTML diff report for easier review Output : Provide categorized summary of corrections made. After completion, prompt user :