| name | finishing-a-branch |
| description | Use after code review is approved to finalize, push, open PR, and clean up the development branch. |
Finishing a Development Branch
Complete the development cycle: final checks, push, open PR, link to issue, clean up.
Announce at start: "Using finishing-a-branch skill. Finalizing the branch."
Pre-Flight Checklist
Before pushing:
Commit Cleanup (Optional)
If commits are messy, squash into logical units:
git rebase -i HEAD~N
Commit message format:
feat(<app>): short description of what was added
- Detail 1
- Detail 2
Closes #<issue_number>
Push and Open PR
git push origin <branch-name>
Then open PR with this template:
## Summary
- [What was built — bullet points]
- [Key technical decisions]
## Traceability
- Closes #<issue_number>
- Spec: `specs/YYYY-MM-DD-<feature>/spec.md`
- Plan: `specs/YYYY-MM-DD-<feature>/plan.md`
## Test Plan
- [ ] `pytest` — all backend tests pass
- [ ] `npx jest` — all frontend tests pass
- [ ] `npx tsc --noEmit` — no TypeScript errors
- [ ] Migrations applied without conflicts
- [ ] Manual smoke test performed
## Screenshots (if UI changes)
<add if applicable>
After PR Is Opened
- Link PR to issue in the description (
Closes #N)
- Notify relevant reviewers if needed
- Update spec status in
specs/YYYY-MM-DD-<feature>/spec.md:
**Status**: PR Open — #<PR number>
Merge Decision
When PR is approved and CI passes:
git checkout main && git merge --squash <branch>
git commit -m "feat(<scope>): <description> (#<PR>)"
git merge <branch>
After merge:
git push origin --delete <branch>
git branch -d <branch>
Deployment After Merge
Depending on what changed:
| Changed | Action |
|---|
| Backend Python | deploy skill → Cloud Run |
| Database migrations | Run migrations before deploy |
| Frontend React | deploy skill → build + deploy |
| Mobile JS-only | ota-update skill |
| Mobile native changes | build-android / build-ios skills |
| Celery tasks | Restart workers after deploy |