Branch completion workflow - guides merge/PR/cleanup decisions after implementation is verified complete.
Install
npx skillscat add lerianstudio/ring/ring-finishing-a-development-branch Install via the SkillsCat registry.
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
Run npm test / cargo test / pytest / go test ./... If tests fail: Show failures, stop. Cannot proceed until tests pass.
Step 2: Determine Base Branch
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/nullStep 3: Present Options
Present exactly these 4 options (no explanation):
- Merge back to locally
- Push and create a Pull Request
- Keep the branch as-is (I'll handle it later)
- Discard this work
Step 4: Execute Choice
| Option | Commands |
|---|---|
| 1. Merge Locally | git checkout <base> â git pull â git merge <feature> â verify tests â git branch -d <feature> â Cleanup worktree |
| 2. Create PR | git push -u origin <feature> â gh pr create --title "..." --body "## Summary..." â Cleanup worktree |
| 3. Keep As-Is | Report: "Keeping branch . Worktree preserved at ." Don't cleanup. |
| 4. Discard | Confirm first: "Type 'discard' to confirm." â git checkout <base> â git branch -D <feature> â Cleanup worktree |
Step 5: Cleanup Worktree
Options 1, 2, 4: git worktree list | grep $(git branch --show-current) â if in worktree: git worktree remove <path>
Option 3: Keep worktree.
Quick Reference
| Option | Merge | Push | Keep Worktree | Cleanup Branch |
|---|---|---|---|---|
| 1. Merge locally | â | - | - | â |
| 2. Create PR | - | â | â | - |
| 3. Keep as-is | - | - | â | - |
| 4. Discard | - | - | - | â (force) |
Common Mistakes
| Mistake | Problem | Fix |
|---|---|---|
| Skipping test verification | Merge broken code, create failing PR | Always verify tests before offering options |
| Open-ended questions | "What should I do next?" â ambiguous | Present exactly 4 structured options |
| Automatic worktree cleanup | Remove worktree when might need it | Only cleanup for Options 1 and 4 |
| No confirmation for discard | Accidentally delete work | 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:
- ring:subagent-driven-development (Step 7) - After all tasks complete
- ring:executing-plans (Step 5) - After all batches complete
Pairs with:
- ring:using-git-worktrees - Cleans up worktree created by that skill