About done
A session-closing skill that checks Git changes, cleans up eligible artifacts created during the session, and reviews unfinished work. It gives an evidence-based verdict on whether the session can be closed.
Key features
- 01Check Git status and unpushed commits
- 02Safely remove eligible session artifacts
- 03Review unfinished work
- 04Report whether the session can close
Use cases
- 01Checking repository changes before ending a session
- 02Removing unused worktrees or temporary branches
- 03Finding unfinished tasks before handoff
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ vtmocanu/ skills --skill doneAfter installing, type/donein Claude Code to confirm it loaded.
Details
From the project READMEDone
Document Location
This document is located at: ~/stuff/gitrepos/gh/vtmocanu/skills/skills/done/SKILL.md (public repo: github.com/vtmocanu/skills)
Note: This is the source of truth. The installed copy at
~/.claude/skills/done/SKILL.mdis derived from this file by thenpx skillspackage manager; edit here, then runnpx skills updateto re-pull it. Never edit the installed copy.
Are we done here? Can we close this session? Decide and tell me, after checking:
-
Git: run
git statusin the current repo and any other working directory we touched this session. Report uncommitted, unstaged, untracked, and unpushed changes (where an upstream exists,git log --oneline @{u}..). If everything is committed and pushed, say so in one line. -
Cleanup, without asking: remove git artifacts this session created that are no longer needed (worktrees, local branches, temporary refs, throwaway clones). Remove one only when all hold; otherwise leave it and report it:
- this session created it, still owns it, and nothing uses it: not handed to another session, not backing a running check or review;
- nothing in it is needed, ignored files included;
- its current tip is preserved: it equals a merged PR's final head, or every commit is on the remote according to freshly fetched state (stale or deleted tracking refs do not count). A squash merge counts only by the final-head match, never by ancestry. A tools or review tree counts as never holding work only while it still sits at the commit it was created on.
Never force a removal past git's own safety checks, except deleting a branch whose work the preservation test above has proven. Never touch the
mainworktree, stashes, remote branches, or anything another session or the user created. List what you removed. -
Outstanding work: review this session for anything unfinished: partial edits, failed or skipped steps, open TODOs, loose ends.
Then give me a plain verdict: can we close the session, or is there something left to do? Apart from that cleanup, do not commit, push, or change anything; report only.