Help us improve
Share bugs, ideas, or general feedback.
Reformats and rewrites subtitle text for timing, readability, and on-screen clarity, following broadcast subtitle standards. Useful for correcting auto-generated transcripts, adapting subtitles between platforms, and fixing line breaks and reading speed.
npx claudepluginhub ur-grue/autopunk-media-skills --plugin autopunk-media-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/autopunk-media-skills:subtitles-rewriterThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reformats and rewrites subtitle text for timing, readability, and on-screen clarity, following broadcast subtitle standards.
Translates subtitle blocks between languages while enforcing broadcast constraints: 42 chars per line, max two lines, and readable speed for viewers.
Convert between 30+ caption/subtitle formats (SRT, VTT, ASS, JSON, TextGrid, LRC, FCPXML, Premiere, …) and shift timing. Trigger on "convert captions", "SRT to VTT", "转换字幕格式", "shift timing", "ASS styling", "karaoke effect", "导入Premiere", or any caption-format question. Do NOT trigger to fix timing accuracy (`/lai-align`) or translate (`/lai-translate`).
Audits video subtitle tracks for missing fonts, timing issues, overlaps, format compatibility (ASS, SRT, PGS), and embedding using ffprobe, ffmpeg, Aegisub.
Share bugs, ideas, or general feedback.
Reformats and rewrites subtitle text for timing, readability, and on-screen clarity, following broadcast subtitle standards.
Required: The subtitle text to be rewritten; the context (documentary title, type of content — dialogue, narration, foreign language, on-screen text); the target platform (broadcast, streaming, cinema, DVD/home video) Optional: The original timecodes if reformatting is needed; the target maximum characters per line; the target maximum words per second (reading speed); whether this is SDH (subtitles for deaf and hard of hearing) or standard subtitles; the language
Corrected subtitle text in the format provided (SRT, WebVTT, or plain numbered blocks). Each subtitle block: number, timecode (preserved or adjusted if requested), two lines maximum, maximum 42 characters per line (broadcast standard), maximum 17 words per second reading speed. For plain text input without timecodes: numbered blocks only, with notes on any corrections made. Corrections are listed separately in a Changes Log at the end.
Platform standards applied by default unless otherwise specified:
Platform: Broadcast (UK standard) Content: Documentary interview — foreign language dialogue (French), English subtitles Context: Interview with a marine biologist discussing ocean pollution
Auto-generated subtitles (with errors):
1
00:02:14,400 --> 00:02:18,900
the microplastics they are entering the food chain at every level but we don't see them
2
00:02:19,200 --> 00:02:24,800
the fish consume them and then we consume the fish and nobody is talking about the concentration levels that we are now measuring in human blood samples
3
00:02:25,100 --> 00:02:27,300
it's not a projection anymore it's already happening
4
00:02:31,000 --> 00:02:37,200
in 1972 the scientist jock cousteau already described the Mediterranean as a garbage dump nobody listened
5
00:02:37,500 --> 00:02:42,100
and now here we are fifty years later and the situation is categorically worse not better
1
00:02:14,400 --> 00:02:18,900
Microplastics are entering the food chain
at every level. We don't see them.
2
00:02:19,200 --> 00:02:22,600
The fish consume them,
and then we consume the fish.
3
00:02:22,700 --> 00:02:24,800
Nobody is talking about the concentration levels
we're now measuring in human blood samples.
4
00:02:25,100 --> 00:02:27,300
This isn't a projection anymore.
It's already happening.
5
00:02:31,000 --> 00:02:34,800
In 1972, the scientist Jacques Cousteau
described the Mediterranean as a garbage dump.
6
00:02:34,900 --> 00:02:37,200
Nobody listened.
7
00:02:37,500 --> 00:02:42,100
Fifty years later, the situation
is categorically worse. Not better.
Changes Log
| Block | Change | Reason |
|---|---|---|
| 1 | Added capitalisation; restructured from run-on | Broadcast standard; readability |
| 2 | Split from original block 2; shortened each line | Original block 2 was over 180 words per minute at this timecode; split into two subtitles with adjusted timecodes |
| 3 | New block from end of original block 2 | Overflow from split above |
| 4 | "it's not a projection anymore" → "This isn't a projection anymore" | Cleaner register for subtitle reading; subject pronoun added for clarity |
| 5 | "jock cousteau" → "Jacques Cousteau" | Proper noun correction — auto-generation phonetic error |
| 5 | Split into two blocks | Original block 5 was 22+ seconds with ~190 wpm; split required |
| 6 | "Nobody listened" separated as standalone block | Creates emphasis; fits naturally after the Cousteau subtitle |
| 7 | "here we are fifty years later" → "Fifty years later" | Reduced characters; removes register-inappropriate colloquial phrase for subtitle context |