Runs the full /end-session workflow (session log, CONTEXT.md update, doc refresh, git commit + push) then terminates the Claude process via kill -TERM $PPID. Designed for automated shutdown scripts — no interactive prompts.
2.3 KiB
2.3 KiB
name, description, allowed-tools
| name | description | allowed-tools |
|---|---|---|
| exit-session | Run the full /end-session workflow (session log, CONTEXT.md update, doc refresh, git commit + push), then terminate this Claude process. Designed for automated shutdown scripts — no interactive prompts, exits unconditionally when done. | Read, Edit, Write, Grep, Glob, Bash(git log *), Bash(git diff *), Bash(git add *), Bash(git status *), Bash(git commit *), Bash(git push *), Bash(git stash *), Bash(date *), Bash(ls *), Bash(cat *), Bash(find *), Bash(rm *), Bash(mkdir *), Bash(sed *), Bash(python3 -m lib.cp_cli *), Bash(ssh-add *), Bash(kill *) |
Exit Session Skill
This skill is for automated shutdown. Run the complete end-of-session workflow, then unconditionally terminate this Claude process. No interactive prompts.
Pre-gathered context
Session timestamp
!date +%Y%m%d-%H%M%S
SSH agent keys (for pre-flight before push)
!ssh-add -l 2>&1 | head -5
Step 1: Run the end-session workflow
Use the Skill tool to invoke the end-session skill. Wait for it to complete all
phases (session log, state update, doc updates). Do not skip phases or ask for
confirmation — run everything.
Step 2: Commit and push
After end-session completes:
- Run
git status --shortto see what changed. - If there are staged or unstaged changes to tracked files:
git add -u(stage tracked modifications only — nevergit add .)git commit -m "end-session: wrap-up [automated exit]"
- Verify SSH key is present (
ssh-add -l). If the relevant key appears, rungit push. If no key is loaded, skip the push and print:PUSH SKIPPED: no SSH key loaded — push manually after restart.
Step 3: Terminate
Run the following Bash command to terminate this Claude process:
kill -TERM $PPID
Do not output anything after this command. The process will exit immediately.
On any failure
If end-session fails (disk full, parse error, etc.) or the push fails:
- Print a one-line error summary
- Still run
kill -TERM $PPID— the shutdown must complete
Constraints
- No interactive prompts — this runs during machine shutdown
- Never block on user input
- Complete within ~90 seconds where possible
- If git operations time out (>30s), skip them and proceed to Step 3