CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

subtitles

Burn timed subtitles onto a finished video or configure Whisper-timed caption burning during faceless-video assembly. Takes video/audio generation jobs or a local finished video, optionally with authored narration text, and returns a captioned video or the exact backend subtitle configuration. Timings always come from Whisper on the video's own audio — never estimated. THREE looks: `paper` (torn cream paper label, handwritten ink), `bold` (UGC ALL-CAPS, white with black stroke, platform safe zones), `clean` (slim white CAPS, no plate, tiny at the bottom — no Pillow needed). Use when: adding/burning subtitles or captions to an existing video, restyling captions, or when a production workflow needs its finished cut subtitled. NOT for: generating the video, translating speech, or live/soft subtitle tracks (this burns them into the picture).

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

76%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

Highly actionable and information-dense, with a well-signaled three-command pipeline, hard rules, and failure fallbacks. The main defect is the missing validation checkpoint before the destructive deliverable-replace step, which caps workflow clarity; progressive structure is otherwise good with real bundled scripts behind every referenced path.

Suggestions

Add an explicit validation step between the burn and the replace: e.g. probe final_subbed.mp4 (ffprobe duration/streams, or spot-check one frame with burned captions) before running `mv final_subbed.mp4 <original name>` overwrites the deliverable.

Sanity-check the generated .srt before burning (non-empty, timestamps within the video duration, no overlapping captions) so a bad transcription never silently produces an empty or misaligned caption track.

Verify the referenced ${HF_WORKFLOWS}/faceless-channel-video/scripts/subtitles/fonts/ directory actually exists in the deployed bundle (it is absent from this skill's scripts/), or note that fonts are resolved from system fallbacks when the directory is missing.

DimensionReasoningScore

Conciseness

The body is dense with skill-specific operational knowledge Claude does not have (exact flags, safe-zone percentages, font-coverage table, backend selection rules) and explains no general concepts. Minor trims are possible — the look descriptions partially repeat the frontmatter, and the time-sensitive "verified by rendering, 2026-07-27" date sits outside any old-patterns section — which keeps it at efficient-with-minor-trims rather than anchor 5.

4 / 5

Actionability

Every step is a copy-paste-ready command with full paths, exact flags (--max-words, --bridge, --tail, --font-key, --maxw-frac), fallback rules (OpenAI STT vs faster-whisper by env key), and an explicit decision tree for routing. This matches the anchor of fully executable commands covering the common cases, with the worked example for each of the three looks.

5 / 5

Workflow Clarity

The sequence is clearly ordered (route selection → Whisper timings → authored-wording swap → burn → replace deliverable) with a preflight import check and an explicit failure fallback (deliver unsubbed, say so). However, step 4 destructively overwrites the original video file (`mv final_subbed.mp4 <original name>`) with no verification of the burned output beforehand, so per the rubric's destructive-operation cap this cannot score above 3 despite the otherwise strong sequence.

3 / 5

Progressive Disclosure

Structure is good: the body is a lean overview of routes, pipeline, hard rules and defaults, while the three referenced scripts (audio_to_captions.py, subtitle_paper_burn.py, burn_caps_clean.sh) exist in the bundle and carry the implementation detail. Minor gaps: the body also references a fonts/ subdirectory that is not present in the bundle's scripts/, and some content (the font-coverage table, safety notes) could live in a reference file.

4 / 5

Total

16

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, explicit what/when with concrete trigger phrases, an explicit NOT-for boundary, and specific styling parameters for each look. The only gaps are a slightly narrow action list and a few missing natural synonyms (closed captions, CC, .srt) in the triggers.

DimensionReasoningScore

Specificity

Concrete actions are named — "Burn timed subtitles onto a finished video or configure Whisper-timed caption burning during faceless-video assembly" and "returns a captioned video or the exact backend subtitle configuration" — plus the three parameterized looks (paper/bold/clean) with visual specifics. It stops short of the anchor-5 example's breadth of distinct actions (essentially two verbs here, burn and configure), so anchor 4 with minor coverage gaps fits best.

4 / 5

Completeness

Both halves are explicit: the what is "Burn timed subtitles onto a finished video... returns a captioned video or the exact backend subtitle configuration", and the when is a dedicated "Use when: adding/burning subtitles or captions to an existing video, restyling captions, or when a production workflow needs its finished cut subtitled" with concrete trigger phrases — matching the anchor-5 example's structure exactly. It even adds an explicit NOT-for clause, which exceeds the anchor.

5 / 5

Trigger Term Quality

Natural phrases users would say are present: "adding/burning subtitles or captions to an existing video", "restyling captions", "needs its finished cut subtitled". Common synonyms like "closed captions", "CC", "hardcode", or the .srt extension are absent, which keeps it at good-but-not-comprehensive coverage rather than anchor 5.

4 / 5

Distinctiveness Conflict Risk

A clear niche (burning Whisper-timed captions in three named looks) with distinct triggers and an explicit "NOT for: generating the video, translating speech, or live/soft subtitle tracks" boundary. This is far more fenced-off than the anchor-4 "minor overlap risk" case and cleanly establishes a minimal-conflict trigger set.

5 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

openai/plugins

Path

plugins/higgsfield/skills/subtitles/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.