aspi6246/wrap-up
> End-of-session cleanup routine that captures all session work before context is lost. Use this skill when the user says "wrap up", "wrap-up", "let's wrap it up", "let's wrap up", "wind down", "end session", "that's it for today", "save and close", "let's call it", "close out", "done for today", or any indication they are finishing a work session and want everything documented before starting fresh.
npx skills add https://github.com/aspi6246/Claude-Code-Skills-for-Academics --skill wrap-up
When the user signals the end of a session, perform ALL of the following
steps silently. Do not ask questions, do not explain what you are doing,
do not narrate the process. Just do it.
When all steps are complete, respond with exactly:
"Wrap-up complete. See you in the next life."
Nothing else. No summary, no bullet points, no follow-up questions.
Create or append to a session log file at:
[project_root]/Code/_Claude Session Logs/YYYY-MM-DD.md
If multiple sessions occur on the same day, append to the existing file
with a horizontal rule separator and a timestamp.
Create the Code/_Claude Session Logs/ directory if it does not exist.
# Session Log — YYYY-MM-DD
**Session time:** [approximate start–end based on conversation context]
## What was done
- [Concrete accomplishments — be specific and verifiable]
- [e.g., "Wrote data cleaning script code/01_clean.R"]
- [e.g., "Ran baseline DiD specification, results in output/tables/"]
## Key decisions made
- [Design choices, methodology decisions, direction changes]
- [e.g., "Decided to cluster SEs at state level rather than firm level"]
## Problems encountered
- [Bugs, data issues, dead ends — anything worth knowing next time]
## Files created or modified
- `path/to/file1.R` — [brief description of change]
- `path/to/file2.tex` — [brief description of change]
- `path/to/new_file.R` — [created: purpose]
## Where we left off
- [Exact state of work — what was mid-progress, what's next]
To compile the files list, check the conversation history for any files
that were created, edited, or generated during this session. Include the
path relative to the project root and a brief note about what changed or
why the file was created.
Read the current CLAUDE.md in the project root. Determine whether
anything learned during this session should be added:
If there are meaningful updates, append them to the appropriate section
of CLAUDE.md. Do not rewrite existing content — only add genuinely
new information. If nothing new was learned, skip this step silently.
Do NOT add:
Read the current README.md (if it exists). Check whether the project's
folder structure has changed during this session:
If the structure has changed, update the folder tree in README.md to
reflect the current state. If README.md has no folder tree section,
add one. If nothing changed, skip this step silently.
Write any new knowledge worth preserving to the auto memory system.
Focus on information that would save time in a future session:
If nothing novel was learned, skip this step silently.
Read the current PINBOARD.md (if it exists — create it using the
pinboard skill format if it does not exist and there are items to add).
Review the session for any open tasks, unfinished work, or follow-ups
that were mentioned but not completed:
Add each item to the appropriate category in PINBOARD.md:
- [ ] [YYYY-MM-DD] Note text here
Auto-categorise into To-Do, Papers, Ideas, or Data Issues based on
content. If nothing is outstanding, skip this step silently.
Check the Git status of the project. If it is not a Git repository, or
there are no uncommitted changes, skip this step silently.
Otherwise, stage only files actually touched during this session —
never use git add . or git add -A. Orphan uncommitted changes from
prior sessions or external tools must be surfaced to the user, not
silently swept into the wrap-up commit.
Run git status --porcelain to list all modified, staged, and untracked
files.
Review the current session's tool-call history and collect every file
path actually written to disk via Edit, Write, NotebookEdit, or
Bash commands that create/modify files.
For each uncommitted file:
If any orphans exist, ask the user once:
> The following files have uncommitted changes but were not modified
> during this session: [list]. Include them in the wrap-up commit, or
> leave them for later?
Default to excluding orphans if the answer is ambiguous or absent.
Stage session-touched files (and any orphans the user explicitly
confirmed) by name:
git add -- "path/one" "path/two"
Do not use git add . or git add -A. If nothing remains to stage
after orphan exclusion, skip the commit silently.
Commit with the message: wrap-up: end of session YYYY-MM-DD.
Do NOT push — just commit locally.
If the commit fails for any reason (merge conflict, hooks, etc.), note
the failure in the session log under "Problems encountered" but do not
ask the user about it — just proceed with the wrap-up.
the session log..." — just do it.
An empty update is better than a noisy one.
PINBOARD.md, or memory, do not add it again.
documentation and project management files (plus the git commit).
Code/_Claude Session Logs/does not exist, create it. Do not ask.
Read before writing.
with exactly: "Wrap-up complete. See you in the next life."
Nothing before it. Nothing after it.
Take aspi6246/wrap-up from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.