Skip to content
Skills Library
Marketing & content · Conversion & formats

captions-from-transcript

/captions-from-transcript

Produce an accurate, properly timed caption track (SRT or WebVTT) from a video's audio - transcribing or aligning to the voiceover script, timing cues to speech, and enforcing line-length and reading-speed rules so captions are readable and in sync. Use when someone says "generate captions", "make subtitles from the audio", "transcribe and caption this", "export an SRT or VTT", "the captions are out of sync", or "the subtitles flash by too fast to read". Do NOT use to burn-in, style, reframe, or position an existing caption track for a platform (9:16, brand styling, safe areas) - that is socia

Repository
skills ↗
Licence
MIT
Last repository change
13.10.2026

Assessment and security

90/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content25 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 13.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Produce an accurate, properly timed caption track (SRT or WebVTT) from a video's audio - transcribing or aligning to the voiceover script, timing cues to speech, and enforcing line-length and reading-speed rules so captions are readable and in sync. Use when someone says "generate captions", "make subtitles from the audio", "transcribe and caption this", "export an SRT or VTT", "the captions are out of sync", or "the subtitles flash by too fast to read". Do NOT use to burn-in, style, reframe, or position an existing caption track for a platform (9:16, brand styling, safe areas) - that is socia

Triggers from the description

generate captionsmake subtitles from the audiotranscribe and caption thisexport an SRT or VTTthe captions are out of syncthe subtitles flash by too fast to read
Original author description

Produce an accurate, properly timed caption track (SRT or WebVTT) from a video's audio - transcribing or aligning to the voiceover script, timing cues to speech, and enforcing line-length and reading-speed rules so captions are readable and in sync. Use when someone says "generate captions", "make subtitles from the audio", "transcribe and caption this", "export an SRT or VTT", "the captions are out of sync", or "the subtitles flash by too fast to read". Do NOT use to burn-in, style, reframe, or position an existing caption track for a platform (9:16, brand styling, safe areas) - that is socia

How it works

  1. Source the most accurate text first
  2. Time the cues to speech
  3. Line and reading rules
  4. Choose the format
  5. Clean vs verbatim
  6. QA the sync
  7. Hand off
  8. Don't
Original SKILL.md headings · 53 lines, 510 words
SKILL.md preview
---
name: captions-from-transcript
description: Produce an accurate, properly timed caption track (SRT or WebVTT) from a video's audio - transcribing or aligning to the voiceover script, timing cues to speech, and enforcing line-length and reading-speed rules so captions are readable and in sync. Use when someone says "generate captions", "make subtitles from the audio", "transcribe and caption this", "export an SRT or VTT", "the captions are out of sync", or "the subtitles flash by too fast to read". Do NOT use to burn-in, style, reframe, or position an existing caption track for a platform (9:16, brand styling, safe areas) - that is social-video-formatter; do NOT use to animate text word-by-word as a motion graphic - that is kinetic-typography; do NOT use to write the spoken script in the first place - that is narration-script.

metadata:
  title: "Captions From Transcript"
---

# Captions From Transcript

Captions are not optional polish - they are accessibility, they hold viewers watching muted, and for tutorials they reinforce exact UI terms. This skill produces a **clean, accurately timed caption file**. Styling and burn-in happen downstream.

## Source the most accurate text first

Accuracy comes from where you start:

