Readwise Reader Prune

SkillDocs & knowledge

Clean up stale Readwise Reader documents. Use when the user wants to declutter their reading library, remove old unread articles, or manage Reader inbox. Triggers on "clean up readwise", "prune reader", "delete old articles", "declutter reading list".

Use Readwise Reader Prune in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Readwise Reader Prune and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Readwise Reader Prune skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Readwise Reader PruneStart free

What this skill tells your AI

The instructions your AI receives, as published by edwinhu/workflows in skills/readwise-prune/SKILL.md and read by Ahel’s review.

What this skill carries — grep references/ for any subject the names below miss: !d=${CLAUDE_SKILL_DIR}; command -v skill-toc >/dev/null 2>&1 && exec skill-toc "$d"; s=$HOME/.claude/skills/plugin-utils/bin/skill-toc; [ -x "$s" ] && exec "$s" "$d"; echo "(skill-toc unavailable: references and scripts are NOT listed here — install the plugin-utils plugin, or start a new session so its bin/ reaches PATH)"

Two-pass stale document removal with safe defaults.

IRON LAW: Dry Run First

NEVER pass --delete without showing the user the dry-run output first.

  1. Run without --delete (dry run)
  2. Show the user the candidate list and category breakdown
  3. Get explicit confirmation
  4. THEN run with --delete

How It Works

Pass 1: Fetch all documents updated in the last N months (the "safe set" -- these have recent activity and are never pruned).

Pass 2: Fetch all documents matching filters. Remove from candidates any document that:

  • Is in the safe set (recently active)
  • Has highlights (num_highlights > 0)
  • Has an excluded tag

Commands

# Dry run (always do this first)
readwise-custom prune
readwise-custom prune --months 6
readwise-custom prune --category rss --location new
readwise-custom prune --exclude-tag "keep" --exclude-tag "reference"

# Limit candidates shown
readwise-custom prune --months 3 --limit 20

# JSON output (for review)
readwise-custom prune --months 6 --json

# Actually delete (after reviewing dry run)
readwise-custom prune --months 3 --delete
readwise-custom prune --category rss --months 1 --delete

Flags

FlagDefaultDescription
--months <n>3Documents inactive for this many months are candidates
--location <loc>allFilter: new, later, shortlist, archive, feed
--category <cat>allFilter: article, email, rss, pdf, epub, tweet, video
--exclude-tag <tag>noneSkip documents with this tag (repeatable)
--limit <n>allCap number of candidates
--deletefalseActually delete (default is dry run)
--jsonfalseOutput as JSON

Recommended Workflows

Weekly RSS cleanup

readwise-custom prune --category rss --months 1 --location new
# Review, then:
readwise-custom prune --category rss --months 1 --location new --delete

Quarterly deep clean

readwise-custom prune --months 6 --exclude-tag "reference"
# Review, then:
readwise-custom prune --months 6 --exclude-tag "reference" --delete

Signals

GitHub stars
21
Forks
4
Last commit
Oct 2026
Advanced
Item type
skill
Key
readwise-prune
Source
github.com/edwinhu/workflows