CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

youtube-downloader

Fetch existing YouTube transcripts/subtitles or archive spoken video content as text, and download YouTube videos/audio or HLS streams (m3u8) with yt-dlp and ffmpeg. Use for transcript/subtitle retrieval, text-first video archiving, video/audio downloads, protected streams with authentication headers, and download failures including nsig, 403 or browser-cookie issues.

65

Quality

82%

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

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

The body is highly actionable with well-sequenced workflows, explicit validation steps, and strong error-recovery loops, and its references are real and clearly signaled. However, it is noticeably bloated: the internal SOP is stated twice in the body and duplicated again in references/internal-sop.md, ffmpeg parameter explanations re-teach known concepts, and extensive troubleshooting/HLS detail belongs in reference files. A pinned yt-dlp version (2025.10.22) is also time-sensitive without a deprecation framing.

Suggestions

Remove the duplicate "Reliable Download SOP (Internal)" and "Agent Execution Checklist (Internal)" sections from SKILL.md and keep a single pointer to references/internal-sop.md, retaining only the checklist items that add new information.

Move the detailed Troubleshooting Quick Reference and HLS Stream Downloads sections into reference files (e.g., references/troubleshooting.md, references/hls.md), keeping only the top-level decision guidance and one example command in SKILL.md.

Drop the ffmpeg "Parameters explained" list (Claude knows libx264/crf/preset semantics) and reframe the pinned yt-dlp version (2025.10.22) as a minimum-version note or move it to the PO token setup reference to avoid time-sensitivity penalties.

DimensionReasoningScore

Conciseness

The internal SOP appears twice in the body ("Reliable Download SOP (Internal)" and "Agent Execution Checklist (Internal)" repeat the 403/PO-token/WPC/proxy guidance) and a third time nearly verbatim in references/internal-sop.md; ffmpeg flag explanations ("-crf 23: Constant Rate Factor for quality (18-28 range, lower = better quality)") teach concepts Claude already knows. Not 3: this is substantial triple redundancy plus padded explanation sections, not just occasional slack — several sections could be deleted outright with no information loss.

2 / 5

Actionability

Copy-paste-ready yt-dlp, ffmpeg, and ffprobe commands throughout (e.g., "yt-dlp -f \"bestvideo[height<=1080]+bestaudio/best\" \"VIDEO_URL\"\"", the ffmpeg -headers HLS invocation with protocol_whitelist) plus a complete argument reference for scripts/download_video.py covering the common cases. Not 4: even edge cases like separate audio/video stream merging and exact error-string matching ("Extracting cookies from chrome" hangs) are fully specified.

5 / 5

Workflow Clarity

Default flow (steps 1–5), PO token setup with a verification step ("Run yt-dlp -F again. Look for formats 137 (1080p), 271 (1440p), or 313 (4K)"), and quality verification via ffprobe give explicit validation; troubleshooting sections provide feedback loops (403 → fix headers → retry, PO token timeout → restart once → retry) and a checklist for complex provider fallback. Not 4: validation checkpoints and error-recovery loops are explicit at every stage, including confirmation before batch playlist downloads.

5 / 5

Progressive Disclosure

References (references/text-first.md, references/po-token-setup.md, references/internal-sop.md) are real, one level deep, and clearly signaled ("Further Reading", "follow references/text-first.md FIRST"), but ~400 lines of troubleshooting, HLS workflow, and WebM-conversion detail are inlined in SKILL.md, and the SOP content is duplicated into the body instead of being split out. Not 4: content that clearly belongs in separate files sits inline and is duplicated, which is more than a minor organization gap; not 2 because navigation and signaling are genuinely good.

3 / 5

Total

15

/

20

Passed

Description

88%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 in third-person voice that covers both the text-first and file-download routes, names its tools, and provides an explicit 'Use for' clause with concrete failure-mode triggers. Keyword coverage is good but misses a few natural phrasings (offline saving, MP3 conversion), and the transcript-retrieval scope slightly overlaps with transcription skills.

DimensionReasoningScore

Specificity

"Fetch existing YouTube transcripts/subtitles", "archive spoken video content as text", "download YouTube videos/audio or HLS streams (m3u8) with yt-dlp and ffmpeg" lists multiple specific concrete actions with comprehensive coverage of the skill's text and file routes. Not 4: coverage spans all stated capabilities (transcripts, downloads, HLS, protected streams) with tools named, matching the comprehensive anchor.

5 / 5

Completeness

Explicitly answers both: what ("Fetch existing YouTube transcripts/subtitles… download YouTube videos/audio or HLS streams") and when ("Use for transcript/subtitle retrieval, text-first video archiving, video/audio downloads, protected streams with authentication headers, and download failures including nsig, 403 or browser-cookie issues"). Not 4: the 'when' clause is explicit and enumerates concrete trigger phrases, matching the top anchor.

5 / 5

Trigger Term Quality

Natural terms like "transcripts", "subtitles", "video/audio downloads", "protected streams", "403", and "nsig" give good keyword coverage. Not 5: common user phrasings such as "save/rip a YouTube video offline", "convert to MP3", or "download from Vimeo/Mux" are missing, so synonym coverage is incomplete.

4 / 5

Distinctiveness Conflict Risk

The yt-dlp/ffmpeg/YouTube/HLS niche with distinct triggers (nsig, 403, m3u8, browser-cookie) is mostly distinct with minimal conflict risk. Not 5: the transcript/subtitle retrieval trigger overlaps with dedicated transcription or ASR skills, a minor overlap with a closely related skill category.

4 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (527 lines); consider splitting into references/ and linking

Warning

relative_links

Relative link issues: 2 missing

Warning

Total

14

/

16

Passed

Repository

daymade/claude-code-skills

Path

youtube-downloader/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.