Scheduled Claude Code routine that surfaces, scores, and curates new ENT, airway, and facial-surgery papers from PubMed each morning.
Live digest: https://harshy-boop.github.io/ent-digest/
scripts/ — Python helpers (PubMed client, state, renderer, orchestrator)templates/ — Jinja2 HTML templates for the digest and reading listtests/ — pytest unit tests for the helpersdigests/ — daily HTML output, one file per dayfailures/ — failure logs, only present when a run errorsseen_pmids.json — rolling dedup state (last ~90 days), routine-managedreading-list.md — user-curated TODO list, Project-managed (NOT routine-managed)reading-list.html — rendered view of reading-list.mdroutine-prompt.md — the self-contained prompt the remote agent runs each dayreading-list-system-prompt.md — system prompt for the Claude.ai Reading List Projectpython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pytest
https://claude.ai/code/routines/<routine-id> and at
https://harshy-boop.github.io/ent-digest/.failures/<date>.md in the repo for the troubleshooting prompt.https://claude.ai/code/routines/<routine-id>, toggle Enabled off.scripts/buckets.py → commit + push (live next run).scripts/rubric.md → also update the inlined copy in
routine-prompt.md, commit + push.templates/digest.html.j2 → commit + push./schedule → “update” → adjust cron.