/rss-check
Check subscribed YouTube channels for new videos and add them to today's daily note.
Usage
/rss-check # Check all subscribed channels /rss-check <channel-name> # Check specific channel only /rss-check --list # List all subscriptions /rss-check --add <url> # Add new channel subscription /rss-check --remove <name> # Remove channel subscription
Examples
/rss-check /rss-check "Nate B Jones" /rss-check --add https://www.youtube.com/@NateBJones /rss-check --list
Subscription Config
Subscriptions are stored in .claude/subscriptions.yaml:
youtube_channels:
- name: "Nate B Jones"
channel_id: "UCxxxxxxxxxx"
channel_url: "https://www.youtube.com/@NateBJones"
last_checked: "2026-01-12T00:00:00Z"
last_video_id: "0TpON5T-Sw4"
create_page: true # Create full Page analysis
tags: [ai, productivity] # Default tags for this channel
settings:
auto_create_page: true # Default: create Page for all new videos
auto_create_weblink: true # Default: create Weblink for all new videos
add_to_daily: true # Add entries to daily note
extract_links: true # Extract links from video descriptions
Instructions
List Subscriptions (--list)
- •Read
.claude/subscriptions.yaml - •Display formatted table of subscriptions:
code
| Channel | Last Checked | Last Video | |---------|--------------|------------| | Nate B Jones | 2026-01-12 | Why 2026 Is... |
Add Subscription (--add <url>)
- •Parse YouTube channel URL (supports
@handle,/channel/ID,/c/nameformats) - •Use
mcp__MCP_DOCKER__get_video_infoon a recent video to get channel info - •Extract channel ID from video info or page
- •Add entry to
.claude/subscriptions.yaml:yaml- name: "Channel Name" channel_id: "UCxxxxxxxxxx" channel_url: "https://www.youtube.com/@handle" last_checked: null last_video_id: null create_page: true tags: []
- •Confirm addition
Remove Subscription (--remove <name>)
- •Find channel by name (case-insensitive partial match)
- •Remove from
.claude/subscriptions.yaml - •Confirm removal
Check for New Videos (default)
- •
Read subscriptions from
.claude/subscriptions.yaml - •
For each channel, fetch RSS feed:
codehttps://www.youtube.com/feeds/videos.xml?channel_id={{channel_id}}Use
WebFetchwith prompt: "Extract video entries: title, video_id, published date, description" - •
Identify new videos:
- •Compare video IDs against
last_video_id - •Select videos published after last check
- •If first check, take only the most recent video
- •Compare video IDs against
- •
For each new video:
a. Fetch full details:
codemcp__MCP_DOCKER__get_video_info(url) mcp__MCP_DOCKER__get_transcript(url)
b. Extract links from description:
- •Parse URLs from video description
- •Categorise: website, substack, github, twitter, etc.
- •Store for inclusion in notes
c. Create Weblink note (if
auto_create_weblink: true):- •Follow
/youtubeskill Weblink template - •Include extracted links in Resources section
d. Create Page note (if channel
create_page: true):- •Follow
/youtubeskill Page template - •Full transcript analysis
- •Include all extracted links
e. Add to Daily Note:
- •Open/create today's daily note (
+Daily/{{year}}/{{date}}.md) - •Add entry under
## New Videossection:markdown## New Videos ### [[Weblink - {{video title}}]] **Channel:** [[Nate B Jones]] **Duration:** {{duration}} {{2-3 sentence summary}} **Links mentioned:** - [Resource 1](url) - [Resource 2](url)
- •
Update subscription config:
- •Set
last_checkedto current timestamp - •Set
last_video_idto most recent video ID
- •Set
- •
Report results:
codeChecked 3 channels: - Nate B Jones: 1 new video - "Why 2026 Is the Year to Build a Second Brain" - Created: Weblink + Page - Channel 2: No new videos - Channel 3: 2 new videos - "Video Title 1" (Weblink + Page) - "Video Title 2" (Weblink + Page) Added 3 entries to today's daily note.
Daily Note Integration
The skill adds a ## New Videos section to the daily note. If the section doesn't exist, create it. If it exists, append new entries.
Daily note location: +Daily/{{year}}/{{YYYY-MM-DD}}.md
Entry format:
### [[Weblink - {{title}}]]
**Channel:** [[{{channel name}}]]
**Duration:** {{duration}}
{{brief summary from video analysis}}
**Links mentioned:**
- [{{link title}}]({{url}})
Link Extraction
From video descriptions, extract and categorise:
| Type | Pattern | Example |
|---|---|---|
| Website | Personal domains | natebjones.com |
| Newsletter | Substack, Beehiiv | natesnewsletter.substack.com |
| GitHub | github.com/* | github.com/user/repo |
| Twitter/X | twitter.com, x.com | x.com/handle |
| linkedin.com | linkedin.com/in/name | |
| Product | Product URLs | notion.so, zapier.com |
Include these in:
- •Weblink note
## Resourcessection - •Page note
## Resourcessection - •Daily note entry
**Links mentioned:**
Error Handling
- •RSS fetch fails: Log error, continue to next channel
- •Transcript unavailable: Create notes without transcript, note in output
- •Daily note doesn't exist: Create it using
/dailyskill template - •Config file missing: Create default config with instructions
Channel ID Discovery
YouTube channel IDs can be found:
- •From any video by that channel (in video info)
- •From channel page source (search for
channelId) - •From RSS feed URL if already subscribed
When adding via --add, attempt to:
- •Fetch the channel page
- •Extract channel ID from page content
- •Get latest video to verify
Quality Standards
- •Always update config after checking
- •Always link Person note if exists for channel creator
- •Always extract and include description links
- •Never duplicate videos already captured
- •Use UK English throughout
- •Create daily note if it doesn't exist