| name | source-curation |
| description | Build a curated reading list, source bibliography, or recommended-resources digest on a topic via the Tavily MCP. Use when the user wants to learn about a topic from scratch, build a reference collection, share a reading list with their team, or says "build me a reading list on", "what should I read about", "curate sources on", "recommended resources for", "syllabus for", or "starter pack on". Returns a categorized list of high-quality sources (foundational, recent, contrarian) with one-line annotations. For one-shot synthesis, use deep-research instead. |
Source Curation
Curate a reading list on a topic — categorized, annotated, and
opinionated about what's worth reading first.
When to use this skill
- "Build me a reading list on …"
- "What should I read to get up to speed on …"
- "Curate sources on …"
- "Starter pack for someone new to …"
- "Send the team a syllabus on …"
For a single synthesized report, use deep-research. For tracking
fresh news, use news-monitor. For pre-meeting briefs, use
lead-research.
Workflow
- Clarify the level: who is the audience and how deep do they
want to go? Beginner / practitioner / expert? 5 sources / 15 / 30+?
- Cast a wide net:
tavily_search with multiple sub-queries:
"{topic} introduction" — beginner explainers.
"{topic} {year}" — current state.
"{topic} survey OR overview OR foundational" — anchor pieces.
"{topic} criticism OR critique OR debate" — heterodox voices.
- For technical topics:
"{topic} paper" with
include_domains: "arxiv.org,acm.org,ieee.org".
- Score each candidate:
- Author / publisher credibility.
- Recency (especially for fast-moving fields).
- Depth match to audience.
- Whether it adds a different perspective vs. items already in
the list.
- Categorize into sections (template below).
- Annotate: one line per source — what it adds, why it's on the
list. Don't re-summarize the article.
Output template
# Reading list: {Topic}
*Curated {YYYY-MM-DD} • Audience: {beginner / practitioner / expert}*
## Start here (foundational, ~30 min total)
1. **{Title}** — {Author}, {Publisher}, {Year}. *{Why it's first}.* [{url}]
2. …
## For practitioners (~2–4 hr total)
3. **{Title}** — {Author}. *{What it teaches}.* [{url}]
4. …
## Recent ({last 12 months})
5. **{Title}** — {Author}, {Publisher}, {Date}. *{What's new here}.* [{url}]
6. …
## Contrarian or critical
7. **{Title}** — {Author}. *{What it pushes back on}.* [{url}]
8. …
## Going deeper (advanced / academic)
9. **{Title}** — {Author}, {Journal}, {Year}. *{What it adds}.* [{url}]
10. …
## Audio / video (if relevant)
- **{Podcast / talk}** — {host / venue}, {duration}. *{angle}*. [{url}]
## Updated periodically
- This list reflects what's available as of {YYYY-MM-DD}. The {topic}
space moves fast / slow — re-curate every {N} {weeks/months}.
Curation principles
- Quality over quantity. 5 great sources beat 30 mediocre ones.
- Heterogeneous viewpoints. Include something the user will
disagree with — that's how you actually learn a topic.
- Mix formats. Long-form essays, papers, talks, short posts. The
user's attention budget varies.
- Annotate honestly. If something is "controversial but
important," say so. If something is "the canonical reference but
dated," say so.
- No dead links. If you can't
tavily_extract it successfully,
don't include it.
Saving and sharing
Default to saving the reading list as reading-list-{slug}-{YYYY-MM-DD}.md
in ~~document store. If the user wants to share with their team,
offer to post it to ~~chat (with the link to the doc, not the full
content).
Failure modes
- Topic is too broad ("AI"): ask the user to narrow before
curating. Otherwise you'll produce a generic list.
- Topic is too niche / new: say so. Curate what exists; flag where
the gap is. Don't pad with marginal sources.
- Paywalls: include high-quality paywalled sources but mark them
(paywalled) so the user can decide.