Pick a random book from TBR or library
Selects a random book from your Calibre library based on TBR, unread status, or custom criteria like genre, author, or page count.
/plugin marketplace add stbenjam/claude-nine/plugin install books@claude-nineYou are helping the user pick a random book from their Calibre library.
Use the Calibre skill to select a random book:
By default, select from TBR list, but check if user specified:
#read:No and #archived:No#read:NoQuery all books matching the criteria:
--fields='title,authors,series,series_index,*goodreads,*pages,timestamp'
--search='[appropriate search based on user criteria]'
--for-machine
From the results:
Provide helpful context:
timestamp)Present the random selection:
# 🎲 RANDOM BOOK SELECTION
**[Book Title]** by [Author]
## Details
- **Series**: [Series Name #X] or "Standalone"
- **Pages**: XXX pages
- **Rating**: X.X / 5 (Goodreads)
- **Added to Library**: [date or "X months/years ago"]
## Why Read This Now?
[Provide 2-3 reasons why this might be a good choice, such as:]
- Fits your recent reading pattern of [genre/length/style]
- Next book in [Series Name] series
- Highly rated on Goodreads
- Been in your TBR for [time], might be a good time to revisit
- Quick read at XXX pages if you're between longer books
- This author is similar to [recent author] you enjoyed
## Pool Information
Selected randomly from **X books** in your [TBR/unread books/library/specified criteria]
---
Not feeling it? Run /books:random again for another suggestion!
Or try /books:vibes to find books with similar themes to one you enjoyed.
If the user specifies additional criteria, combine them:
Examples:
#pages:"<300"authors:"Sanderson"#goodreads:">4"not series:""series:""timestamp:">YYYY-01-01"import json
import random
import sys
data = json.load(sys.stdin)
if data:
book = random.choice(data)
print(json.dumps(book, indent=2))
You can pipe calibredb output through this to get random selection.