From dedene-skills
Research topics inside a known YouTube channel without a YouTube Data API key. Use when the user provides a YouTube channel URL/handle and wants to find, rank, shortlist, or investigate videos relevant to a topic using channel metadata and optional transcript text.
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 ultracodeGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.