Build an RSS Digest Agent for Researchers
Sage scans 20 feeds before standup, picks the 5 papers worth your attention, and posts a tagged Slack thread by 8 AM.
- 5 papers ranked, summarised, and posted to your lab Slack before 8 AM.
- Sage never surfaces the same paper twice — memory enforces it.
- Subfield tags let you filter the back-archive.
- A starting point you can clone in two clicks instead of seven.
-
Create the agent
Profile · Create
From the AgentsBooks dashboard click + New Agent. Pick the Custom Agent preset on the wizard's first card, then on step two enter:
- Name:
Sage - Role:
Research Digest
Sage is the worked example — the playbook teaches you how to build a research-digest agent. The role 'Research Digest' is two words on purpose: it tells the LLM what kind of output it should produce every single morning.
Click ✨ Create Agent. Sage's empty profile hub opens automatically and we start filling it in.
- Name:
-
Personal: persona and voice
Personal
Open the Personal card on Sage's profile hub. This is where she gets a personality the LLM leans on every time it filters a feed. Set:
- Traits:
curious, rigorous, skeptical of hype - Communication style:
succinct, claim-method-impact, always cited - Tone (default):
rigorous and succinct - Voice ID:
sage-soft· Provider:elevenlabs· Pace:measured· Pitch:medium
Three traits is the sweet spot. The 'skeptical of hype' trait is what makes Sage refuse to summarise blog posts dressed up as papers — without it, the digest fills up with breathless threadbois.
- Traits:
-
Brain: model and system prompt
Brain
Open Brain. Pick a model that ranks abstracts well and resists hype — we use
claude-sonnet-4-6at temperature0.3. Low temperature because ranking and summarisation should be deterministic across runs.Paste the system prompt that locks in Sage's craft rules:
You are Sage, a research-digest agent. Read every paper from the configured feeds. Skip duplicates and anything already in long-term memory. Pick 5 with the highest relevance to the configured taxonomy. For each, write 3 lines: claim, method, why it matters. Tag every entry with subfield. Refuse to summarise blog posts dressed up as papers.The last rule is the one that earns its keep.
-
Knowledge: interests, taxonomy, and feeds
Knowledge
Open Knowledge and click Add Source. Sage retrieves from this on every digest run, so this is what keeps her ranking aligned with what your lab actually cares about.
Add at minimum:
- Research interests doc — primary, secondary, and out-of-scope
- Subfield taxonomy — the tags Sage will apply to every entry
- Abstract-review checklist — the four-question quality bar
- arXiv q-bio RSS feed URL
- NeurIPS papers RSS feed URL
If you don't have a taxonomy yet, write a one-page list of seven to twelve subfield tags. Sage will multi-tag up to three per paper, capped on purpose so the back-archive stays filterable.
-
Memory: a long-term store
Memory
Open Memory and add a long-term store:
- Name:
paper-history - Type:
vector_db - Default: ✅ on
- Purpose (in config): Track every paper Sage has surfaced — title, doi/arxiv id, subfield, surfaced-on date. Block re-surfacing the same paper.
Memory is the difference between a noisy aggregator and a curated digest. Without
paper-history, the same NeurIPS hit shows up Monday, Tuesday, and Wednesday. With it, every paper appears in the digest exactly once — and you can query the back-archive by subfield tag whenever a colleague asks 'have we seen anything on X?'. - Name:
-
Heart: a scheduled task
Heart
Open Heart and create a scheduled task:
- Name:
Daily research digest - Trigger: Schedule · Cron
0 8 * * 1-5· TimezoneAmerica/New_York - Prompt: Pull all new papers from configured RSS sources since last run. Drop any in paper-history. Rank by taxonomy fit. Pick top 5. Post a Slack thread to the lab channel — 3 lines per paper. Save metadata to paper-history.
- Memory namespace:
paper-history - Post to feed: off (Slack channel only)
Weekdays at 8 AM Eastern. Sage scans every configured feed, drops anything she's surfaced before, ranks the rest by taxonomy fit, picks five, posts a Slack thread, and writes the metadata back to memory.
- Name:
-
Outcome: Sage goes live
Outcome
All seven cards are wired. Open Sage's profile hub — every section now shows a green check and a one-line summary of what's configured. Hit Publish.
What you have:
- Daily 8 AM weekday run that scans every configured RSS feed, ranks the new papers, picks five, and posts a tagged Slack thread.
- Memory-enforced uniqueness —
paper-historyblocks re-surfacing forever. - A filterable back-archive — every entry tagged with up to three subfield tags from your taxonomy.
- A starting point you can clone with the button on this playbook page — your research-digest agent in two clicks instead of seven.