From dedene-skills
Searches inside a known YouTube channel without an API key using a local yt-dlp workflow: build catalog, rank metadata, fetch transcripts, rank by content.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dedene-skills:youtube-channel-searchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Search inside a known YouTube channel with a reproducible local workflow:
Search inside a known YouTube channel with a reproducible local workflow:
yt-dlp.Prefer this over browser automation. Use agent-browser only for manual UI checks or auth/consent fallbacks.
python3 <this-skill-dir>/scripts/youtube-channel-search.py catalog \
'https://www.youtube.com/@CHANNEL/videos' \
--output-dir /tmp/channel-research \
--mode flat \
--limit 300
python3 <this-skill-dir>/scripts/youtube-channel-search.py catalog \
'https://www.youtube.com/@CHANNEL/videos' \
--output-dir /tmp/channel-research \
--mode full \
--limit 140
python3 <this-skill-dir>/scripts/youtube-channel-search.py search \
/tmp/channel-research \
'landing pages storytelling websites' \
--since 2024-06-17 \
--top 20
python3 <this-skill-dir>/scripts/youtube-channel-search.py fetch-transcripts \
/tmp/channel-research \
'landing pages storytelling websites' \
--since 2024-06-17 \
--top 15
python3 <this-skill-dir>/scripts/youtube-channel-search.py rank-transcripts \
/tmp/channel-research \
'landing pages storytelling websites' \
--top 10
catalog --mode flat for a fast title-only index.catalog --mode full --limit N when dates/descriptions matter. Full mode is slower because it visits each video page, but it enables --since and better ranking.search for the metadata shortlist. This prints compact ranked results and stores search-results.json.fetch-transcripts only for likely candidates. It calls the sibling youtube-transcript skill and writes transcript artifacts under transcripts/.rank-transcripts for the final list. It reads transcript.txt, scores local content, and prints snippets.Default output directory:
channel-research/
├── catalog-flat.ndjson
├── catalog-full.ndjson
├── search-results.json
└── transcripts/
└── VIDEO_ID/
├── metadata.compact.json
├── transcript.json
├── transcript.md
└── transcript.txt
yt-dlp is required.YYYY-MM-DD or YYYYMMDD. Records with no date are kept, not discarded, because flat catalogs usually omit upload dates./tmp unless the user asks to persist them in the repo.npx claudepluginhub dedene/skills --plugin ultracodeSearches YouTube/Vimeo videos by query, extracts transcripts/metadata/audio/subtitles, scans channels, supports batch research and summarization workflows.
Fetches YouTube transcripts, searches videos, browses channels, and extracts playlists via TranscriptAPI. Works from any cloud server without yt-dlp or Google API key.
Search YouTube videos, get channel info, fetch video details and transcripts using YouTube Data API v3 via MCP server or yt-dlp fallback.