ABOUTME: Process unread newsletters into Second Brain entries via Gmail and Obsidian
ABOUTME: Batch extraction of actionable content from Substack, Beehiiv, and other platforms
Newsletter Digest Skill
Process unread newsletters, extract actionable content for Second Brain, archive processed emails.
Gmail: See ../_GMAIL.md | Obsidian CLI: See ../_OBSIDIAN.md | Integration: See ../_SECOND_BRAIN.md
Newsletter Sources
All newsletters are processed - categorize by content, not by sender.
Common Platforms
# Search for unread newsletters from common platforms
gog gmail search "is:unread (from:substack.com OR from:beehiiv.com OR from:convertkit.com OR from:mailchimp.com OR from:buttondown.email)" --account=maroffo@gmail.com --json --max=20
Known Newsletter Labels
| Label | Description |
|---|---|
📰Newsletter/🔴 Substack | Substack newsletters |
📰Newsletter | General newsletters |
👨🏻💻work-related | Work-related content (higher priority) |
Key Newsletters by Category
| Newsletter | Author | Category |
|---|---|---|
| ByteByteGo | Alex Xu | AI/Development |
| Turing Post | - | AI/Open Source |
| Artificial Ignorance | Charlie Guo | AI/Management |
| The Beautiful Mess | John Cutler | Engineering Management |
| Tidy First? | Kent Beck | Engineering/Design |
| Javarevisited | - | Development |
| [mini]marketing | Gianluca Diegoli | Marketing |
| Paul Krugman | Paul Krugman | Politics/Economics |
| Appunti | Stefano Feltri | Politics (IT) |
| 270 by Youtrend | Youtrend | Politics (IT) |
| Il Mattinale Europeo | David Carretta | EU Politics |
| Il Post | - | News (IT) |
| Semafor | - | News (International) |
| Roberta Villa | Roberta Villa | Health/Science |
| Ellissi | - | Media/Culture |
| Sillabe | Elena Tosato | Literature |
Processing Workflow
Step 1: Find Unread Newsletters
gog gmail search "is:unread (from:substack.com OR from:beehiiv.com OR from:convertkit.com)" --account=maroffo@gmail.com --json --max=20
Step 2: Extract & Triage
For each newsletter, extract content and run automated triage:
# Extract email text
gog gmail thread get <threadId> --account=maroffo@gmail.com --json \
| python3 ~/.claude/skills/newsletter-digest/extract_email.py --meta --max-chars 4000
# Classify with optimized prompt (needs ANTHROPIC_API_KEY)
echo '{"from": "<sender>", "subject": "<subject>", "content": "<body>"}' \
| uv run --project ~/.claude/skills/autoresearch-prompt -- autoresearch-prompt classify
The classifier returns JSON: {"action": "extract"|"skip", "category": "...", "content": "...", "reason": "..."}.
- action=skip: Archive immediately, no Second Brain entry
- action=extract: Process content into Second Brain using the returned
categoryandcontent
For batch triage, classify all newsletters first, then process only the extract results. This avoids spending time analyzing content that should be skipped.
Step 3: Process Extracted Newsletters
For each newsletter where classifier returned action=extract:
- Use the classifier's category to route to the correct Second Brain file
- Refine the summary if needed (the classifier provides a 2-3 sentence
contentfield as starting point) - Categorize per
../_SECOND_BRAIN.mdrouting table (classifier categories match these) - Extract & integrate via Obsidian CLI:
obsidian append file="Second Brain - <Topic>" content="<extracted>"
- Update Timeline:
obsidian append file="Second Brain - Timeline" content="- **YYYY-MM-DD** | [Topic] | Source: Newsletter | -> Second Brain - <File>.md"
Step 4: Archive All
Archive all processed newsletters (both extracted and skipped). See ../_GMAIL.md for archive command.
Output Format
After processing batch:
## Newsletter Digest - YYYY-MM-DD
### Processed (X newsletters)
1. **[Pragmatic Engineer]** - "Platform Teams Done Right"
- Extracted: Platform team anti-patterns
- → Second Brain - Engineering Management.md
- ✓ Archived
2. **[ByteByteGo]** - "Rate Limiting Deep Dive"
- Extracted: Token bucket algorithm summary
- → Second Brain - Development.md
- ✓ Archived
3. **[The Batch]** - "AI News Weekly"
- Skipped: News only, no actionable content
- ✓ Archived
### Summary
- Newsletters processed: X
- Second Brain entries added: Y
- Archived: X
Content Extraction Guidelines
Include in Second Brain:
- Tool/library announcements with clear use case
- Architecture patterns with examples
- Techniques you can apply
- Commands/configs worth remembering
- Important news from news-focused newsletters (Il Post, Semafor, Appunti, Il Mattinale Europeo):
- Geopolitical events with lasting impact
- Policy changes (EU, IT, international)
- Economic developments (trade, sanctions, markets)
- Major political events (elections, government changes)
- → Add to
Second Brain - Politics and Economics.md
Skip (archive only):
- Tech industry news/opinions (funding, hype cycles)
- Funding announcements
- Job postings
- Content you've already captured
- Ephemeral news (daily weather, minor events)
Ask user if unclear:
- Mixed content (some actionable, some not)
- Topics outside usual categories
Rules
See ../_SECOND_BRAIN.md for shared rules. Additional:
- Always archive - processed = archived, no exceptions
- Batch process - handle multiple newsletters in one session