closeout
Skill5 starsChanged 10 days agoMITView on GitHub
Check whether this session is safe to close: unsaved work, running jobs, open PRs, unanswered questions, and steps still to run. Each open item names its fix, and closeout runs the fixes the user picks.
- Reads credentials
- Commits and pushes
11 other projects use a version of this.
Adopted by
Most recently taken up by
- chrislacey89/skillstheir own version, first seen Nov 4, 2026
- jaywedgeworth22/BotFleettheir own version, first seen Nov 3, 2026
- Simple-With-Us/BotFleettheir own version, first seen Nov 3, 2026
- Jorgut/skill-atlastheir own version, first seen Nov 1, 2026
- siarhei-belavus/agent-smitttheir own version, first seen Nov 1, 2026
- XBTDMT/xbt-skills-packtheir own version, first seen Oct 13, 2026
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- kriegcloud/beep-effect★ 78same name
- dannys-code-corner/incan★ 73same name
- HaipingShi/coderail★ 8same name
- chrislacey89/skills★ 4same name
- jaywedgeworth22/BotFleet★ 4same name
- siarhei-belavus/agent-smitt★ 4same name
- Simple-With-Us/BotFleet★ 4same name
- Jorgut/skill-atlas★ 2same name
- aylee/agent-os★ 0same name
- braincandy-parallel/tamarindos-workflow-kit★ 0same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository57 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architecture-satisfactionSkill
- autopilotSkill
- browser-testSkill
- chatter-scoutSkill
- codebase-designSkill
- code-reviewSkill
- code-smells-auditSkill
- commitSkill
- dependency-auditSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- fix-ci-failuresSkill
- fix-github-issuesSkill
- fix-nightwatch-issuesSkill
- fix-posthog-issuesSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- harness-toolsSkill
- housekeeperSkill
- implementSkill
- implement-specSkill
- improve-codebase-architectureSkill
- laravel-herd-worktreesSkill
- panelSkill
- prototypeSkill
- prSkill
- prune-testsSkill
- releaseSkill
- repository-cleanupSkill
- researchSkill
- resolve-review-commentsSkill
- resolving-merge-conflictsSkill
- retroSkill
- run-afterSkill
- scratch-cleanupSkill
- scratch-statusSkill
- setupSkill
- sweepSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triage-github-prSkill
- triageSkill
- ui-designSkill
- upgrade-planSkill
- verifySkill
- wait-whatSkill
- wayfinderSkill
- which-skillSkill
- wizardSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 11 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 46
When follow-ups exist and the next session needs this one's context, also name /handoff.
“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Closeout
Answer "can I close this session?" with one verdict and the items behind it. This skill reports, then asks: steps 1–4 change nothing. Each item ends with the command or skill that clears it, and step 5 runs only the fixes the user picks.
Scope is this session. An item counts only when this conversation created, edited, started, opened, or asked it. Older branches, worktrees, PRs, and stashes stay out of the report, even when a command below prints them. When the conversation was compacted (an earlier part replaced by a summary), items from before the summary may be missing: say so in the report.
1. Inventory the session
From the conversation, write down:
- Files created, edited, or deleted, grouped by the checkout or worktree they sit in.
- Branches and worktrees created, and PRs opened or pushed to (number and repo).
- Jobs started: background Bash tasks, subagents (any dispatch in harness-tools),
Monitors,CronCreatejobs,ScheduleWakeuploops, dev servers, watchers, queue workers. - Questions you asked the user, and every grill ledger branch still
openordeferred. - Asks: each thing the user asked this session to do.
- Deploy facts: migrations, new env keys (
.env.example), new scheduled commands or queued jobs, config or cache changes, and any "after merge" or "after deploy" step said in the conversation.
Done when every checkout, branch, PR, job, question, ask, and deploy fact from the session is on the list. An empty inventory is a Clean verdict, unless the conversation was compacted: skip to step 4.
2. Check for blockers
A blocker is an item that loses work or stops a job if the session closes now.
- Git state: run
scripts/git-state.sh<path> …once, with every checkout and worktree from step 1. In itschanges, count only the files on your list, plus anything under.claude/agent-memory/; another session's files are not yours, the same rulecommitfollows. Uncommitted files →/commit. On a branch this session committed to,unpushedabove 0, or null (nothing to compare against) →git push, orgit push -u origin <branch>whenupstreamis null.upstream_gonetrue means the remote branch was deleted, most often by a merge: check its PR, and a merged one is a/repository-cleanupfollow-up, not a push. A non-nulloperation→/resolving-merge-conflicts, or the--continue/--abortthat finishes it. - Running jobs: every background task or subagent with no completion notification yet → wait for it, or stop it (per harness-tools). For a cron job or wakeup loop this session made, confirm it still exists (
CronListin Claude Code; a harness without cron tools leaves it not checked) →CronDelete, or keep it on purpose. For a dev server or watcher, confirm it is still alive (lsof -iTCP:<port> -sTCP:LISTEN, orps -p <pid>) → stop it, or keep it on purpose. A job you cannot check in this harness is not checked, not finished.
Done when every git path and every job from step 1 is cleared, listed as a blocker, or kept on purpose. A job kept on purpose is a follow-up that names how to stop it.
3. Check for follow-ups
A follow-up is an item that waits, but closing loses nothing.
- PRs: from inside each repo, run
scripts/pr-state.sh<number> …with the session's PRs. List each open PR with what it waits on. A PR witherror, orthreads_opennull, is not checked for what it lacks.checks_failed→/fix-ci-failures.threads_openabove 0 →/resolve-review-comments.reviewCHANGES_REQUESTEDwith no open threads →/triage-github-pr, which treats the review as a gate. Review still required, with green checks → waiting for a reviewer, or/triage-github-prto drive it to merge. A merged PR whose session branch or worktree still exists →/repository-cleanup. - Unanswered questions: each question from step 1 that the user did not answer, quoted in a few words. An open grill branch →
/grill-meon that branch. - Unmet asks: each ask from step 1 that the session did not finish, or said it would do later.
- Untested edits: code edited after the last passing test run → run the tests. A behavior change never seen in the running app →
/verify. - Post-merge and post-deploy steps: each deploy fact from step 1, plus each PR's
merge_danger, written as the step to run and when (for example "after deploy:php artisan migrate") → start the deploy or merge, then/run-after. A delivery ticket this session left atready-for-human→ after deploy,/implement <delivery ticket>. - Open
.scratch/work this session touched →/scratch-status.
When follow-ups exist and the next session needs this one's context, also name /handoff.
Done when every PR, question, ask, edit, and deploy fact from step 1 is cleared or listed.
4. Report
Print exactly this shape. Each item is one line that ends with its fix.
<verdict>
Blockers
- <item> → <fix>
Follow-ups
- <item> → <fix>
Not checked
- <check> (<reason>)The verdict is one line:
❌ Not safe to close: one or more blockers.⚠️ Safe to close, with follow-ups: no blockers, and one or more follow-ups or not-checked items.✅ Clean, safe to close: nothing open and nothing not checked.
Leave out an empty section. Not checked lists each check that could not run (gh not logged in, not a git repo, a tool this harness lacks, a compacted conversation), so a skipped check never reads as passed. Use only the three verdict marks, on the verdict line.
5. Offer the fixes
A runnable item is one whose fix can run in this session now: a commit, a push, stopping a job, a skill such as /resolve-review-comments, /grill-me, or /handoff. A PR waiting on a reviewer, a not-checked item, and a post-merge or post-deploy step are not runnable; they stay in the report only. With no runnable item, stop after the report.
Ask which fixes to run (a structured question (harness-tools): multiSelect: true, one option per runnable item labelled with the item and its fix, blockers first, nothing pre-ticked, at most 4 per question and further questions in the same call for the rest; otherwise a numbered list in chat, picked by number). The pick is the user's approval for those fixes and no others. Nothing picked → stop.
Run the picked fixes in dependency order (commit before push, push before a PR fix), quick fixes before interactive skills. A picked skill keeps its own confirmations. When a fix fails, stop: skip every fix that depends on it and report the failure with its output.
Then run steps 2 and 3 again on the same inventory, print a fresh report, and repeat this step. Done when the verdict is clean, nothing runnable is left, or the user picks nothing.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

