Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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
.claude/skills/jamditis-finishing-a-development-branch/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 312% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-07 | ✓→✗ | ▼ Worse | 75% | 0% |
<!-- Adapted from obra/superpowers finishing-a-development-branch skill (v5.0.7), MIT-licensed, copyright 2025 Jesse Vincent. Modifications copyright 2026 Joe Amditis. Pure consumer port, no research phase per the v0.2.0 architecture, since branch finishing is a downstream wrap-up of work whose strategic decisions were already made upstream. SKILL.md byte-identical to upstream after the attribution block strip. See CREDITS.md. -->
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."
Before presenting options, verify tests pass:
bash# Run project's test suite npm 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.
bash# Try common base branches git 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?"
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.
bash# Switch to base branch git checkout <base-branch> # Pull latest git pull # Merge feature branch git merge <feature-branch> # Verify tests on merged result <test command> # If tests pass git branch -d <feature-branch>
Then: Cleanup worktree (Step 5)
bash# Push branch git push -u origin <feature-branch> # Create PR gh pr create --title "<title>" --body "$(cat <<'EOF' ## Summary <2-3 bullets of what changed> ## Test Plan - [ ] <verification steps> EOF )"
Then: Cleanup worktree (Step 5)
Report: "Keeping branch <name>. Worktree preserved at <path>."
Don't cleanup worktree.
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:
bashgit checkout <base-branch> git branch -D <feature-branch>
Then: Cleanup worktree (Step 5)
For Options 1, 2, 4:
Check if in worktree:
bashgit worktree list | grep $(git branch --show-current)
If yes:
bashgit worktree remove <worktree-path>
For Option 3: Keep worktree.
| Option | Merge | Push | Keep Worktree | Cleanup Branch | |--------|-------|------|---------------|----------------| | 1. Merge locally | ✓ | - | - | ✓ | | 2. Create PR | - | ✓ | ✓ | - | | 3. Keep as-is | - | - | ✓ | - | | 4. Discard | - | - | - | ✓ (force) |
Skipping test verification
Open-ended questions
Automatic worktree cleanup
No confirmation for discard
Never:
Always:
Called by:
Pairs with:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | pass→pass | 4,551 | 2,362 | -48% | 1 | 1 | 0% | 818 | 1,673 | +105% | 0 | 0 | — |
case-01 | fail→fail | 12,539 | 5,308 | -58% | 1 | 1 | 0% | 2,218 | 1,638 | -26% | 0 | 0 | — |
case-02 | fail→fail | 5,987 | 7,244 | +21% | 1 | 1 | 0% | 387 | 1,698 | +339% | 0 | 0 | — |
case-03 | fail→fail | 2,257 | 2,717 | +20% | 1 | 1 | 0% | 363 | 1,502 | +314% | 0 | 0 | — |
case-04 | pass→pass | 2,762 | 3,512 | +27% | 1 | 1 | 0% | 527 | 1,799 | +241% | 0 | 0 | — |
case-05 | pass→pass | 6,365 | 5,692 | -11% | 1 | 1 | 0% | 1,297 | 2,274 | +75% | 0 | 0 | — |
case-06 | pass→pass | 2,843 | 3,343 | +18% | 1 | 1 | 0% | 560 | 1,657 | +196% | 0 | 0 | — |
case-07 | pass→fail | 6,781 | 4,666 | -31% | 1 | 1 | 0% | 1,073 | 1,875 | +75% | 0 | 0 | — |
case-08 | fail→pass | 8,581 | 36,173 | +322% | 1 | 1 | 0% | 1,601 | 1,479 | -8% | 0 | 0 | — |
case-09 | pass→pass | 5,088 | 3,430 | -33% | 1 | 1 | 0% | 1,004 | 1,817 | +81% | 0 | 0 | — |
case-10 | pass→pass | 9,749 | 3,391 | -65% | 1 | 1 | 0% | 1,595 | 1,862 | +17% | 0 | 0 | — |
case-11 | pass→pass | 6,642 | 2,606 | -61% | 1 | 1 | 0% | 1,166 | 1,726 | +48% | 0 | 0 | — |
case-12 | pass→pass | 8,176 | 5,804 | -29% | 1 | 1 | 0% | 1,421 | 2,282 | +61% | 0 | 0 | — |
case-14 | fail→pass | 9,695 | 2,571 | -73% | 1 | 1 | 0% | 1,607 | 1,764 | +10% | 0 | 0 | — |
case-15 | pass→pass | 6,904 | 3,257 | -53% | 1 | 1 | 0% | 1,353 | 1,798 | +33% | 0 | 0 | — |
case-16 | fail→pass | 2,901 | 4,841 | +67% | 1 | 1 | 0% | 525 | 2,165 | +312% | 0 | 0 | — |
case-17 | pass→pass | 10,471 | 2,947 | -72% | 1 | 1 | 0% | 1,970 | 1,771 | -10% | 0 | 0 | — |
case-18 | fail→fail | 5,958 | 1,956 | -67% | 1 | 1 | 0% | 1,039 | 1,535 | +48% | 0 | 0 | — |
case-19 | fail→fail | 3,058 | 1,805 | -41% | 1 | 1 | 0% | 496 | 1,512 | +205% | 0 | 0 | — |
case-20 | fail→pass | 18,155 | 2,305 | -87% | 1 | 1 | 0% | 925 | 1,570 | +70% | 0 | 0 | — |
case-21 | pass→pass | 9,754 | 2,544 | -74% | 1 | 1 | 0% | 1,414 | 1,715 | +21% | 0 | 0 | — |
case-22 | pass→pass | 8,581 | 3,638 | -58% | 1 | 1 | 0% | 1,499 | 1,846 | +23% | 0 | 0 | — |
case-23 | pass→pass | 2,530 | 1,347 | -47% | 1 | 1 | 0% | 457 | 1,459 | +219% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +13 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/21/2026 | +27% |
Other measured skills in the registry, with their headline benchmark lift.