- **If a narration script exists, use it as ground truth.** It is already correct on technical terms and UI labels. Align it to the audio rather than re-transcribing from scratch.
- **Otherwise transcribe the audio** (Whisper, a platform's auto-caption, or any ASR), then **correct it against the video**. ASR reliably mangles product names, code, and acronyms - fix every one to match what is on screen exactly.

Never ship raw ASR output. The errors are always in the highest-value words.

## Time the cues to speech

- Each cue appears as its line is spoken and clears when it ends - align to speech, not to arbitrary intervals.
- Minimum ~1 second on screen (even for a short cue), maximum ~7 seconds. Split anything longer.
- No gaps mid-sentence; small gaps between sentences are fine and aid readability.

## Line and reading rules

- 1-2 lines per cue, never 3.
- ~32-42 characters per line. Past that it crowds the frame and overruns safe areas.
- Reading speed ≤ ~17 characters/second (≈160-180 wpm). If a cue exceeds it, the words flash by - split the cue or extend its duration.
- Break lines at clause boundaries, never mid-phrase. Keep "to the **Settings** page" together; don't strand "the" alone on a line.

## Choose the format

- **SRT** - universal, index + `HH:MM:SS,mmm --> HH:MM:SS,mmm` + text. Use for upload to most platforms and editors.
- **WebVTT (.vtt)** - `WEBVTT` header, `HH:MM:SS.mmm` timestamps, supports positioning/styling cues. Use for HTML5 `<track>` and the web player.

Produce valid, parseable output - correct timestamp punctuation (SRT uses a comma before milliseconds, VTT a period), blank line between cues, no trailing whitespace.

## Clean vs verbatim

For tutorials, caption **clean**: drop filler ("um", "uh", false starts), keep meaning verbatim. Preserve technical terms, code, and UI labels exactly. Only go strict-verbatim if the user explicitly needs it (legal, research, exact-quote contexts).

## QA the sync

Spot-check against the actual video at the start, a middle point, and the end - drift accumulates. Confirm cues land on their lines and clear before the next begins. Fix any caption that lingers over the wrong shot.

## Hand off

The finished `.srt` / `.vtt` feeds **social-video-formatter** for burn-in and platform styling, or the web player's `<track>` element directly. Leave color, font, position, and animation to those steps - this skill outputs accurate, well-timed text and nothing more.

## Don't

- Don't style, color, position, or burn captions into the frame - that is social-video-formatter.
- Don't animate words word-by-word - that is kinetic-typography.
- Don't ship uncorrected ASR; the mistakes cluster exactly on the terms that matter.
- Don't pack 3 lines or overrun the reading-speed budget to avoid splitting a cue - split it.

Versions

The database has no other skills named captions-from-transcript.

Database snapshot: 13.11.2026 · package version 5701722d6dc9 (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100video-captions
    Caption any video or audio file in one command. Produces clean, readable SRT and WebVTT subtitles (whole words, 42-char lines, proper timing) and can burn them into an MP4, including big centred 1-3 word "pop" captions for TikTok, Reels and YouTube Shorts. Use when the user asks…
  • 100captions-and-transcription
    Generate, correct, time, style, and deliver captions for video: local Whisper-family transcription (openai-whisper, whisper.cpp, faster-whisper, WhisperX), SRT/WebVTT/ASS formats, line length and reading-speed limits, styling burned-in captions, and WCAG caption requirements.…
  • 100overtone
    Make captions, subtitles or a transcript from an audio or video file with the Overtone CLI (`overtone`), as WebVTT, SRT, plain text and `.overtone.json`, cut for 16:9 and 9:16 screens, or an MP4 with the captions burned in. Use when the user asks to caption, subtitle or…
  • 100capcut-captions
    Transcribe speech in a video or audio file and produce captions or subtitles with CapCut, including SRT or VTT files. Use for "add captions", "generate subtitles", "transcribe this video" and similar requests. Do not use an AI rough cut for caption-only requests.
  • 100captions
    Make, check and ship captions and subtitles that meet a published standard: transcribe, chunk, time, break lines, style, QA and export. Use for captions, subtitles, SDH, closed captions, open captions, burn-in, SRT, VTT, WebVTT, TTML, IMSC, SCC, karaoke captions, word highlight,…
  • 100caption-qa
    Check SRT or WebVTT captions and subtitles against published standards (Netflix English, BBC subtitle guidelines, DCMP Captioning Key) for reading speed, line length, line count, time on screen, gaps and overlaps, then fix failures by retiming before rewording. Use when asked to…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.