---
description: Session-close ritual — review changes, commit, sweep affected docs/todos, and produce a handoff summary. Trigger on "wrap up", "close out this session", "wrap", end-of-session. Invoked by /os-shortcuts:wrap.
---

# wrap

The session-close ritual: review, commit, sweep docs, hand off. Run this near the end
of a working session so nothing from the session is lost — uncommitted work, stale
docs, or context the next session (or the user) needs.

## Flow

1. **Check the session's work.** Run `git status` and `git diff` (staged and
   unstaged) to see everything touched this session. If nothing changed, skip to
   step 4 and say so.

2. **Propose and make commit(s).**
   - Read the project's `CLAUDE.md` (if present) for commit conventions, and run
     `git log --oneline -10` to match the repo's actual message style.
   - Group changes into logically separate commits rather than one giant commit,
     unless the work is genuinely a single unit.
   - Follow this repo's own git-safety rules (never `--no-verify`, never force-push,
     new commits rather than amends, etc.) — these are standing rules, not
     session-specific.
   - Commit directly unless the project's own conventions require confirmation
     first (e.g. a CLAUDE.md instruction to ask before committing, or a commit that
     touches something sensitive/destructive). Default is to just commit.

3. **Sweep docs/todos affected by the session's work.** Look for anything the
   session's changes should have updated but may not have:
   - Build-plan checkmarks / step status (e.g. `docs/*/*-build-plan.md` style files).
   - Status/timeline docs (e.g. `docs/implementation-status.md`-style files) —
     add a timeline entry if the project keeps one.
   - `_Last updated:_` / status lines on any design doc actually touched this
     session.
   - Any TODO list or issue tracker the project uses, per its own conventions.
   Defer entirely to the project's `CLAUDE.md` for *which* files are the source of
   truth and *how* they should be updated — don't invent a doc-update convention a
   project doesn't already have. If the project has no such conventions, skip this
   step rather than fabricating structure.
   - If doc updates are substantive, fold them into a commit (step 2 pattern
     applies) rather than leaving them uncommitted.

4. **Produce a handoff summary as your final message.** Concise, three parts:
   - **Done** — what was completed and committed this session.
   - **In flight** — anything left uncommitted, half-finished, or deliberately
     deferred, and why.
   - **Next steps** — the concrete next action(s), especially anything that needs
     the user's decision.

## Notes

- This skill has no hooks — it only runs when explicitly invoked.
- Don't silently skip step 2 or step 3 because it feels like extra work: the whole
  point of `wrap` is to replace a manual ritual the user was doing by hand every
  session.
- If a repo has no discernible commit or doc-update conventions, use judgment and
  say so in the handoff rather than guessing silently.
