Skills youtube-tracker
Track YouTube channels for new uploads. Supports both RSS mode (no API key needed, unlimited quota) and API mode. Use when: add/remove/list tracked YouTube channels, check for new videos, or run scheduled YouTube channel monitoring.
install
source · Clone the upstream repo
git clone https://github.com/wlzh/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/wlzh/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/youtube-tracker" ~/.claude/skills/wlzh-skills-youtube-tracker && rm -rf "$T"
manifest:
youtube-tracker/SKILL.mdsource content
youtube-tracker
A script-backed Skill to maintain a list of tracked YouTube channels and periodically check for new uploads.
v2.0.1 - Bugfix (2026-03-17)
Fix: Increased seen video ID limit from 500 to 2000 to prevent duplicate notifications.
- With 54+ channels, 500 IDs was too small (videos got pushed out and re-detected)
- Now keeps up to 2000 video IDs in
state/seen.json
v2.0.0 - RSS Mode (2026-03-17)
Breaking change: Now uses YouTube RSS feeds by default - no API key needed, no quota limits!
Why RSS?
- YouTube API free quota: 10,000 units/day
- API mode with 56 channels × 100 units/check = 5,600 units
- That means only 1-2 checks per day before quota exhausted
- RSS feeds are official, free, unlimited, and only 5-30 min delayed
Changes
- New script:
(RSS mode, no API key required)youtube-tracker-rss.js - Legacy script:
(API mode, requires key)youtube-tracker.js
command now defaults to RSS modecheck- Removed API key requirement for basic operations
What it does
- Add / remove / list tracked channels (input can be URL / @handle / channelId)
- On
, it will baseline (mark the channel's current latest videos as seen)add - On
, prints only new videos since last run with:check- channel name
- title
- video URL
Data files
All state is stored inside this Skill folder:
(tracked channels, no API key needed for RSS mode)state/config.json
(dedupe: already announced video ids)state/seen.json
Commands
Run from this skill directory:
# RSS mode (recommended, no API key needed) node scripts/youtube-tracker-rss.js add "https://www.youtube.com/@veritasium" node scripts/youtube-tracker-rss.js add "@veritasium" node scripts/youtube-tracker-rss.js add "UCddiUEpeqJcYeBxX1IVBKvQ" node scripts/youtube-tracker-rss.js list node scripts/youtube-tracker-rss.js remove "UCddiUEpeqJcYeBxX1IVBKvQ" node scripts/youtube-tracker-rss.js check # API mode (legacy, requires API key) node scripts/youtube-tracker.js set-key "YOUR_YT_API_KEY" node scripts/youtube-tracker.js validate-key node scripts/youtube-tracker.js add "@veritasium" node scripts/youtube-tracker.js check
Cron usage notes
- Use
for scheduled monitoringyoutube-tracker-rss.js check - If
outputs nothing, treat it as no updatescheck - If it outputs lines, send them to the target chat/topic
- No API quota concerns with RSS mode - check as often as needed
Migration from v1.x
If upgrading from v1.x (API mode):
- Your existing
andstate/config.json
are compatiblestate/seen.json - Simply switch to
commandsyoutube-tracker-rss.js - No need to re-add channels