← ClaudeAtlas

closeoutlisted

Primary pipeline tail step after /pre-merge, when a reviewed PR is ready to land and you want the workspace back to a clean base. Use to merge, switch off the worktree before removing it, prune the merged branch, pull base, and verify a clean end state. Triggers on 'close out', 'merge and clean up', 'get back to a clean main/base', 'tear down the worktree'. Not for capturing lessons (that's /compound) or closing PRD/slice issues and research-artifact hygiene (that's the cleanup prose in SYSTEM-OVERVIEW Step 9).
chrislacey89/skills · ★ 2 · AI & Automation · score 71
Install: claude install-skill chrislacey89/skills
# Closeout Take a reviewed PR and return the workspace to a clean base — merge, switch the shell off the worktree before removing it, prune the merged branch, pull base, and verify the end state. This is the pipeline's tail: the most-repeated motion ("I'm done, merge it and get me back to a clean main") moved out of the user's head and into a skill. ## Why This Exists `/execute` Step 0 *creates* a worktree for every slice; until this skill existed, nothing *removed* one. Worktrees are a stock with an inflow and no outflow, so the stock rises without bound (Meadows, *Thinking in Systems* — the structural escape for an inflow-without-outflow stock is to *add the missing feedback loop*, not to exhort harder). The merge → teardown → pull sequence lived only in the user's memory, and "prospective memory fails silently" (Norman, *The Design of Everyday Things* — move the knowledge from the head into the world). The ordering is genuinely error-prone: removing a worktree while the shell's cwd is still *inside* it strands the shell on a trashed directory, and a `node_modules`-dependent Stop hook firing from there emits a wall of false `MODULE_NOT_FOUND` "lint/type errors" that read like a real regression. The cd-to-base-before-remove ordering in Step 4 is the load-bearing fix for exactly that slip. This skill *orchestrates existing tools* (`gh pr merge`, `wt remove` / `git worktree remove`, `commit-commands:clean_gone`). It introduces no filesystem state. It verifies the **outcome