Pull recent Reddit submissions via API and upsert DistributionRecords for any that reference audiocontrol.org blog posts.
Query the Reddit API for the configured user's recent submissions, match each to a blog post by URL, and upsert DistributionRecords in the calendar. Idempotent — re-running produces no duplicate rows.
~/.config/audiocontrol/reddit.json must exist with one field — your Reddit username:
{ "username": "your-reddit-username" }
That's the entire setup. No Reddit app, no password, no OAuth, no 2FA concerns. We use Reddit's public .json endpoints — they're rate-limited but more than sufficient for periodic sync.
If the file is missing, the skill throws with a clear error telling the user how to create it.
getUserSubmissions(undefined, 200) from scripts/lib/reddit/client.ts — reads the username from config and returns up to 200 of the user's most recent submissions. No authentication step.readCalendar(process.cwd()).url or selftext contains audiocontrol.org/blog/<slug>/ where <slug> exists as a Published blog entry. Extract the slug from the URL.url is a YouTube URL (watch/shorts/youtu.be) whose video ID matches the contentUrl of a Published YouTube entry. Use extractVideoId from scripts/lib/youtube/client.ts to normalize both sides.slug: the matched entry's slug (blog slug, or YouTube entry slug)platform: redditchannel: the submission's subreddit field (already canonical r/<name>)url: the submission's permalink (the reddit.com thread URL)dateShared: the submission's createdDatenotes: the submission's title (truncated to 100 chars if longer)slug, platform, and normalized channel, and the same url. Only insert new ones; do not modify existing records.writeCalendar(process.cwd(), cal).Reddit sync complete for /u/<username> (90d window):
Submissions fetched: 37
Matched to blog posts: 12
New records inserted: 4
Duplicates skipped: 8
New records:
- claude-vs-codex-claude-perspective → r/ClaudeAI (2026-04-15)
- scsi-over-wifi-raspberry-pi-bridge → r/retrocomputing (2026-04-16)
...
/editorial-distribute before syncing./schedule) — just keep it infrequent (hourly or less often) to stay well under Reddit's unauthenticated rate limits.