News From Discussions
A morning briefing that reads who you are from your own files — past conversations, memory, project TODOs — and delivers a news digest tailored to what you've actually been thinking about, not topic tags you picked once and forgot.
Two phases:
- Checklists — pending TODOs across your projects, printed immediately.
- News digest — personalized "For You" + general categories, derived from your memory + project context.
Behavior
Phase 1 — Checklists (print immediately)
- Read a global TODO file if one exists at
~/.claude/TODO.md or ~/TODO.md. Treat it as one project ("global").
- Auto-discover project TODOs: scan
~/ for direct subdirectories containing a TODO.md (skip hidden dirs and common noise like node_modules, Library, Applications). Each becomes a project section.
- Present each project as a checklist with pending items first, then completed. Right-align
— #N numbers within each section so they line up.
- End Phase 1 with: "What do you want to work on?"
The user can reference items by project + number, e.g. "global #2" or "myproject #1".
Phase 2 — News Digest (after Phase 1 is fully printed)
- Gather context — read these (skip any that are missing):
- Memory files at
~/.claude/projects/*/memory/*.md
~/.claude/news-from-discussions/recent-headlines.md (used to avoid repeats across days)
- Run ~6 WebSearch queries in parallel:
- 2 personalized "For You" — derive queries from the user's interests, recent learnings, current domains, and project context inferred from memory + TODOs. Reflect who they are as a person, not literal TODO text.
- 1 general news headlines
- 1 AI & tech news
- 1 niche of strongest interest — pick the topic that shows up most in their memory/projects (e.g. design, biotech, finance, gaming, cooking, parenting). One category, varies per user.
- 1 community buzz — viral/trending discussions from Hacker News, Reddit, X. Surfaces things that haven't hit mainstream news yet.
- Curate 3–5 items per category. Deduplicate across sections. Skip any headline already in
recent-headlines.md.
- Print the For You and News Digest sections (format below).
- Update
~/.claude/news-from-discussions/recent-headlines.md — append today's headlines (date + one-line summary). Trim entries older than 7 days.
- Suggested actions — Review today's digest. For each item, ask: does this map to a concrete, actionable next step for one of the user's existing projects? If yes, draft a TODO and assign it to the matching project. Print the Suggested TODOs section and wait for approval. The user can:
- "approve all" — write all suggestions to their respective project
TODO.md files
- "approve [project] #N" — approve specific items
- "skip" or "skip [project] #N" — discard
- "edit #N to say X" — modify before writing
- If no items map to actionable TODOs, skip this section entirely.
- Optional: write to file. If invoked with
--out <path> or the user has set the env var NEWS_FROM_DISCUSSIONS_OUT, also write the full briefing as markdown to that path. This enables downstream delivery (email, Slack, etc.) — see README.
Format
Phase 1
## News From Discussions
**global**
[ ] First pending item — #1
[ ] Second pending item — #2
[x] Completed item — #3
**myproject**
[ ] Pending item — #1
[x] Completed item — #2
End with: "What do you want to work on?"
Phase 2
Print after Phase 1 is complete. Separate with a horizontal rule.
---
## For You
Picked based on your interests, recent thinking, and current projects.
1. Headline — [Source](url) · why it's relevant
2. Headline — [Source](url) · why it's relevant
3. Headline — [Source](url) · why it's relevant
## News Digest
**General**
4. Headline — [Source](url)
5. Headline — [Source](url)
6. Headline — [Source](url)
**AI & Tech**
7. Headline — [Source](url)
8. Headline — [Source](url)
**[Niche]** (e.g. Design, Biotech, Cooking — picked from user's signals)
9. Headline — [Source](url)
10. Headline — [Source](url)
**Trending in Tech & Communities**
11. Topic — [Source](url)
12. Topic — [Source](url)
## Suggested Actions
From today's digest — approve, edit, or skip.
**myproject**
- [ ] Concrete actionable item ([source](url)) — #1
Rules
Checklists
[ ] for pending, [x] for completed — no bullet prefix, just the brackets
- Right-align
— #N numbers using spaces so they line up within each project section
- Keep item text short — one line each, no descriptions
- Skip projects with no
TODO.md
News Digest
- Phase 2 runs entirely after Phase 1 output — never delay the checklists
- "For You" queries should reflect the user as a person (interests, expertise, recent learnings) — not just search for TODO item text
- The niche category is whatever topic dominates the user's memory/projects. If signals are sparse, default to "Culture & Ideas" with broadly interesting items.
- Recency gate: Only include articles published within the last 2 weeks. Check the actual publication date in the article — listicles with a year in the title are not recent just because they mention the current year.
- Query freshness: Use time-specific phrasing covering the full 2-week recency window (e.g.
"past two weeks" or an explicit date range), not just the current few days. Catches items that went viral 8–14 days ago.
- 3–5 items per category, one line each; headlines ≤ ~80 chars
- Link to original articles, not search result pages
- Deduplicate across For You and News Digest
- Check
recent-headlines.md and skip anything already shown in the past week
- If WebSearch or context files error, skip that section silently — don't break the briefing
- Cap total WebSearch calls at 6 to keep latency reasonable
Suggested Actions
- Only suggest actions when a news item maps to a concrete next step for an existing project — not vague "look into this" items
- Each suggestion includes a source link and frames why the item is actionable
- Make suggestions specific: name the niche/tool/data point, connect to the right project
- Group by project, number items within each project for easy reference
- If no items are actionable, skip the section entirely — don't force it
- Approved items get appended to the target project's
TODO.md
Source Attribution
- NEVER attribute a story to a source unless you verified the story actually appears at that URL
- If a search result mentions a topic but the URL is a general roundup, find the actual source or label it honestly
How personalization works
The "For You" picks come from reading the user's own files — memory entries, project TODOs, anything you can find at ~/.claude/projects/*/memory/. The skill doesn't ask the user to list their interests because the interests are already in those files: who they are, what they're building, what they've learned recently, what's confused them. Treat memory as the answer to "what would matter to this person today?"
This is the differentiator: news from your discussions, not from your subscriptions.
1---2name: news-from-discussions3description: Personalized news digest tailored from your past conversations, memory, and projects — plus a checklist of what's pending across your work4---56# News From Discussions78A morning briefing that reads who you are from your own files — past conversations, memory, project TODOs — and delivers a news digest tailored to *what you've actually been thinking about*, not topic tags you picked once and forgot.910Two phases:11121. **Checklists** — pending TODOs across your projects, printed immediately.132. **News digest** — personalized "For You" + general categories, derived from your memory + project context.1415## Behavior1617### Phase 1 — Checklists (print immediately)18191. Read a global TODO file if one exists at `~/.claude/TODO.md` or `~/TODO.md`. Treat it as one project ("global").202. Auto-discover project TODOs: scan `~/` for direct subdirectories containing a `TODO.md` (skip hidden dirs and common noise like `node_modules`, `Library`, `Applications`). Each becomes a project section.213. Present each project as a checklist with **pending items first**, then completed. Right-align `— #N` numbers within each section so they line up.224. End Phase 1 with: "What do you want to work on?"2324The user can reference items by project + number, e.g. "global #2" or "myproject #1".2526### Phase 2 — News Digest (after Phase 1 is fully printed)27285. Gather context — read these (skip any that are missing):29 - Memory files at `~/.claude/projects/*/memory/*.md`30 - `~/.claude/news-from-discussions/recent-headlines.md` (used to avoid repeats across days)316. Run ~6 WebSearch queries in parallel:32 - **2 personalized "For You"** — derive queries from the user's interests, recent learnings, current domains, and project context inferred from memory + TODOs. Reflect who they are as a person, not literal TODO text.33 - **1 general news headlines**34 - **1 AI & tech news**35 - **1 niche of strongest interest** — pick the topic that shows up most in their memory/projects (e.g. design, biotech, finance, gaming, cooking, parenting). One category, varies per user.36 - **1 community buzz** — viral/trending discussions from Hacker News, Reddit, X. Surfaces things that haven't hit mainstream news yet.377. Curate 3–5 items per category. Deduplicate across sections. Skip any headline already in `recent-headlines.md`.388. Print the For You and News Digest sections (format below).399. Update `~/.claude/news-from-discussions/recent-headlines.md` — append today's headlines (date + one-line summary). Trim entries older than 7 days.4010. **Suggested actions** — Review today's digest. For each item, ask: does this map to a concrete, actionable next step for one of the user's existing projects? If yes, draft a TODO and assign it to the matching project. Print the Suggested TODOs section and wait for approval. The user can:41 - "approve all" — write all suggestions to their respective project `TODO.md` files42 - "approve [project] #N" — approve specific items43 - "skip" or "skip [project] #N" — discard44 - "edit #N to say X" — modify before writing45 - If no items map to actionable TODOs, skip this section entirely.4611. **Optional: write to file.** If invoked with `--out <path>` or the user has set the env var `NEWS_FROM_DISCUSSIONS_OUT`, also write the full briefing as markdown to that path. This enables downstream delivery (email, Slack, etc.) — see README.4748## Format4950### Phase 15152```53## News From Discussions5455**global**56[ ] First pending item — #157[ ] Second pending item — #258[x] Completed item — #35960**myproject**61[ ] Pending item — #162[x] Completed item — #263```6465End with: "What do you want to work on?"6667### Phase 26869Print after Phase 1 is complete. Separate with a horizontal rule.7071```72---7374## For You75Picked based on your interests, recent thinking, and current projects.761. Headline — [Source](url) · why it's relevant772. Headline — [Source](url) · why it's relevant783. Headline — [Source](url) · why it's relevant7980## News Digest8182**General**834. Headline — [Source](url)845. Headline — [Source](url)856. Headline — [Source](url)8687**AI & Tech**887. Headline — [Source](url)898. Headline — [Source](url)9091**[Niche]** (e.g. Design, Biotech, Cooking — picked from user's signals)929. Headline — [Source](url)9310. Headline — [Source](url)9495**Trending in Tech & Communities**9611. Topic — [Source](url)9712. Topic — [Source](url)9899## Suggested Actions100From today's digest — approve, edit, or skip.101102**myproject**103- [ ] Concrete actionable item ([source](url)) — #1104```105106## Rules107108### Checklists109- `[ ]` for pending, `[x]` for completed — no bullet prefix, just the brackets110- Right-align `— #N` numbers using spaces so they line up within each project section111- Keep item text short — one line each, no descriptions112- Skip projects with no `TODO.md`113114### News Digest115- Phase 2 runs entirely after Phase 1 output — never delay the checklists116- "For You" queries should reflect the user as a person (interests, expertise, recent learnings) — not just search for TODO item text117- The niche category is whatever topic dominates the user's memory/projects. If signals are sparse, default to "Culture & Ideas" with broadly interesting items.118- **Recency gate**: Only include articles published within the last 2 weeks. Check the actual publication date in the article — listicles with a year in the title are not recent just because they mention the current year.119- **Query freshness**: Use time-specific phrasing covering the full 2-week recency window (e.g. `"past two weeks"` or an explicit date range), not just the current few days. Catches items that went viral 8–14 days ago.120- 3–5 items per category, one line each; headlines ≤ ~80 chars121- Link to original articles, not search result pages122- Deduplicate across For You and News Digest123- Check `recent-headlines.md` and skip anything already shown in the past week124- If WebSearch or context files error, skip that section silently — don't break the briefing125- Cap total WebSearch calls at 6 to keep latency reasonable126127### Suggested Actions128- Only suggest actions when a news item maps to a **concrete next step** for an existing project — not vague "look into this" items129- Each suggestion includes a source link and frames *why* the item is actionable130- Make suggestions specific: name the niche/tool/data point, connect to the right project131- Group by project, number items within each project for easy reference132- If no items are actionable, skip the section entirely — don't force it133- Approved items get appended to the target project's `TODO.md`134135### Source Attribution136- NEVER attribute a story to a source unless you verified the story actually appears at that URL137- If a search result mentions a topic but the URL is a general roundup, find the actual source or label it honestly138139## How personalization works140141The "For You" picks come from reading the user's own files — memory entries, project TODOs, anything you can find at `~/.claude/projects/*/memory/`. The skill doesn't ask the user to list their interests because the interests are already in those files: who they are, what they're building, what they've learned recently, what's confused them. Treat memory as the answer to "what would matter to this person today?"142143This is the differentiator: news from your discussions, not from your subscriptions.