What it is
The Book Club skill turns Claude into a well-read companion that remembers what you've read. It does four things:
- Recommends books from your history, mood, and live award sources.
- Discusses them โ spoiler-free while you read, in depth once you finish, plus "deep dive" and "blow my mind" modes.
- Logs books, articles, and discussions to memory.
- Maintains a Reading Log page (
index.html) โ a filterable, offline, single-file web page โ and keeps it in sync with memory automatically.
It works across Claude Chat, Claude Cowork, and Claude Code, in English, French, and Spanish.
Install it
The skill lives in the claude-skills repo as skills/book-club/, a folder
containing SKILL.md. How you add it depends on where you use Claude:
Claude Chat / a Project
Open SKILL.md, copy its full contents, and paste them into your Project's
custom instructions โ or add the file to the Project's
knowledge. Every chat in that Project then follows the book-club
workflow.
Claude Code
Copy the book-club folder into .claude/skills/ (or
~/.claude/skills/ for every project) and it installs as the
/book-club slash command. It also triggers naturally on requests like
"what should I read".
Everything the skill needs is inside one file, SKILL.md, including the full build
specification for the Reading Log page. It never reaches out to GitHub or the web to fetch
your log; the only sources are your memory and the page in the current conversation.
Set up & start logging
-
Make a Project (recommended)
In Claude, create a Project called "Book Club" or "Reading Log." A Project has its own memory, so your reading history accumulates in one place and stays out of unrelated chats. (A plain chat works too โ a Project just gives memory a durable home.)
-
Add the skill
Use the install step above for your environment.
-
Create the Reading Log
Say "create my reading log" and the skill builds an empty
index.htmllog for you โ no build prompt to paste. (If you skip this, it auto-creates the log the first time you log something.) -
Log what you read
Tell the book club in plain language. Each entry is saved to memory and written into the log page in the same turn, then re-presented.
Everyday use
Just talk to it โ these are the cues it listens for:
| Say this | What happens |
|---|---|
I finished [title] | Logs a finished book and adds it to the Reading Log. |
log some books | Bulk-add past reads; confirms each before saving. |
summarize this article: [url] | Reads the article, condenses it, logs it as an article entry. |
log our discussion | Saves the thread you've had as a discussion entry. |
what should I read? | 2โ3 picks tailored to your history and mood. |
book deep dive [title] | Structured analysis: themes โ craft โ context โ legacy. |
book blow my mind [title] | The least obvious reading most people miss. |
create my reading log | Builds (or rebuilds) the Reading Log page. |
book club, tell me about yourself | The full guide and main menu. |
Verbosity and lookups are adjustable any time: book compact,
book full, book no sources, book sources on.
How your reading log stays current
Memory is the durable record; the page is its visible view. When you confirm an entry the skill:
- Writes it to memory using a structured schema.
- Appends a matching object to the page's data โ resolving an Open Library link for books and discussions, or the source URL for articles, and tagging themes and disciplines.
- Bumps the "Last updated" date, verifies the page still parses, and re-presents it.
Because every field lives in memory, the page can always be rebuilt from scratch. If the file is ever lost or you start a fresh chat, the skill regenerates it from memory โ it does not download a previous copy from anywhere.
Publish & share
The Reading Log opens as an artifact โ a self-contained page beside the chat. On Free, Pro, and Max plans you can Publish it to a public link anyone can open (filters, search, and dark mode all work without a Claude account).
A published page is a frozen snapshot: log more books later and the
artifact in your chat updates, but the published link keeps the old version until you publish
again. For one stable address you update in place, host the index.html on
GitHub Pages and replace the file when you refresh.
How this was made
The full build narrative, the QA passes, and copy-paste prompts to recreate the whole workflow (the Reading Log page and the skill) live in the companion document: