Back to Discover

reading-digest

plugin

wearescribes

Daily reading digest plugin for Claude: bookmarks in, summarized digest out via Slack/email/file, with one-click Claude follow-ups.

View on GitHub
0 starsMITSynced Aug 5, 2026

Install to Claude Code

/plugin marketplace add wearescribes/reading-digest

README

Daily Reading Digest

Turn your saved-links pile into a skimmable daily digest, delivered wherever you want it — with a one-click "Discuss with Claude" link on every item.

You know the folder. It's called To Review, or to-read, or Read Later, and it only ever grows. This plugin reads that folder (whatever you named it, from whichever browser you use), keeps a proper reading queue, summarizes the top unread items, and sends you a digest that makes each item one click away from either reading it or talking it through with Claude.

# To Review digest — 2026-07-09

_3 items today · 9 left in the queue_

## 1. How to Do Great Work
A long essay arguing that great work comes from choosing what to work on...
Read: https://paulgraham.com/greatwork.html
Discuss with Claude: https://claude.ai/new?q=I%20saved%20this%20article...

How it works

The queue is the source of truth, not the browser. Intake pulls newly saved links from your browser's bookmarks folder (read directly from disk — no browser automation needed) into a plain markdown checklist you own. The digest run summarizes the oldest unread items, delivers them, checks them off, and appends everything — link, URL, and summary — to a permanent local history file.

browser bookmarks folder ─┐
open tabs (optional) ─────┼──► reading queue ──► summarize ──► digest ──► Slack / email / file
/reading-digest:add ──────┘      (md file)                        └──► history.md (forever)

The plugin deliberately keeps its credential surface small: Slack and email are the only integrations that need credentials. Everything else is local files.

Install

Not technical? INSTALL.md is a click-by-click guide that assumes nothing — including how to get a Slack webhook and connect email.

Claude Code (as a plugin):

/plugin marketplace add wearescribes/reading-digest
/plugin install reading-digest@reading-digest

From a git clone (no marketplace):

git clone https://github.com/wearescribes/reading-digest.git
claude --plugin-dir ./reading-digest

Claude Cowork (desktop): download reading-digest.plugin from the latest GitHub Release and open it in Cowork — it installs with one click.

Quickstart

/reading-digest:tutorial  # new here? guided tour — see a sample digest in 60 seconds
/reading-digest:setup     # one-time interview: browser, label, queue, channels
/reading-digest:run       # generate & deliver today's digest
/reading-digest:add <url> # save a link from anywhere

After installing, you can also just say "show me how this works" — the tutorial picks it up.

Personalization

All customization lives in one config file, written by /reading-digest:setup (user-level ~/.claude/reading-digest/config.json, project-level ./.claude/reading-digest.json, or any path via READING_DIGEST_CONFIG). Full schema in config.example.json.

KeyWhat it controlsDefault
queue_labelThe name of your bookmarks folder / grouping — call it anything"To Review"
browserchrome, brave, edge, arc, vivaldi, chromium, firefox, safarichrome
intakebookmarks_folder (exact, no automation), open_tabs (heuristic), manualbookmarks_folder
profile_pathNon-default browser profile locationauto-detect
queue_fileWhere the queue checklist lives (Obsidian-friendly)~/reading-queue.md
history_fileThe append-only log of every link, URL, and summary ever digested~/.claude/reading-digest/history.md
notifyslack and/or email — the digest file is always written["file"]
exclude_domainsDomains never treated as reading material in tab intakemail/docs/etc.
digest.max_itemsItems per digest, oldest first10
digest.deep_links"Discuss with Claude" link per itemtrue

Choosing a browser (yes, without any browser extension)

Every major browser stores bookmarks in a file this plugin can read directly:

BrowserStoreNotes
Chrome / Brave / Edge / Arc / Vivaldi / ChromiumBookmarks (JSON)all profiles scanned
Firefoxplaces.sqlitecopied before reading, safe while Firefox runs
SafariBookmarks.plistmacOS: grant your terminal Full Disk Access

That's the recommended intake: exact, fast, works headless. open_tabs mode is available when you prefer scanning what's open — it uses whatever browser tooling your session has (Claude-in-Chrome extension, a local browser tool, or Playwright MCP) and classifies heuristically, because no browser API exposes tab-group membership. And manual mode needs no browser at all.

Notification channels

ChannelNeedsSetup
Slackconnector or incoming webhookconnector mode wants the channel ID (channel details → Copy channel ID); webhook walkthrough in INSTALL.md
Emaila connected mail tool that can senddestination address
Filenothingalways on — digest_dir/digest-YYYY-MM-DD.md

The history log

Every real digest run appends its items — title, URL, and the written summary — to one append-only markdown file (history_file, default in the plugin's local data folder ~/.claude/reading-digest/). It's your lifetime reading record: grep it, open it in Obsidian, or ask Claude questions against it.

Scheduling the daily run

Claude / Cowork scheduled task — create a scheduled task with a prompt like:

Run /reading-digest:run and deliver the digest to my configured channels.

macOS launchd / cron (Claude Code CLI):

# crontab -e  — weekdays at 7:30
30 7 * * 1-5  claude -p "/reading-digest:run" >> ~/reading-digests/cron.log 2>&1

GitHub Actions — works in queue-only mode (no browser in CI): commit your queue file to a repo, run with --no-intake, notify via the Slack webhook.

Privacy

Everything runs where you run it. Bookmarks are read locally; the queue, digests, and history are plain files you own; and nothing is sent anywhere except the Slack channel and/or email address you configure.

Troubleshooting

"Folder not found" — the script prints every folder name it did find; update queue_label (matching is case-insensitive). Safari permission error — grant your terminal app Full Disk Access (System Settings → Privacy & Security). Slack channel search finds nothing — that's why setup asks for the channel ID directly. Cloud/Cowork sessions — the cloud workspace can't read your laptop's bookmark files; use open_tabs intake via the Chrome extension, keep the queue file in a connected folder, or add links with /reading-digest:add.

Contributing

Adapters are small and self-contained — new notifiers and browsers are very welcome. See CONTRIBUTING.md. Run the regression suite with python3 tests/run_tests.py.

License

MIT © 2026 David Johnson Igra

Rendered live from wearescribes/reading-digest's GitHub README — not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
reading-digestPersonalized daily reading digest from your browser bookmarks or tabs, delivered to the channel you choose with Claude deep links.productivity./

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.