01-projects/process-newsletter

README

2026-04-11·project·status: prototype-complete

Process Newsletter — project README

Goal

Ingest email newsletters from a whitelisted set of senders into the vault as structured assessment notes, with bias and sponsor flagging. Separate from Substack-specific tooling — this works on any newsletter that lands in ben@raydata.co regardless of publisher (Substack, Ghost, Mailchimp, self-hosted).

Companion skill: ~/.claude/skills/process-newsletter/SKILL.md.

Status

Whitelist — locked in 2026-04-11

K = keep, backfill history + ongoing watch

Sender Newsletter Typical format Notes
email@stratechery.com Stratechery (Ben Thompson) thought-leadership 60 actual in inbox (2026-04-12 discovery; 3 batch tasks created). Original "201+ in history" estimate was archive-based, NOT inbox-bounded.
seattledataguy@substack.com SeattleDataGuy (Ben Rogojan) hybrid ✅ backfill complete (8 articles + 1 pre-existing)
notboring@substack.com Not Boring (Packy McCormick) hybrid (long-form + Friday optimism curation) 28 actual in inbox (2026-04-30 discovery; 1 batch task created, 26 already filed). Original "201+ in history" estimate was archive-based.
practicaldatamodeling@substack.com Practical Data Modeling (Joe Reis) thought-leadership, series-based 32 actual in inbox (2026-04-30 discovery; 1 new batch task created, 23 already filed). Original "~20+" was closer but still off. ⚠️ paid sub lapsed 2026-04-24 — flagged to founder for resubscribe decision.
analyticsengineeringroundup@substack.com Analytics Engineering Roundup curation ~20+ in history (estimate — not yet discovery-scanned; assume lower per inbox-bounded pattern below)
hello@every.to Every multi-author thought-leadership 201+ in history (estimate — not yet discovery-scanned; assume MUCH lower per inbox-bounded pattern below)
hello@ship30for30.com Ship30for30 (Start Writing Online) writing craft / marketing 30+/180d
writewithai@substack.com Write With AI writing with AI tools 8+/180d
michaeldean9@substack.com Essay Architecture (Michael Dean) essay writing craft curation-heavy
ark@arkinvest.com ARK Invest (Cathie Wood) investment commentary weekly stock commentary
newsletter@commoncog.com Commoncog (Cedric Chin) thought-leadership, series-based ~201+ in history estimate — actual is inbox-bounded (founder re-subscribed 2026-04-15, so inbox has from-that-date forward). Operator's field manual; tacit knowledge, expertise, sensemaking. Highly relevant to RDCO agent-deployer positioning.
secretcfo@mail.beehiiv.com CFO Secrets (The Secret CFO, anon) thought-leadership (multi-cadence: Sat Playbook + Tue Mailbag + monthly Spotlight + biweekly Boardroom Brief) Added 2026-05-11. Brother-in-law recommendation. Sponsor: Campfire (Series A close-the-books software; author is investor/user, disclosed openly across all 4 AI-for-CFOs articles). Inbox starts 2026-05-11 (founder just subscribed); back-catalog only via WebFetch from public archive at cfosecrets.io. Strong harness-engineering thesis convergence from CFO seat. AI-for-CFOs I-IV synthesis already filed at 06-reference/2026-05-11-cfo-secrets-ai-for-cfos-series-synthesis.md. Sponsor update 2026-06-02: a NEW third-party paid placement — Zip (continuous-close software) — appeared in the Tue Mailbag, distinct from the known Campfire tie (no disclosed author investor/user relationship; clean paid block). Watch whether Zip recurs or rotates back to Campfire. Sponsor update 2026-06-06: a THIRD distinct paid placement — Pulley (cap-table/equity-management software) — appeared in the Sat Playbook "Permission to Grow" issue, again a clean paid block with no disclosed author relationship. Pattern now confirmed: CFO Secrets rotates third-party sponsors (Campfire→Zip→Pulley); treat each issue's sponsor as per-issue, not a standing relationship. Sponsor update 2026-06-09: a FOURTH distinct paid placement — Stuut (stuut.ai, AI accounts-receivable agent) — appeared in the Tue Mailbag, clean third-party block with no author relationship. The "three rotating sponsors" framing is now STALE: CFO Secrets runs a broad rotating clean-third-party ad pool, so treat each issue's sponsor as UNKNOWN-until-scanned (do not assume Campfire/Zip/Pulley).
mostlymetrics@mail.mostlymetrics.com Mostly Metrics (CJ Gustafson, @cjgustafson222) hybrid (bangerz + research/reports + how-to + IPO S1 breakdowns + "Run the Numbers" podcast) Added 2026-05-11. CFO Secrets-bundled subscription. Sponsors visible: Brex / Intuit / Samsara / Rivian / MLB / Abacum (added 2026-05-24, FP&A SuiteApp / NetSuite-stack play) / Mostly Talent (added 2026-05-28 — CJ's own recruiting arm = self-consulting, NOT third-party; flag accordingly when seen). Startup/tech CFO audience (vs CFO Secrets' growth-stage focus — pair them). Voice study for Sanity Check. Free tier active; paid tier on hold per founder 2026-05-11 (re-evaluate after 4-6 weeks of free issues). Inbox starts 2026-05-11.

