A skill for Claude Code that turns a book or film you just finished into a short note in your own words, after arguing with you about it.
If you have not used Claude Code before: it is Anthropic's assistant that runs in your terminal. A "skill" is just a folder with one Markdown file inside, containing instructions for a single job. You install it by copying the folder into place, and you start it by typing a slash command, here /digest. Nothing else to install, no dependencies, no API keys beyond whatever Claude Code already uses.
You finish a good book. Two weeks later someone asks about it and you produce a plot summary plus a vague sense that it was excellent. Whatever you actually thought is gone.
Asking an assistant to summarize the book does not fix this, because a summary is just more reading. This skill does the opposite. It refuses to tell you what the work means until you have said what you think it means. Then it argues with you, quoting moments from the actual text that make your reading look wrong. Then it writes down the position you ended up defending.
I built it because I read a lot and retain embarrassingly little. It has been more uncomfortable than expected, which I think is the point.
You get one question per message, always in the same order. The skill calls this the ladder, because you cannot skip a step and each question needs the one before it.
- Dump. What is still in your head, with the book closed? Scenes, lines, feelings, in any order. Half-remembered and wrong is fine.
- Claim. In one or two sentences, in your words: what is this work claiming about how life works? A plot summary does not count. It has to be something a reasonable person could argue with. Disliking the work is no obstacle, "this argues X and X is false" is a perfectly good claim.
- Grill. Where it pushes back. The skill has read the whole text and picked out the moments that sit worst with what you just said, and it quotes one at you and asks you to account for it. You defend your claim or you revise it. It does this twice.
- Connect. Name one other thing that runs on the same machinery, another work or something that happened to you, and then say in one sentence what the two actually share. Naming the second case is not enough. The shared structure has to be stated.
- Bite. Where does this claim touch your real life? A decision it would change, a situation it reframes.
Nothing counts until you have said it yourself. Repeating the assistant's phrasing back does not close a question. If you get stuck, it helps in three escalating ways: first it shrinks the question ("any moment you can still picture?"), then it quotes one specific scene and asks only about that scene, and finally it offers two or three candidate answers that genuinely disagree with each other and asks you to pick one and change it. That last move is deliberate. Choosing between real alternatives is still your position. Nodding along to a leading question is not.
If a question defeats all three of those, the skill gives up on it, moves on, and records it as unfinished rather than faking an answer.
One file per work, in a digests/ folder wherever you ran it:
# Work title
date · source file
## Stuck <- what you remembered unprompted
## Claim <- your final position, after revision
## Pressure <- the passage that resisted you, and how you handled it
## Schema <- the second case, and what the two share
## Bite <- the situation in your life, and what the claim says to do
## Open <- questions still live, and anything left unfinished
Short, quotable back to you, and meant to be reread months later.
Once you have more than one, every session opens by asking about the oldest note before touching the new work. Do you still believe what you claimed about that book? Your answer is appended there with a date. If your position changed, both versions stay in the file. Watching a reading shift over six months is the interesting part, so nothing gets overwritten.
git clone https://github.com/nkhokhla/digest
cp -r digest/digest ~/.claude/skills/digest
That makes it available everywhere. To keep it to one project, copy it to .claude/skills/digest inside that project instead.
Then go to whatever folder you want your notes to live in, start Claude Code, and type /digest.
Give it the full text if you can. Paste the book, or hand it the subtitle file for a film. It reads the whole thing before asking you anything, and that is what lets it find the passages that contradict you. Without a source it falls back on what it already knows about the work, which still runs, but the pushback is weaker and it can get details wrong.
The skill never triggers on its own. The disable-model-invocation: true line in the file means it only starts when you type /digest.
The sequence is not arbitrary, and the skill file carries its own citations at the bottom. In short:
Recalling something from memory beats rereading it, even for questions that test comprehension rather than recall (Karpicke and Blunt 2011). Practice testing is among the highest-utility study techniques measured, while summarizing and rereading rank near the bottom (Dunlosky et al. 2013). So the session opens with your memory, and the assistant's summary opens nothing.
Readers do not extract themes automatically while reading. Themes get constructed afterward, and different readers build different ones (McKoon and Ratcliff 1992). Question 2 is where that construction finally happens. Skip it and the moral was consumed, never built.
Being told a story's principle outright, or being asked only to summarize it, mostly fails to transfer to new situations. Comparing two cases and stating what they share is what produces a lesson you can actually use (Gick and Holyoak 1983). That is question 4, and the reason the assistant's own reading has to wait.
Attempting an answer and getting it wrong improves what you learn from the correction that follows (Kornell, Hays and Bjork 2009). Which is why every one of those stuck-scaffolds ends with your words before it ever ends with the assistant's.
It is one Markdown file. If a step annoys you, delete it. I removed a sixth step from my own copy after deciding it was not earning its place.