Installs into .claude/skills of the current project.
Are you the author of Session Finish?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/niksavis-session-finish)
---
name: session-finish
description: Summarizes what changed and what is still open. Use to wrap up a session or run a retro. Write only new recovery facts.
---
<!-- Generated by `basicly skills-build` from skill.yaml. Do not edit; edit the source. -->
# Session Finish
Finish landed work with current tracker facts, necessary recovery state and a clean repository. Usage reports and retrospectives are conditional, not phases that require new agents or commits. Use `work-tracker` for history and record closure and `conventional-commits` for commits. Use `harness-loop` only for explicitly loop-managed work.
## Rules
- **Keep recovery facts in the existing ledger.** Start with `basicly tracker show <id> --view current`. It preserves current fields, clarifications and latest attributed handoffs. Retrieve omitted history with `--view history --snapshot <snapshot_identity>` for unresolved or conflicting facts. The view is recovery guidance, not a complete contract.
- **Write only new recovery facts.** Preserve decisions, changed assumptions, uncertainty, blockers, evidence references, owned process handles and the next action when they cannot be derived. Mark these notes with `[new facts]` immediately after the handover marker so the current view retains each addition. Do not repeat current card fields, Git history or unchanged handoffs on routine transitions.
- **Verify a recorded process handle before replacing it.** A polling timeout is not proof that a process stopped. Resume or inspect the same handle through its owning host or tool; do not launch a duplicate. A PID is local to its host and process namespace. If that owner cannot be reached, report the process state as unknown instead of stopped.
- **Stop task-owned temporary processes before handover.** Preserve services the user explicitly asked to keep running; record their URLs and ownership. Never stop another session's process.
- **Keep every durable artifact in the repository.** The host cleans the scratchpad without warning.
- **Write scratch files to a subdirectory unique to your lane.** A concurrent lane can overwrite a file at a shared path.
- **Apply a retro fix within the approved scope.** Record other recommendations for approval; do not ask again for work the owner already authorized.
- **Never invent a retro finding.** When nothing concrete happened, skip the retro and say so.
- **Never reset or delete the usage counters.** They accumulate across sessions.
- **In a long run, report the elapsed time, the tokens spent where the host shows them, and the items left.** Report at each milestone, not only at the end.
## 1. Usage statistics
Use usage data only when it answers the current question. For the report commands and how to read them, read [usage reports](references/usage-reports.md).
## 2. Retro
- Run it after a refused change or a corrected mistake whose cause remains unresolved. Reuse an existing diagnosis and fix; do not repeat the investigation for the handover.
- Propose the exact fragment, skill or hook change that would have refused it.
- Record an environment, timing or platform trap as one bullet in a quirks fragment: the trap and the avoidance.
## 3. Clean handoff
Before closing the session, read [clean handoff](references/clean-handoff.md) for tree cleanup, record closure, process ownership and the root handover note.