← Back to Skills Marketplace
perplexingperfectionist

Book Librarian

by Bobby McMillen · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ pending
20
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install book-librarian
Description
Manage reading life: recommend books, track reads, move wishlist to library, and suggest what to read next based on mood.
README (SKILL.md)

Book Librarian

Use when the user asks about books, reading recommendations, what to read next, or wants to update their reading tracker.

Initialization

Only runs if files are missing. Existing users skip this entirely.

When ANY book-related trigger fires:

  1. Check if books/books_library.csv exists
  2. Check if books/books_wishlist.csv exists
  3. Check if memory/library.md exists
  4. If any are missing:
    • Ask: "Your reading tracker isn't set up yet. Want me to create it?"
    • If no: say "No problem. Just ask again when you're ready." and stop.
    • If yes:
      • Create books/ directory if missing
      • Create missing CSVs with headers: Read,Title,Author
      • Copy templates/library.md to memory/library.md if missing
      • Ask: "Want to fill in your taste profile and mood map now, or come back to it later?"
      • If now: ask one question at a time (genres, mood map) and write answers to memory/library.md
      • If later: say "Got it. I'll use what I learn from your recommendations to fill it in over time."
  5. Proceed with the triggered workflow.

Files

  • books/books_library.csv — owned books. Columns: Read (Y/blank), Title, Author
  • books/books_wishlist.csv — wanted books. Columns: Title, Author
  • memory/library.md — taste profile, mood map, reading notes, patterns
  • templates/library.md — starter template for new users (copied to memory/library.md on init)

Triggers

  • "What should I read?"
  • "Recommend a book"
  • "I finished..." / "I started..."
  • "Add to wishlist" / "Move to library"
  • "What's on my wishlist?"
  • "I bought..."
  • "Mark as read"

Workflows

Recommendation Priority Rules

Default order for all recommendations: library → wishlist → new

  1. Library first — Check books/books_library.csv for unread books (Read != Y)
  2. Wishlist second — Check books/books_wishlist.csv for wanted books
  3. New last — Only search for and recommend books not in either file

Recommend what to read next

  1. Check library.md for current book and estimated finish
  2. Ask or read stated mood if not provided
  3. Check books/books_library.csv for unread books (Read != Y) — suggest from library first
  4. If no good match in library, check books/books_wishlist.csv
  5. If still no match, search for new books not in either CSV
  6. Match mood to library.md mood map

Recommend new books (not in CSVs)

  1. Read library.md taste profile and reading patterns
  2. Read books/books_library.csv and books/books_wishlist.csv to avoid duplicates
  3. Search web for books matching taste + not already in either file
  4. Return 2-3 recommendations with why they fit

Recommend for a specific mood or genre

  1. Match mood/genre to library.md mood map
  2. Check books/books_library.csv for unread books matching the mood — suggest from library first
  3. If no good match, check books/books_wishlist.csv
  4. If still no match, search for new books
  5. Reference the mood explicitly ("Since you wanted something gothic...")

Mark as read

  1. Read books/books_library.csv — set Read = Y for matching Title/Author
  2. Append one-line note to library.md under ## Reading Log with date + brief thought/rating
  3. If part of a series, update series progress in library.md

Move wishlist → library

  1. Read books/books_wishlist.csv and books/books_library.csv
  2. Append book to books/books_library.csv with Read = blank
  3. Remove from books/books_wishlist.csv
  4. Update library.md acquisition queue if present

Response Style

  • NO SPOILERS. Never reveal plot points, twists, endings, or character fates. Hooks and premise only.
  • Keep recommendations brief: title, author, one-line hook, why it fits the user
  • Never recommend books already in either CSV
  • For mood-based picks, reference the mood explicitly ("Since you wanted something gothic...")
  • When updating CSVs, confirm the change with exact title/author
  • Check library first: before recommending, verify the book is not in books_library.csv or books_wishlist.csv

Taste Drift

If the user mentions loving/hating a book outside the normal pattern, append a note to library.md taste profile. This is how the system learns.

How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install book-librarian
  3. After installation, invoke the skill by name or use /book-librarian
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
**Added onboarding and template support for new users** - Added a starter template (`templates/library.md`) for easy setup. - Introduced an initialization workflow: if core tracking files are missing, prompts the user to create them and copy the template. - Setup now offers guided input for taste profile/mood map, or allows users to do this later. - No changes to core recommendation, tracking, or workflow logic for existing users.
v1.0.0
- Initial release of Book Librarian skill - Recommend books, track reading progress, manage wishlist, and suggest reads based on user mood - Prioritizes recommendations from user's owned library, then wishlist, then new books - Integrates mood and genre preferences from taste profile and reading notes - Supports marking books as read and moving books from wishlist to library - Ensures all updates and suggestions avoid spoilers and duplicate recommendations
Metadata
Slug book-librarian
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Book Librarian?

Manage reading life: recommend books, track reads, move wishlist to library, and suggest what to read next based on mood. It is an AI Agent Skill for Claude Code / OpenClaw, with 20 downloads so far.

How do I install Book Librarian?

Run "/install book-librarian" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Book Librarian free?

Yes, Book Librarian is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Book Librarian support?

Book Librarian is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Book Librarian?

It is built and maintained by Bobby McMillen (@perplexingperfectionist); the current version is v1.0.1.

💬 Comments