Claude forgets everything between sessions. Compact summaries preserve facts, but lose voice — the next Claude knows what happened but not how it felt . session-letter fixes this with a simple idea: at the end of each session, Claude writes a letter to its future self. Not a summary. Not a structured report. A letter — with voice, context, and the things that matter but don’‘‘t fit in lessons.md . At the start of the next session, a SessionStart hook reads the last letter and injects it into context. Claude arrives oriented to the work, not reconstructing it. The concrete difference: After one session we had this in the letter: “The bug was elegant in its stupidity — asks[0] returns the worst ask, not the best. CLOB orderbook is reverse sorted. One character: [0] → [-1].” The changelog said: “Fixed orderbook indexing bug.” Next session, Claude referenced the orderbook sorting behavior unprompted when a similar issue appeared in a different file. That doesn’’‘t happen from a changelog. It happens from context. Three components: SKILL.md — the /session-letter skill hooks/session-start.sh — injects last letter at session start hooks/pre-compact.sh — checks if today’''s letter is written, reminds if not GitHub: https://github.com/catcam/session-letter Also submitted to superpowers-marketplace if you use that. submitted by /u/niksa232
Originally posted by u/niksa232 on r/ClaudeCode
