CtrlK
BlogDocsLog inGet started
Tessl Logo

video-transcript-downloader

yt-dlp downloads: video, audio, subtitles, transcripts, clips, playlists.

68

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

100%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.

An exemplary SKILL.md body: fully executable, verified-against-the-bundle commands with no padding, a documented fallback strategy, gated troubleshooting, and detail correctly delegated to the script's own help. Nothing material is missing for a single-script media-download skill.

DimensionReasoningScore

Conciseness

The body contains zero concept explanations and no padding — every line is an executable command or a terse behavioral note ("Bracketed cues like `[Music]` are stripped by default; keep them via `--keep-brackets`"). Even troubleshooting is explicitly gated "only when needed", matching the anchor-5 lean example.

5 / 5

Actionability

Every section gives complete, copy-paste-ready commands covering the common cases (transcript with optional --lang/--timestamps/--keep-brackets, download/audio/subs with --output-dir, formats listing, passthrough recipes like `-- --format 137+140` and `-- --remux-video mp4`), and the commands were verified to match the actual script's CLI. The only placeholder is the URL, which is inherently user-supplied.

5 / 5

Workflow Clarity

This is a simple single-script skill where each task maps to one unambiguous command, so the simple-skill exception applies. Setup is sequenced first (`npm ci`), the transcript fallback path (youtube-transcriptPlus, else yt-dlp subtitles) is explicitly documented, and dependency verification (`yt-dlp --version`, `ffmpeg -version`) is included. Downloads are non-destructive, so the destructive/batch validation cap does not apply.

5 / 5

Progressive Disclosure

The skill is compact with well-organized sections and nothing that belongs in a separate file; the one bundle reference (`./scripts/vtd.js`) is a real file and matches the documented subcommands. Deeper option detail is appropriately lazy-loaded via `transcript --help` / `--help` instead of being inlined.

5 / 5

Total

20

/

20

Passed

Description

66%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 terse, tool-anchored description with good capability coverage and natural keywords, but it omits any "Use when..." trigger guidance, which caps completeness and makes it reliant on the user already naming yt-dlp or an exact media type. Adding an explicit use-when clause and a few synonyms (captions, YouTube, .mp3) would lift it to the strong tier.

Suggestions

Add an explicit trigger clause, e.g.: "Use when the user wants to download a video or audio, fetch subtitles or a transcript, or mentions yt-dlp, YouTube, or saving a clip/playlist."

Include common synonyms and extensions users actually say: "captions" (for subtitles), "YouTube", ".mp3"/".mp4" — anchor 5 for trigger terms requires synonyms and file extensions.

Use action verbs per capability instead of a single verb plus nouns, e.g. "Downloads video/audio via yt-dlp, fetches transcripts as clean text, saves subtitles, and extracts clips" — this also surfaces the transcript-formatting behavior the body documents.

DimensionReasoningScore

Specificity

"yt-dlp downloads: video, audio, subtitles, transcripts, clips, playlists" names the tool and lists several specific capabilities (video, audio, subtitles, transcripts, clips, playlists). It falls short of anchor 5 because capabilities are bare nouns under a single verb — actions like "fetch transcripts as clean text" are never stated — and above anchor 3 because coverage goes well beyond 1-2 actions.

4 / 5

Completeness

The "what" is clear (yt-dlp downloads of video/audio/subtitles/transcripts/clips/playlists) but there is no "when" — no "Use when..." clause or equivalent trigger guidance, which the guidelines explicitly cap at anchor 3. Not 4 because the "when" is absent entirely rather than merely imprecise.

3 / 5

Trigger Term Quality

Natural terms users would say are present ("video", "audio", "subtitles", "transcripts", "clips", "playlists", "yt-dlp"), matching anchor 4's "good keyword coverage; a few natural terms missing". Not anchor 5, which requires synonyms and file extensions (e.g., "captions", "YouTube", ".mp3", ".mp4").

4 / 5

Distinctiveness Conflict Risk

Naming "yt-dlp downloads" carves a fairly distinct media-download niche with minimal conflict risk against unrelated skills, matching anchor 4. Not 5 because it lacks explicit trigger phrasing and terms like "clips"/"playlists" could mildly overlap with other media skills; not 3 because the tool name keeps it well above generic.

4 / 5

Total

15

/

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
steipete/agent-scripts
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.