Skip to content
Back to skills

Outputs Subtitles

ASecurity

"Use WhisperX output writers and subtitle post-processing without

  • 247 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 9, 2026
toolspythonbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill outputs-subtitles --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Outputs Subtitles?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Outputs Subtitles
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-outputs-subtitles/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-outputs-subtitles)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: outputs-subtitles
description: "Use WhisperX output writers and subtitle post-processing without
  running ASR models."
disable-model-invocation: true
metadata:
  disco-role: operating
license: BSD 2-Clause
---

# WhisperX output and subtitle files

Use this sub-skill when you already have a WhisperX-style transcript result and need to validate it, write output files, or tune subtitle post-processing. It covers the `txt`, `json`, `tsv`, `srt`, `vtt`, and Audacity label writer surfaces, speaker prefixes, word highlighting, line width/count behavior, complex-script splitting, timestamp formatting, and safe synthetic rendering.

Do **not** use this sub-skill to create transcript results from audio or models. Route ASR/model loading to `asr-python-api`, forced word timestamps to `alignment-timestamps`, speaker assignment to `diarization-speakers`, and CLI command construction to `transcription-cli`.

## What to read

- [`references/output-formats.md`](references/output-formats.md): use for `get_writer`, writer classes, output extensions, writer options, timestamp styles, and speaker prefix behavior.
- [`references/subtitle-processing.md`](references/subtitle-processing.md): use for `SubtitlesWriter.iterate_result`, `SubtitlesProcessor`, word highlighting, line wrapping, language-without-spaces behavior, conjunction/comma splitting, and missing-word-timing fallback.
- [`references/data-formats.md`](references/data-formats.md): use before handing a result dict or JSON file to a writer; includes the minimal WhisperX result schema and writer-read fields.
- [`references/troubleshooting.md`](references/troubleshooting.md): use when output rendering fails, subtitle cues look wrong, word highlighting is absent, speaker labels are unexpected, Audacity labels do not import as expected, or timestamps appear in the wrong style.

## Bundled helpers

- [`scripts/validate_transcript_json.py`](scripts/validate_transcript_json.py): run this on a transcript JSON file before writing outputs; it checks the minimal WhisperX result shape and can require word timestamps for highlighting-ready subtitles.
- [`scripts/render_sample_outputs.py`](scripts/render_sample_outputs.py): render a tiny in-memory transcript or a provided transcript JSON through `whisperx.utils.get_writer`; it never calls ASR, alignment, diarization, model downloads, credentials, or audio decoding.

## Minimal workflow

1. Confirm the result object has top-level `language` and `segments` fields. See [`references/data-formats.md`](references/data-formats.md).
2. If reading JSON from disk, validate it first:
   ```bash
   python scripts/validate_transcript_json.py transcript.json
   ```
3. For subtitle formats, decide whether word-level behavior is required:
   - use aligned results with `words[].start`/`words[].end` for `highlight_words=True`;
   - use segment-only results when plain SRT/VTT cues are sufficient;
   - set `max_line_width` whenever `max_line_count` should matter.
4. Render via the WhisperX writer API or the bundled sample renderer. See [`references/output-formats.md`](references/output-formats.md).

## Safe examples

Render speaker-labeled SRT, VTT, and JSON from an in-memory sample without model execution:

```bash
python scripts/render_sample_outputs.py --formats srt,vtt,json --highlight-words
```

Diagnose missing word timestamps while still producing segment-level subtitle cues:

```bash
python scripts/render_sample_outputs.py --sample missing-word-timings --formats srt,vtt --highlight-words
```

Files in this skill

  • SKILL.md3.4 KB
  • references/data-formats.md4.5 KB
  • references/output-formats.md5.4 KB
  • references/subtitle-processing.md6.3 KB
  • references/troubleshooting.md5.2 KB
  • scripts/render_sample_outputs.py13.1 KB
  • scripts/validate_transcript_json.py8.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…