session-handofflisted
Install: claude install-skill pragmatic-engineer/playbook
# Session Handoff
## When to Use
Invoke at the end of a working session, before `/clear`, before context compaction, or any time the user asks to "wrap up" or "summarize for next time". The output is written for a reader who has not seen this conversation: a future Claude session, a teammate, or the user themselves a week from now.
## What to Produce
A single document with four sections in this exact order. Skip a section that has nothing real to put in it; do not pad.
### 1. Where we are now
Observable facts only. No interpretation, no narration.
- Branch, current commit (short SHA + subject), working tree state (clean or dirty file list)
- Pipeline status: lint / typecheck / test counts / build (one line each, last-known result)
- Anything running in the background, any process the user needs to know is live
- Last verified behavior (e.g. "binary builds at 0.2.0-dev, prints version cleanly")
If the session did not touch a repo, replace this with the equivalent "current state" facts for the work that was happening.
### 2. Decisions made and WHY
The choices that survived this session and the reason each one was made. One line per decision. The WHY is mandatory: a decision without its reason rots into folklore.
Rules:
- Capture the chosen path, not the alternatives explored. Future readers do not need the deliberation; they need the chosen path and the reasoning so they can revisit it later if the assumption breaks.
- If a decision was forced by an external constrai