⚠️ Count-before-budget rule (added 2026-04-30)

The original "N+ in history" estimates in the K table were Substack-archive-based, NOT Gmail-inbox-bounded. Real inbox counts have come back substantially smaller (Stratechery: 60 vs 201+ estimate; PDM: 32 vs 20+ estimate; Not Boring: 28 vs 201+ estimate). The gap is because Gmail only has from-subscription-date forward, not the sender's full archive.

Rule for remaining un-scanned senders (Every, Commoncog, Analytics Engineering Roundup, ARK Invest, Write With AI, Ship30for30, Essay Architecture): run discovery with --dry-run semantics first — count messages in inbox BEFORE planning batch sizes. If count is small (<20), skip the batch-task overhead and process inline via Mode 3 (Backfill, legacy small-sender path). Don't allocate 10+ batch tasks for a sender that only has 25 messages in the inbox.

Implication: the total backfill work is significantly smaller than the README originally implied. Prioritize the per-sender deep-fetch quality (sponsor detection, RDCO mapping discipline) over volume planning.

F = follow-forward only, no backfill (watch from now onward)

Sender Newsletter Typical format
theinnermostloop@substack.com Innermost Loop (Alex Wissner-Gross) thought-leadership
dataengineeringcentral@substack.com Data Engineering Central thought-leadership
dataengineeringweekly@substack.com Data Engineering Weekly (Ananth Packkildurai) curation
technically@substack.com Technically thought-leadership
news@alphasignal.ai AlphaSignal curation (AI/ML news)
lon@dataelixir.com Data Elixir curation (data science/ML news) — founder will resubscribe to ben@raydata.co; currently hits personal inbox
semistructured@substack.com Semi-Structured (Jonathan Natkins) thought-leadership (data infrastructure for AI agents) — added 2026-04-12

Known sender-specific gotchas (learned from SDG backfill)

SDG — SeattleDataGuy (fully backfilled)

PDM — Practical Data Modeling (Joe Reis) — partial backfill, paid sub lapsed 2026-04-24

Not Boring (Packy McCormick) — partial backfill, ongoing watch

Patterns to watch for in other senders (not yet backfilled)

Skill design — key decisions

  1. Skill over cron for now. The /process-newsletter watch invocation is user-triggered, not scheduled, until we have confidence it doesn't burn context or generate noise.
  2. Always-flag, never-filter. Sponsors and bias get disclosed in frontmatter and body, never used to skip an article. The reader needs to see the angle.
  3. Deep-fetch cautiously. Max 2 link follows per curation issue, only for third-party links clearly relevant to RDCO topics. No paywall traversal.
  4. Vault-path discipline. All notes under 06-reference/<YYYY-MM-DD>-<sender-slug>-<topic-slug>.md. No exceptions. The filename convention is what lets the skill detect "already-filed" without duplicating work.
  5. Tracked authors feed Task #4. When a guest post or curation link surfaces a new author worth following (Dylan Anderson from the Mar 25 SDG issue, Olga Berezovsky from Jan 23), they go to the CRM candidate list, not directly into a contact file.

Lessons from the SDG prototype

What worked well:

What to improve for the next sender:

Next actions (pending founder approval)

  1. Backfill the next K sender — recommend Stratechery (201+ messages, highest expected signal density, single author for consistent assessment voice).
  2. Set up the watch cron loop once we've done 2-3 senders and trust the pattern.
  3. Revisit the 06-reference/ folder structure question at ~50 files.
  4. Handle Data Elixir once founder re-subscribes.

Related