$npx -y skills add sordi-ai/skill-everything --skill branch-finishingApply when closing out a feature branch — pre-merge checklist, rebase, CI verification, cleanup, and post-merge steps.
| 1 | # Sub-Skill: Branch Finishing |
| 2 | |
| 3 | **Purpose:** Ensures every feature branch is cleanly rebased, reviewed, and merged without introducing regressions or leaving stale local state behind. |
| 4 | |
| 5 | --- |
| 6 | |
| 7 | ## Rules |
| 8 | |
| 9 | ### Pre-Merge Preparation |
| 10 | |
| 11 | 1. **Rebase before merge.** Always rebase onto the target branch immediately before requesting merge to catch regressions introduced since the branch was cut. Reference: ERR-2026-024 |
| 12 | 2. **Resolve conflicts locally.** Before pushing a rebase, resolve every conflict locally and run the full test suite; never push a branch with unresolved markers. |
| 13 | 3. **CI green before review.** Ensure all CI checks pass on the latest push before requesting a human review; do not ask reviewers to look at a red branch. |
| 14 | 4. **Self-review diff.** Before opening a PR, run `git diff main...HEAD` and read every changed line; catch debug prints, commented-out code, and accidental file inclusions yourself first. |
| 15 | |
| 16 | ### Commit Hygiene |
| 17 | |
| 18 | 5. **Squash fixup commits.** Before merge, squash or fixup any `wip:`, `fixup!`, or `tmp:` commits so the branch history is clean; use `git rebase -i` to consolidate. |
| 19 | 6. **Issue closing keywords.** Use `Closes #NNN` or `Fixes #NNN` in the PR body so the linked issue auto-closes on merge; never leave issues open manually after a successful merge. |
| 20 | 7. **Changelog update.** After any user-visible change, add an entry to `CHANGELOG.md` (or the project's equivalent) before marking the PR ready for review. |
| 21 | 8. **Version bump.** If the project uses semantic versioning, bump the version in the appropriate manifest file as part of the branch before merge, not as a follow-up commit. |
| 22 | |
| 23 | ### Draft → Ready Transition |
| 24 | |
| 25 | 9. **Draft until CI passes.** Keep the PR in draft state until all CI checks are green and the self-review is complete; convert to ready-for-review only when the branch is genuinely merge-ready. |
| 26 | 10. **Remove draft status explicitly.** Use `gh pr ready <number>` to convert from draft; do not rely on reviewers noticing a draft PR that was silently updated. |
| 27 | |
| 28 | ### Post-Merge Cleanup |
| 29 | |
| 30 | 11. **Delete remote branch after merge.** After a successful merge, delete the remote branch with `git push origin --delete <branch>` or enable auto-delete in repository settings; stale remote branches pollute the branch list. |
| 31 | 12. **Delete local branch after merge.** After confirming the remote merge, delete the local tracking branch with `git branch -d <branch>` to keep the local workspace clean. |
| 32 | 13. **Post-merge verification.** After merge, pull `main` locally and run the test suite once to confirm the integrated state is green; do not assume CI on the PR branch is sufficient. |
| 33 | |
| 34 | ### Conflict Resolution |
| 35 | |
| 36 | 14. **Prefer rebase over merge commits.** Avoid merge commits on feature branches; use `git rebase` to maintain a linear history unless the team explicitly requires merge commits. |
| 37 | |
| 38 | --- |
| 39 | |
| 40 | ## See also |
| 41 | |
| 42 | - `skills/git-conventions/SKILL.md` |
| 43 | - `skills/review-deployment/SKILL.md` |