feed-catchup
Provides a streamlined interface for viewing unread RSS feed items from Readwise Reader.
Install
mkdir -p .claude/skills/feed-catchup && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17971" && unzip -o skill.zip -d .claude/skills/feed-catchup && rm skill.zipInstalls to .claude/skills/feed-catchup
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Catch up on your RSS feed — highlights up top, full browse belowKey capabilities
- →Fetch unread documents from Readwise Reader.
- →Filter documents to show only unseen items.
- →Select top 5 most relevant documents based on persona or signal quality.
- →Present documents in batches for browsing.
- →Move documents to different locations (Later, Inbox, Shortlist, Archive).
How it works
The skill fetches unread documents from Readwise Reader, filters them to unseen items, selects top picks, and presents them in batches for user interaction.
Inputs & outputs
When to use feed-catchup
- →Catch up on RSS feed
- →Browse unread articles
- →Filter feed by category
- →View document summaries
About this skill
You are helping the user catch up on their Readwise Reader RSS feed. Follow this process carefully.
Readwise Access
Check if Readwise MCP tools are available (e.g. mcp__readwise__reader_list_documents). If they are, use them throughout. If not, use the equivalent readwise CLI commands instead (e.g. readwise list, readwise read <id>, readwise move <id> <location>). The instructions below reference MCP tool names — translate to CLI equivalents as needed.
Setup
IMPORTANT — do this in a single parallel turn before anything else:
Call ToolSearch with query "readwise list documents" AND read reader_persona.md at the same time. Both must happen in the same message as parallel tool calls. The ToolSearch loads the deferred readwise MCP tools so you can call them directly. Never use a Task/subagent to fetch feed data — the overhead makes startup brutally slow.
-
Check for persona file. (Done in parallel above.) Use it throughout the session to personalize commentary and picks. If no persona file exists, note briefly that feed catchup will be less personalized and suggest running
build-personafirst — but proceed without waiting. If you show this message, add· · ·after it. -
Fetch feed documents. Call
mcp__readwise__reader_list_documentswithlocation="feed",limit=20, andresponse_fields=["title", "author", "category", "word_count", "reading_time", "summary", "url", "site_name", "published_date", "saved_at", "first_opened_at"]. Documents come back most-recently-saved first. Filter to items wherefirst_opened_atis null (unseen). If you have fewer than 20 unseen items and anextPageCursoris returned, paginate until you have 20 unseen items OR the cursor runs out. Hold all unseen items in memory. (Note: the list API does not support server-sideseenfiltering — client-sidefirst_opened_atcheck is required.) -
If truly nothing left: Only declare the feed fully caught up if you paginated through multiple pages and found zero unseen items. In that case, say so briefly and end.
-
Pick the top 5. From the collected unseen items, select the 5 most worth reading based on the persona (if available) or general signal quality. Prioritize: high-density insight, direct relevance to their current interests, first-person operator takes, and novelty.
Opening Format
Render the overview exactly like this:
📡 Reader Feed
{1-2 sentences explaining what you looked at and what stood out — e.g. "Scanned the last 20 unseen items. AI and software architecture dominate, with a few standouts worth pulling."}
Today's picks (spanning {human-readable time range, e.g. "the last 8 hours" or "Feb 24–26"}):
| # | Title | Source | Time | Why |
|---|---|---|---|---|
| 1 | Title | site_name | reading_time | One-line reason this made the cut |
| 2 | ... | ... | ... | ... |
{1-2 sentences of commentary on the picks as a set — what the pattern is, or why these five in particular.}
· · ·
Want to act on any of these, or browse everything?
- Later N / Inbox N / Shortlist N / Archive N — move a pick
- Show N — get a deeper summary
- Read N — open in Reader
- Browse all — go through all unseen items in batches of 20
Browse Loop
If the user says "browse all" (or similar), enter the batch-by-batch loop. Present unseen items 20 at a time:
The Table
Before the table, add a single line with the time range covered by the batch, e.g. "Feb 26, 3:00–11:00 PM" or "last 4 hours" — derived from the saved_at values of the items in that batch.
| # | Title | Source | Time | Summary |
|---|---|---|---|---|
| 1 | Title | site_name | reading_time | Brief summary from metadata — one line, truncated if needed |
| 2 | ... | ... | ... | ... |
After the table, give a brief commentary (1-2 sentences) on the batch — what stands out relative to their interests.
Options
- Mark all seen — mark the batch as seen and load the next 10
- Later N — move to Later (you can also move to Inbox/Shortlist/Archive)
- Show N — get a deeper summary (or the full content if short)
- Read N — open in Reader
(You can act on multiple items at once, e.g. "later 2, 5, 8")
Handling Responses
- "Mark all seen" / "next" / "seen" — Call
mcp__readwise__reader_bulk_edit_document_metadatawithdocumentsset to[{document_id: <id>, seen: true}, ...]for every document in the current batch. This is a single call, not one per document. Do not move or archive them. Then display the next batch of 20. - "Later N" — Move that document to
laterlocation. Confirm briefly, then continue. - "Later N, N, N" — Move multiple documents to
later. Confirm briefly. - "Inbox N" / "Shortlist N" / "Archive N" — Move to the specified location (
new,shortlist, orarchive). Confirm briefly. - "Show N" — Fetch full content using
mcp__readwise__reader_get_document_details. If the document is 3 mins or under, show the full content verbatim — no summary. If over 3 mins, give a richer summary with why-read/why-skip reasoning. Then re-present the options. - "Read N" — Provide the Reader link (
https://read.readwise.io/read/{id}) so they can open it directly. - "Stop" / "done" — End the session with a brief summary of what was processed (how many seen, how many pulled).
Transitions
When loading the next batch, use · · · as a visual separator before the next table.
When not to use it
- →When the user does not want to catch up on their RSS feed.
- →When the user wants to fetch feed data using a Task/subagent.
- →When the user wants to filter documents server-side by `seen` status.
Limitations
- →The skill relies on Readwise Reader.
- →The list API does not support server-side `seen` filtering.
- →The skill uses client-side `first_opened_at` check for unseen items.
How it compares
This skill provides a summary-first approach to RSS feed consumption with interactive browsing and document management, unlike simply listing all unread articles.
Compared to similar skills
feed-catchup side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| feed-catchup (this skill) | 0 | 23d | No flags | Intermediate |
| braindump | 7 | 5mo | No flags | Beginner |
| daily-digest | 0 | 3mo | Review | Intermediate |
| scientific-writing | 94 | 1mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by codekiln
View all by codekiln →You might also like
braindump
huytieu
Quick capture of raw thoughts with intelligent domain classification and competitive intelligence extraction
daily-digest
yayajjiang
Add today's ML/AI paper and news picks to the PaperTrace daily feed. Use when the user wants to update the daily page with new content.
scientific-writing
K-Dense-AI
Write scientific manuscripts. IMRAD structure, citations (APA/AMA/Vancouver), figures/tables, reporting guidelines (CONSORT/STROBE/PRISMA), abstracts, for research papers and journal submissions.
linkedin-sales-navigator-alt
OneWave-AI
Build targeted prospect lists by analyzing LinkedIn profiles, extracting job titles, companies, locations, and recent activity. Identifies decision-makers, tracks job changes for warm outreach, and enriches contact data. Use when users need to find prospects, build lead lists, or track decision-maker movements.
market-research-reports
davila7
Generate comprehensive market research reports (50+ pages) in the style of top consulting firms (McKinsey, BCG, Gartner). Features professional LaTeX formatting, extensive visual generation with scientific-schematics and generate-image, deep integration with research-lookup for data gathering, and multi-framework strategic analysis including Porter's Five Forces, PESTLE, SWOT, TAM/SAM/SOM, and BCG Matrix.
annas-archive-ebooks
ratacat
Use when needing to look up book content, find a book by title/author, download an ebook, or reference material from a published book. Triggers on book lookups, ebook downloads, "find the book", "get the PDF/EPUB of". Downloads produce PDF/EPUB/MOBI files - use ebook-extractor skill to convert to text.