Agent skill · writing content · sickn33

ingest-youtube

Pull a YouTube video transcript into a queryable markdown vault with yt-dlp subtitle discovery, VTT cleanup, metadata frontmatter, and capture-seed stubs.

Why this skill is useful

Adds a script for pulling and cleaning YouTube video transcripts into a markdown vault, which includes specific commands and metadata handling not commonly known.

What it needs

Requires yt-dlp installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 44,571 stars on the source repository.

What this skill does

ingest-youtube — YouTube-to-vault connector Pulls YouTube transcripts into a markdown vault as queryable typed-memory entries that downstream skills (knowledge graph extraction, voice-fingerprint training, content repurposing, action-item extraction) can act on. Same pattern as ingest-slack, ingest-whatsapp, ingest-notion, ingest-linear, ingest-github, ingest-gmail. Adding YouTube means a new normalizer, not a new architecture. When to use User pastes a YouTube URL and asks for a transcript or summary User says /ingest-youtube <url> for a single video User asks to capture, sync, ingest, transcribe, or pull a talk/podcast/keynote into the vault Do NOT use for: Downloading the actual video file (use yt-dlp directly with -f best) Channel-wide ingestion or --days windows; this script ingests one video URL at a time Live streams (transcripts are not stable) Non-YouTube sources (Vimeo, Twitch, Twitter Spaces have their own connectors) One-off transcript reads where the user does not want a vault file (run yt-dlp --write-auto-sub directly and pipe to stdout) How it works 1. Parse the input as one YouTube video URL. 2. Verify yt-dlp is installed. If not, the script exits with install instructions: brew install yt-dlp (macOS) or pip3 install --user yt-dlp. 3. Validate the URL as a single http(s) YouTube video and call yt-dlp --ignore-config --list-subs -- <url> to enumerate available subtitles. 4. Subtitle priority: manual subs > auto-generated captions. Manual subs preserve creator-provided punctuation and speaker labels; auto-gen is uppercase + no punctuation. 5. Download the highest-priority subtitle as VTT via yt-dlp --write-sub --sub-lang <lang> --skip-download. Default language preference: en,es (English first, Spanish second). 6. Strip VTT timing markers and merge into clean prose paragraphs. Deduplicate repeated lines (auto-generated VTTs are line-doubled). Preserve speaker labels if the source had them. 7. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills sickn33/ingest-youtube--4f7cd0

View the source on GitHub

Browse the @skills marketplace