From youtube-ingest
Ingest YouTube video transcripts, metadata, and search results for research and analysis. Use when (1) user shares a YouTube URL and wants to discuss, analyze, or reference the content, (2) user says "watch this", "what does this video say", "summarize this video", "ingest this", (3) researching a topic and YouTube videos are relevant, (4) preparing for podcast interviews by reviewing a guest's videos, (5) searching YouTube for videos on a topic, (6) getting video metadata (title, channel, views, description, tags). Works on any public YouTube video with auto-generated captions. No API key needed.
How this skill is triggered — by the user, by Claude, or both
Slash command
/youtube-ingest:youtube-ingestThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Ingest transcripts, metadata, and search results from YouTube via yt-dlp. No API key needed.
Ingest transcripts, metadata, and search results from YouTube via yt-dlp. No API key needed.
brew install yt-dlp (macOS) or see yt-dlp installationLocate ingest.py in the youtube-ingest plugin's scripts/ directory.
python3 path/to/ingest.py "YOUTUBE_URL"
Plain text transcript to stdout. ~2,500 words for a 15-minute video.
python3 path/to/ingest.py "YOUTUBE_URL" --json
Returns: title, channel, upload_date, duration_string, view_count, word_count, transcript, url.
Find videos on a topic (returns flat metadata, no transcripts):
yt-dlp --dump-json --flat-playlist --skip-download "ytsearchN:QUERY"
Replace N with result count (e.g., ytsearch10:parental controls 2026). Each line is a JSON object with id, title, channel, view_count, duration, url.
To ingest a search result's transcript, pipe the ID to the ingest script.
All available fields (description, tags, chapters, comment count, channel info, thumbnails):
yt-dlp --dump-json --skip-download "YOUTUBE_URL"
Key fields: title, channel, channel_follower_count, description, tags, categories, chapters, duration_string, view_count, like_count, comment_count, upload_date, language, automatic_captions (157 languages available).
yt-dlp --print description --skip-download "YOUTUBE_URL"
yt-dlp --write-comments --dump-json --skip-download "YOUTUBE_URL"
Comments in .comments array of the JSON output. Can be slow for videos with many comments.
yt-dlp -x --audio-format mp3 -o "/tmp/%(id)s.%(ext)s" "YOUTUBE_URL"
yt-dlp --download-sections "*START-END" -o "/tmp/%(id)s.%(ext)s" "YOUTUBE_URL"
Example: --download-sections "*2:30-5:45"
Default is English. To check available languages:
yt-dlp --list-subs --skip-download "YOUTUBE_URL"
Auto-generated captions are available in 157 languages for most videos.
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDVIDEO_IDSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub family-it-guy/youtube-ingest --plugin youtube-ingest