About wrap
wrap is an agent skill for ending a session by invoking /reflect, cleaning eligible worktrees, and preparing the user to run /clear. It distinguishes merged work from unmerged work and reports cleanup results.
Key features
- 01Invoke /reflect before cleanup
- 02Remove merged .worktrees entries
- 03Keep unmerged worktrees and warn
- 04Handle .branch-context.md conditionally
- 05Report cleanup and prompt for /clear
Use cases
- 01Finish a coding session and consolidate learnings
- 02Remove merged session worktrees safely
- 03Prepare a session for the user to clear
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ camacho/ ai-skills --skill wrapAfter installing, type/wrapin Claude Code to confirm it loaded.
Details
From the project READMEWrap
Session wrap-up: reflect, clean worktrees, prepare for /clear.
1. Reflect
Invoke /reflect via the Skill tool. Wait for it to complete before proceeding.
Do NOT inline reflect logic — invoke the skill. It handles MEMORY.md, Basic Memory vault, GitHub issues, plan finalization, and .last-reflect-ts.
2. Session Cleanup
After reflect completes, clean up session worktrees:
REPO_ROOT="$(git rev-parse --show-toplevel)"
git -C "$REPO_ROOT" worktree list
For each entry under .worktrees/ (never the main worktree):
REPO_ROOT="$(git rev-parse --show-toplevel)"
BRANCH=$(git -C <worktree-path> rev-parse --abbrev-ref HEAD)
git -C "$REPO_ROOT" branch --merged main | grep -q "$BRANCH" && MERGED=true || MERGED=false
- Merged:
git -C "$REPO_ROOT" worktree remove <path>+git -C "$REPO_ROOT" branch -d "$BRANCH" - Not merged: warn with branch name, do not delete
.branch-context.md: If it exists at "$REPO_ROOT/.branch-context.md" and reflect confirmed learnings were consolidated, delete it. If reflect skipped it or reported no learnings, leave it and warn: ".branch-context.md may contain unreflected learnings."
Report:
Session cleanup:
Removed: .worktrees/feat-foo (branch feat/foo, merged)
Kept: .worktrees/feat-baz (branch feat/baz, NOT merged)
Cleaned: .branch-context.md (learnings consolidated)
3. Prompt /clear
Session wrapped. Type
/clearwhen ready.
Do NOT invoke /clear — it is a built-in command only the user can type. After /clear, the SessionStart hook injects catchup instructions automatically.
Common Mistakes
| Mistake | Fix |
|---|---|
| Inlining reflect logic | Invoke /reflect via Skill tool |
| Removing unmerged worktrees | Warn only — never delete unmerged work |
| Invoking /clear directly | Tell user to type it — /clear is a built-in |
| Cleaning main worktree | Only clean .worktrees/* entries |
| Skipping cleanup report | Always report what was cleaned/kept |