Source: wiki synthesis: last30days-clawdbot-9th-channel, birdclaw-twitter-skill, yt-dlp — plus the local skill definition at ~/.claude/skills/inbox-refresh/SKILL.md and the karpathy-wiki vault’s raw/ directory conventions.

inbox-refresh is a Claude Code skill that pulls fresh reading material from a fixed set of sources, applies a quality filter, and stages each item as a markdown stub in the karpathy-wiki’s raw/ directory — ready for the next /compile pass to triage. It is the input side of the two-phase ingest pipeline; /compile is the output side. Both halves share the same triage: frontmatter field.

Key Takeaways

  • Eight ingest sources, one slash command. X/Twitter bookmarks, X posts from a tracked AI-account list, YouTube videos from the wiki-inbox playlist, podcast episodes from configured YouTube channels, recently-starred GitHub repos, Anthropic ecosystem releases/commits (the anthropic-watch source), Kill-the-Newsletter or direct-RSS newsletter feeds, and top Reddit posts from a fixed Claude/AI subreddit list. Each source has its own raw-file prefix so /compile can route on filename alone.
  • Default-to-skip strict bar. Reddit, X, newsletter signals are noisy by default. The skill’s quality filter is intentionally aggressive — most pulled items end up with triage: skip:<reason> in their frontmatter, never becoming articles. The 2026-05-15 inbox-refresh batch ingested 0 / refreshed 1 / skipped 10 of 11 Reddit items. This is the success state.
  • Filename prefixes drive /compile routing. x-bookmark-, reddit-, gh-star-, anthropic-watch-, newsletter-, x-research-brief-, plus YouTube title-based filenames. Each prefix maps to a distinct triage default and a distinct fallback if classification fails.
  • Embedded triage: field is the handoff. Every raw stub written by inbox-refresh includes triage: ingest | refresh:topic/article | skip:<reason> in its frontmatter. /compile reads the field and routes — ingest becomes a new article, refresh becomes a 1-3 sentence prefixed note appended to an existing article, skip becomes a manifest entry only. No re-classification work on the /compile side; the strict-bar decision lives at inbox time.
  • No clash with last30days briefs. Items from inbox-refresh land at raw/<prefix>-<slug>.md (per-item stubs). Items from last30days land at raw/last30days/last30days-<slug>-<date>.md (cross-platform synthesis briefs in their own subfolder). Both flow through the same /compile triage but operate on different file shapes — per-item vs cross-platform synthesis. See the Channel 9 connection article for the integration shape.
  • Reddit-sourced items are visibly tagged. Every Reddit-origin article gets reddit-sourced + r-<subreddit> tags, a **Source:** Reddit: line explicitly, and refresh notes prefixed [Reddit signal — r/<sub> YYYY-MM-DD]. The strict-bar trade-off is that what does survive triage carries audit metadata.

How it fits into the pipeline

inbox-refresh (skill)              /compile (skill)
    │                                  │
    ├─ pull from 8 sources             ├─ scan raw/ for new files
    ├─ apply strict-bar filter         ├─ read triage: frontmatter
    ├─ write raw/ stubs with           ├─ route on prefix + triage value
    │   triage: field                  ├─ ingest / refresh / skip
    └─ done                            └─ append to log + manifest

inbox-refresh writes; /compile reads. The triage: field is the integration contract.

Triggers for the strict-bar

The skill defaults each source to a tier:

SourceDefault triageReal-world hit rate
X bookmarksingest (manually selected for the inbox already)high — most ingest
YouTube wiki-inbox playlistingest (curated playlist)high
Anthropic-watch (releases/commits)ingest if materialmedium
Newsletter feedsrefresh if topic already covered, else skiplow
GitHub starsrefresh if topic already covered, else skiplow
Reddit subsskip by default, refresh if topic already coveredvery low
X tracked-account postsrefresh if signal, else skiplow

Inbox-refresh is the gate, not the vacuum. A noisy week pulls 50+ items and ingests 3.

Try It

# In a Claude Code session inside the karpathy/ project:
/inbox-refresh
 
# Then once stubs are staged:
/compile

The skill is local-only (lives in ~/.claude/skills/), not published to a marketplace. Adapt the source list in the SKILL.md body to your own inbox surfaces — the architecture is generic; the eight sources hardcoded here reflect the karpathy wiki’s specific reading diet.