Help us improve
Share bugs, ideas, or general feedback.
From yt-is
YouTube channel management — check for new videos, manage tracked channels, and add new channels with validation
npx claudepluginhub enduser123/yt-isHow this skill is triggered — by the user, by Claude, or both
Slash command
/yt-is:yt-isThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Check all tracked YouTube channels for new videos and manage your channel list.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Check all tracked YouTube channels for new videos and manage your channel list.
sync — Check all tracked channels for new videossync --verbose — Show detailed output during checklist — List all tracked channels with metadataadd <url> — Add a new channel with full validation (YouTube Data API resolves @handle, rejects fake/empty/single-video channels, captures title/thumbnail/subscriber/view counts)history — Extract channels from YouTube watch history and add any new ones not already tracked. Filters: subscriber_count>100, video_count>2, most recent video within 3 months. Uses yt-dlp Python API + YouTube Data API + RSS feeds (no API quota for video IDs; RSS for recency).
history uses YouTube Data API for channel metadata resolution. Each channel lookup consumes API quota. If quota is exhausted, use history --dry-run to preview without adding.history --dry-run — Preview channels without adding themhistory --min-history-videos <n> — Minimum videos watched from a channel to qualify (default: 2)fetch — ESCALATION BATCH PROCESS: Download transcripts for all pending videos using the full fallback chain (RECOMMENDED)
fetch --dry-run — Preview what would be fetchedfetch --source <url> — Process only one channelfetch --workers <n> — Use N parallel workers (default: 1)When adding a channel, the system:
channels.list with contentDetails,statistics,snippet)channel_metadataThe validation is strict — only channels with 2+ videos are accepted. This keeps the transcript corpus free of noise from abandoned or test channels.
csf-source backend commandPaste the raw output from each command — the format is determined by the backend, not this skill. The backend output will include its own legend where applicable.
IMPORTANT: Bash output gets compressed in the UI. Always paste the raw output explicitly so the user can see it.
Run csf-source list to see current channel data. The backend output will include a legend explaining the column format.
yt-is sync runs the daily check workflow on ALL tracked channels:
publishedAfter cursor to fill gapsChannels are checked in order of last_checked (oldest first) to ensure fair coverage.
csf-source fetch)The fetch command implements automatic escalation for transcript downloading:
Escalation Chain (per video):
Features:
--workers N for concurrent downloadsRecommended Workflow:
# 1. Discover new videos
python bin/csf-source check-all
# 2. Download transcripts (all channels, automatic escalation)
python bin/csf-source fetch
# 3. Or dry-run first to see what will be fetched
python bin/csf-source fetch --dry-run
# 4. Or process only one channel
python bin/csf-source fetch --source "https://youtube.com/@channel"
# 5. Or use parallel workers for faster processing
python bin/csf-source fetch --workers 2
channel_metadata table (SQLite)
│
├─► yt-is sync ──► RSS check ──► Gap detection ──► API resolution
│ │
│ ▼
│ batch_status table (pending)
│
└─► python bin/csf-source fetch ──► FULL FALLBACK CHAIN ──► transcripts.sqlite
All data is stored in batch_status.sqlite:
channel_metadata — tracked channels with playlist IDs and metadataanalysis_status — video tracking (pending/complete/failed)P://packages/yt-is/bin/yt-is — CLI entry point (wrapper)P://packages/yt-is/bin/csf-source — Backend implementation (YouTube source management CLI)
python bin/csf-source ... when launching from a shell inside the repo so you do not depend on PATH.csf-source is renamed, update required_first_command_patterns (line 19) and all csf-source command references in this SKILL.md. Search for csf-source to find all occurrences.P://packages/yt-is/csf/source_enumerator.py — RSS + API enumerationP://packages/yt-is/csf/batch_status.py — SQLite storageYOUTUBE_API_KEY — For gap resolution (API calls)