finishing-a-development-branch — official finishing-a-development-branch, superpowers, official, ide skills, Claude Code, Cursor, Windsurf

Verified
v1.0.0
GitHub

About this Skill

Perfect for Code Development Agents needing structured workflow completion for Git branches. Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

obra obra
[70.9k]
[5444]
Updated: 3/5/2026

Agent Capability Analysis

The finishing-a-development-branch skill by obra is an open-source official AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Perfect for Code Development Agents needing structured workflow completion for Git branches.

Core Value

Enables automated verification of test suites and structured branch completion workflows. Provides deterministic execution of merge strategies, PR creation, or cleanup operations based on agent-selected options.

Capabilities Granted for finishing-a-development-branch

Automating test verification before branch completion
Executing structured merge workflows (squash, rebase, fast-forward)
Cleaning up development branches after successful integration

! Prerequisites & Limits

  • Requires Git repository access
  • Depends on project-specific test commands
  • Needs proper branch permissions for operations
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

finishing-a-development-branch

Install finishing-a-development-branch, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command...

SKILL.md
Readonly

Finishing a Development Branch

Overview

Guide completion of development work by presenting clear options and handling chosen workflow.

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

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

The Process

Step 1: Verify Tests

Before presenting options, verify tests pass:

bash
1# Run project's test suite 2npm test / cargo test / pytest / go test ./...

If tests fail:

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

[Show failures]

Cannot proceed with merge/PR until tests pass.

Stop. Don't proceed to Step 2.

If tests pass: Continue to Step 2.

Step 2: Determine Base Branch

bash
1# Try common base branches 2git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null

Or ask: "This branch split from main - is that correct?"

Step 3: Present Options

Present exactly these 4 options:

Implementation complete. What would you like to do?

1. Merge back to <base-branch> locally
2. Push and create a Pull Request
3. Keep the branch as-is (I'll handle it later)
4. Discard this work

Which option?

Don't add explanation - keep options concise.

Step 4: Execute Choice

Option 1: Merge Locally

bash
1# Switch to base branch 2git checkout <base-branch> 3 4# Pull latest 5git pull 6 7# Merge feature branch 8git merge <feature-branch> 9 10# Verify tests on merged result 11<test command> 12 13# If tests pass 14git branch -d <feature-branch>

Then: Cleanup worktree (Step 5)

Option 2: Push and Create PR

bash
1# Push branch 2git push -u origin <feature-branch> 3 4# Create PR 5gh pr create --title "<title>" --body "$(cat <<'EOF' 6## Summary 7<2-3 bullets of what changed> 8 9## Test Plan 10- [ ] <verification steps> 11EOF 12)"

Then: Cleanup worktree (Step 5)

Option 3: Keep As-Is

Report: "Keeping branch <name>. Worktree preserved at <path>."

Don't cleanup worktree.

Option 4: Discard

Confirm first:

This will permanently delete:
- Branch <name>
- All commits: <commit-list>
- Worktree at <path>

Type 'discard' to confirm.

Wait for exact confirmation.

If confirmed:

bash
1git checkout <base-branch> 2git branch -D <feature-branch>

Then: Cleanup worktree (Step 5)

Step 5: Cleanup Worktree

For Options 1, 2, 4:

Check if in worktree:

bash
1git worktree list | grep $(git branch --show-current)

If yes:

bash
1git worktree remove <worktree-path>

For Option 3: Keep worktree.

Quick Reference

OptionMergePushKeep WorktreeCleanup Branch
1. Merge locally--
2. Create PR--
3. Keep as-is---
4. Discard---✓ (force)

Common Mistakes

Skipping test verification

  • Problem: Merge broken code, create failing PR
  • Fix: Always verify tests before offering options

Open-ended questions

  • Problem: "What should I do next?" → ambiguous
  • Fix: Present exactly 4 structured options

Automatic worktree cleanup

  • Problem: Remove worktree when might need it (Option 2, 3)
  • Fix: Only cleanup for Options 1 and 4

No confirmation for discard

  • Problem: Accidentally delete work
  • Fix: Require typed "discard" confirmation

Red Flags

Never:

  • Proceed with failing tests
  • Merge without verifying tests on result
  • Delete work without confirmation
  • Force-push without explicit request

Always:

  • Verify tests before offering options
  • Present exactly 4 options
  • Get typed confirmation for Option 4
  • Clean up worktree for Options 1 & 4 only

Integration

Called by:

  • subagent-driven-development (Step 7) - After all tasks complete
  • executing-plans (Step 5) - After all batches complete

Pairs with:

  • using-git-worktrees - Cleans up worktree created by that skill

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is finishing-a-development-branch?

Perfect for Code Development Agents needing structured workflow completion for Git branches. Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

How do I install finishing-a-development-branch?

Run the command: npx killer-skills add obra/superpowers/finishing-a-development-branch. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for finishing-a-development-branch?

Key use cases include: Automating test verification before branch completion, Executing structured merge workflows (squash, rebase, fast-forward), Cleaning up development branches after successful integration.

Which IDEs are compatible with finishing-a-development-branch?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for finishing-a-development-branch?

Requires Git repository access. Depends on project-specific test commands. Needs proper branch permissions for operations.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add obra/superpowers/finishing-a-development-branch. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use finishing-a-development-branch immediately in the current project.

Related Skills

Looking for an alternative to finishing-a-development-branch or another official skill for your workflow? Explore these related open-source skills.

View All

flags

Logo of facebook
facebook

Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.

243.6k
0
Developer

extract-errors

Logo of facebook
facebook

Use when adding new error messages to React, or seeing unknown error code warnings.

243.6k
0
Developer

fix

Logo of facebook
facebook

Use when you have lint errors, formatting issues, or before committing code to ensure it passes CI.

243.6k
0
Developer

flow

Logo of facebook
facebook

Use when you need to run Flow type checking, or when seeing Flow type errors in React code.

243.6k
0
Developer