Development Branch Finisher
Safely close completed development work after tests pass, with guided merge, PR, retention, or discard choices.
The skill requires test verification, presents explicit user choices for merge, push, keep, or discard, requires typing discard before deletion, and checks worktree provenance before cleanup. Points are deducted because push, pull, merge, and force-delete still create external or irreversible effects without detailed per-action confirmation, rollback guidance, sensitive-data handling, or recovery procedures for failed commands.
The sequence is coherent and covers test gating, environment detection, branch selection, and conditional cleanup. Points are deducted because the test command is written as an ambiguous slash-separated list rather than a project-detection procedure, and failure handling for missing branches, unavailable remotes, conflicts, permissions, and cleanup errors is thin. Static calibration caps this at 10.
The target scenario is clear: decide how to complete a development branch after implementation and passing tests; normal repositories, named worktrees, and detached HEAD receive different menus. Points are deducted because boundaries for non-Git projects, projects without tests, unusual branch layouts, missing remotes, and different agent hosts are under-specified, with no Chinese-language or mainland-China environment guidance.
The document uses layered sections, option tables, a quick reference, common mistakes, and red flags; naming and menus are stable, while repository context supplies an MIT license and version. Points are deducted because the selected skill lacks its own installation notes, version constraints, changelog, maintenance owner, or update path, and publisher identity is unverified by the FollowSkills registry.
The skill can standardize post-development branch decisions and cleanup, while preserving PR worktrees and requiring confirmation before deletion. Points are deducted because test commands, base-branch detection, and host-specific behavior still require manual adaptation; the supplied files contain no directly verified output or execution evidence for this skill. Static calibration caps this at 7.
The skill provides auditable commands, state conditions, and failure rules, and the repository context mentions broader tests and an evaluation harness. Points are deducted because the supplied tests primarily cover other components and do not demonstrate dedicated behavioral coverage or third-party execution evidence for this skill, so its key paths are not independently reproducible. Static calibration caps this at 5.
- Do not execute the slash-separated test examples as one shell command; first identify the project's actual test entry point.
- Push, pull, merge, and git branch -D change remote or local history; confirm the target branch, remote, and recoverability before execution.
- Although discard requires typed confirmation, verify the commit list, worktree path, and ownership to avoid deleting a host-managed workspace.
- The skill provides no explicit guidance for Chinese interaction, non-Git projects, or mainland-China network conditions.
What does this skill do, and when should you use it?
This skill handles the final integration decision after implementation is complete. It verifies the project tests, inspects the Git repository or worktree state, and presents a menu suited to that environment. The available paths are local merge, push and Pull Request creation, keeping the branch, or confirmed discard. It does not implement features and stops before integration when tests fail.
Runs the project's test command and reports failures; reads Git directory, common Git directory, branch and HEAD state, base-branch candidates, and worktree path; presents four options for a normal repository or named-branch worktree and three options for detached HEAD; performs local merge, branch push, retention, or confirmed discard; reruns tests after a successful merge; removes only Superpowers-created worktrees under .worktrees/ or worktrees/, prunes stale worktree registrations, and deletes the relevant branch when applicable.
- A developer has finished implementation and passed tests, and needs to choose between local integration and opening a Pull Request.
- A developer completed work in a Git worktree and needs provenance-aware cleanup after merging or discarding it.
- A developer is in an externally managed detached-HEAD workspace and must avoid being offered an invalid local-merge path.
- A team wants explicit confirmation before deleting a branch, commits, and workspace.
What are this skill's strengths and limitations?
- Verifies tests before offering integration choices.
- Adapts the menu to normal repositories, named-branch worktrees, and detached HEAD.
- Uses a provenance check before removing worktrees.
- Requires explicit confirmation for destructive discard operations.
- It depends on an available project test command and does not define one universal command.
- Its scope is limited to branch completion and integration, not implementation, debugging, or test authoring.
- The source does not document a standalone installation path for this skill.
- Push and Pull Request workflows require a configured remote and sufficient Git permissions.
How do you install this skill?
No standalone installation procedure is documented for this individual skill. It is bundled at skills/finishing-a-development-branch/SKILL.md in the Superpowers monorepo. The README documents installing the full Superpowers collection per coding-agent harness; for Codex CLI, open /plugins, search for superpowers, and select Install Plugin.
How do you use this skill?
Trigger it when implementation is complete and all tests pass. At the start, announce: "I'm using the finishing-a-development-branch skill to complete this work." Run a project test command such as npm test, cargo test, pytest, or go test ./..., inspect the Git environment, and choose one of the presented options. If tests fail, fix them before proceeding; discard requires the exact confirmation discard.