What problem does it solve? Retiring a finished feature branch involves several error-prone git steps — merging into the base branch, creating a completion tag, and deleting the branch — and doing them by hand risks losing commits, skipping the tag, or deleting an unmerged branch. This Skill wraps that entire sequence in one deterministic, idempotent script invocation. ## Core Features & Use Cases - Safe branch integration: Fast-forwards into the configured base branch when possible, falling back to git merge --no-ff only when the base has diverged, never squashing or rebasing. - Mandatory completion tagging: Creates the annotated complete/<spec-id> tag as the completion anchor, independent of merge topology. - Conflict-safe abort: On a merge conflict it aborts the merge, leaves the feature branch fully intact, and surfaces the error — never auto-resolving or force-deleting. - Idempotent re-runs: Detects an already-completed cleanup (branch gone, tag present) and exits as a no-op. - Use Case: After a spec-driven feature passes its final testing phase, run /speckit-git-cleanup to merge the feature branch into main, tag it complete/002-speckit-ext-git, and delete the branch in one verified step. ## Quick Start Run the /speckit-git-cleanup command, optionally passing a feature branch name, to merge the finished feature into the base branch, create the completion tag, and delete the branch.