Sign in
Explore
Skills · SkillEveryday codingTesting & SecurityReviewed

finishing-a-development-branch

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work

Kind
Skill
Works with
Claude Code, Codex, Cursor, Gemini / Antigravity
Source
obra/superpowers @ 8ca22dba9a94
Path
skills/finishing-a-development-branch/SKILL.md
License
MIT
Jobs
Git workflow
InstallCopy it from the source repository, or sign in and let the assistant adapt it for your project.
# Finishing a Development Branch

## Overview

**Core principle:** Verify tests → Detect environment → Present options → Execute choice → Clean up.

**Announce at start:** "I'm using the finishing-a-development-branch skill to complete this work."

## Step 1: Verify Tests

Run the project's full test suite (`npm test` / `cargo test` / `pytest` / `go test ./...`).

**If tests fail**, report the failures and stop — the menu comes after a green suite:

```
Tests failing (<N> failures). Must fix before completing:

[Show failures]
```

**If tests pass:** continue to Step 2.

## Step 2: Detect Environment

```bash
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
# Capture now, while still inside the workspace — Step 5 changes directory
# before cleanup (Step 6) needs this value
WORKTREE_PATH=$(git rev-parse --show-toplevel)
```

This determines which menu to show and how cleanup works:

| State | Menu | Cleanup |
|-------|------|---------|
| `GIT_DIR == GIT_COMMON` (normal repo) | Standard 3 options | No worktree to clean up |
…