Wrap up (/wrap-up)
Last thing before ending a session. Write a lean handoff in this project's handoffs/. Save standing memory to the existing Engram MCP so other agents can mem_search it. Then stop.
Hard gates
- Header matches this git root. Never a different repo's name.
- Do not auto-ship / deploy /
/safe-ship. Wrap-up documents; it does not go live. - Engram: save standing memory. After the handoff is written, call
mem_save(scopeproject, stabletopic_key) for binding decisions / architecture / preferences / the work just finished, thenmem_session_summary. Mid-task chatter stays out. If the Engram namespace iserroror has no tools, printEngram: unavailable— do not invent a save. - Do not
git pull, merge, or switch branches. - Do not invent anti-pattern IDs. Do not assume
~/.claude/anti-patterns.mdexists here. - Do not auto-archive this repo's dated notes unless it already uses
handoffs/_archived/andhandoff_*.mdnames. Repos that keepYYYY-MM-DD_*.mdas history (sharp-oracle) keep them.
1. Detect convention
Look at existing handoffs/:
| What you see | New filename |
|---|---|
YYYY-MM-DD_*.md |
handoffs/YYYY-MM-DD_<short-kebab>.md (today's date, one-line topic) |
handoff_*.md |
handoffs/handoff_YYYY-MM-DD_HHMM.md |
| neither | handoffs/YYYY-MM-DD_wrap-up.md |
Create handoffs/ if missing.
2. Gather facts
From this repo only: branch, HEAD short + subject, version if present, git status --short, commits on this branch since it diverged from its upstream (or last 12 hours if no upstream).
3. Write
Match this repo's existing handoff shape if one is sitting there. If none, use:
# Handoff YYYY-MM-DD — <short title>
HEAD: <sha> Version: <version or "n/a">
## Shipped
- [real bullets, files + outcome]
## State
[where things stand. Learning / topics / todo / branches if this repo uses those lines]
## Next
1. [...]
2. [...]
3. [...]
Every section is real sentences. No placeholders, no "N/A" unless it is truly not applicable.
4. Engram (existing MCP)
Use the Engram plugin tools already on the agent (mem_save, mem_session_summary). Do not add a second memory product.
mem_save— one observation per standing fact (decision / architecture / preference / bugfix). Reusetopic_keywhen the topic evolved.mem_session_summary— Goal, Instructions, Discoveries, Accomplished, Next Steps, Relevant Files.
Cloud VMs only share that write with the iMac / other agents when the account plugin wrapper has hydrated ~/.engram/cloud.json (R2 prompt-betting-engram/client.json) and exported ENGRAM_CLOUD_AUTOSYNC=1. If hydrate skipped because Cloudflare creds are missing, still save locally and say the store is not replicated.
5. Commit (do not ship)
git add handoffs/<the-new-file>
git commit -m "handoff: YYYY-MM-DD — <one-line summary>"
Push the current branch if this session already pushes to origin. Do not open a PR unless the session already uses PRs for this branch.
Uncommitted other work: leave it uncommitted unless it was already meant to land; mention it under State.
6. Output
WRAP-UP
=======
File: handoffs/<file>
HEAD: <sha>
Pushed: yes|no
Engram: <topic_key list> | unavailable | saved-local-only (no cloud autosync)
Next agent: /get-ready