You ask Claude Code to get a release out and come back a couple of hours later. At the start it opened the project's release checklist, a skill you wrote so the steps happen in order. In the meantime the conversation grew too long, Claude Code replaced it with a summary, and the agent is now about to take its next step.
The summary still names the job and the files. Does it still hold the checklist?
So we read the summaries from our own long sessions.
What made it across
We read 42 summaries from 15 of our own long sessions. They were good at some things. They kept the messages people had typed, often word for word, typos included. They kept the file paths, the errors and how they were fixed, and the tasks still to do.
They were bad at one thing in particular: the step-by-step instructions the agent had loaded from skills. When we searched each summary for distinctive phrases from the skills loaded before it, about one phrase in 700 turned up. In three of every four cases, not a single phrase from the skill appeared. When a skill had been loaded, its name showed up in the next summary in about one case in five.
That doesn't mean every trace of the skill was gone. A summary can restate a rule in other words, which our word-for-word search can't see, and Claude Code adds some loaded skills back after a summary, outside it. In our sample it added some and left out others. Either way, the summary itself was not a reliable place to keep a checklist.
A note that skips the summary
So we stopped asking the summary to carry what matters. Before the summary happens, the agent writes a short checkpoint file, and when the new context starts, a hook puts that file back in word for word, up to 6,000 characters (about a thousand words). It has six parts:
## MISSION the ask, as close to verbatim as fits
## STATE each item done, in flight or not started, with its evidence
## NEXT one action: the file, the command, the expected result
## SKILLS the skills this work depends on, to reload before using them
## RULES constraints already settled this session
## TRAPS facts learned the hard way, so nobody learns them twice
NEXT carries the most weight. It names one action exactly: "run the specs in spec/billing/ and expect zero failures", not "continue the refactor". SKILLS names the skills the agent should reload before relying on their checklists, instead of trusting the summary to remember them.
If the agent hasn't written a fresh checkpoint when an automatic summary is due, a hook holds the summary once and asks for one. The same hook also writes a basic fallback from the session record: the skills the agent invoked, file paths found in tool calls, up to three clipped messages from you, and the latest assistant text it can extract, if any. The fallback is the floor, not the plan.
Waypoints: size the work to fit
A checkpoint is easiest to write when the plan was built for it. We call each plan step a waypoint and size it to finish within one context window: one goal, the files it touches, and the check that proves it. (Our public demo project is also called Waypoints; here the word just means a step in a plan.)
The reasoning is simple, though we haven't measured it: when the summary lands between two waypoints, NEXT is just the next step in the plan. When it lands halfway through an oversized step, NEXT has to describe a half-finished edit, which is the hardest thing to write down well. So "move billing to the new payment provider" becomes three waypoints: add the new client with its tests, switch invoices over and run the billing specs, then remove the old client and confirm the full test suite still passes.
Try this today
Partway through your next long task, ask the agent: "Write down, in five lines, the goal, what is done, the exact next action, the skills you are using and any rule we have settled." Then type /compact, and ask: "What is the next action?" Compare the answer with what it wrote. If they differ, look at what the summary kept.
Step 6 of the lesson uses the checkpoint skill and hooks from the engram agent kit (v0.2.0, commit 96594873, installed in step 5) and runs the same test with a proper checkpoint.
A summary can keep the job and still lose the checklist.
- your messages
- file paths
- errors and fixes
- pending tasks
- skill steps
- checklists
- command syntax
- MISSION
- STATE
- NEXT
- SKILLS
- RULES
- TRAPS
How we tested it
- The study: August 1, 2026. Every Claude Code session of ours that contained a summary at the time: 15 sessions with 42 summaries, from Claude Code 2.1.209 through 2.1.220.
- What we measured: 28 cases where an agent loaded a skill's full text before a summary. We split each skill into five-word phrases, kept the distinctive ones, and searched the summary for each, word for word. 39 of 28,085 phrases turned up (0.14%). 21 of the 28 skill loads had no match at all (75%). The skill's name appeared in 5 of 28 (18%).
- Limits: one team, whose skills share a lot of vocabulary; Claude Code only, so we can't say how Codex summaries behave; word-for-word matching misses paraphrase; and later Claude Code versions may summarize differently. Full counts: the evidence note.
- The checkpoint: the 6,000-character limit and the restore hook are in engram agent kit v0.2.0's code and checkpoint skill; we checked the code, and this post does not report a measured before-and-after for checkpoints. Sizing waypoints to one context window is our working rule, not a measured result.
Next in the series: Your agent called a method that doesn't exist. When should it find out?