plugins/compound-engineering/skills/finishing-branch/SKILL.md
Use when completing development on a feature branch -- verifies quality, presents completion options, and cleans up
npx skillsauth add the-rabak/compound-engineering-plugin finishing-branchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A structured skill for completing work on a feature branch. Ensures all quality checks pass, presents clear options for what to do next, and handles cleanup.
Announce at start: "I'm using the finishing-branch skill to complete this work."
workflows:work Phase 4/lfg pipelineRun all quality checks and report results:
# 1. Run full test suite (detect project test command)
# npm test | pytest | cargo test | phpunit | go test | etc.
# 2. Run linting (detect project linter)
# eslint | ruff | clippy | pint | etc.
# 3. Check for uncommitted changes
git status
# 4. Check for untracked files that should be committed
git ls-files --others --exclude-standard
Report results clearly:
Do NOT proceed if tests or linting fail. Fix issues first, then return to Step 1.
If there are uncommitted changes:
git add <relevant files>
git commit -m "feat(scope): final changes before merge
[description of what's included]"
Stage files selectively -- do not blindly git add . if there are files that should not be committed.
Present the user with clear options:
Option A: Create a Pull Request (recommended for team projects)
Option B: Merge to default branch (for solo projects or pre-approved changes)
Option C: Keep the branch (for work that needs more review)
Option D: Discard the branch (if work is no longer needed)
Ask the user which option they prefer. Do not assume.
When invoked by an orchestrator without user interaction available: Default to Option A (Create PR). Do not stall waiting for user input -- proceed with creating the PR automatically.
git push -u origin [branch-name]
Generate a PR/MR description:
## Summary
- What was built and why
- Key decisions made
## Changes
- [List major changes with file references]
## Testing
- Tests added/modified
- Manual testing performed
## Post-Deploy Monitoring & Validation
- **What to monitor:** [logs, metrics, dashboards]
- **Expected healthy behavior:** [what success looks like]
- **Failure signals:** [what to watch for]
- **Validation window:** [how long to monitor]
## Screenshots
[If UI changes, include before/after screenshots]
---
[](https://github.com/The-Rabak/compound-engineering-plugin)
# Update default branch
git checkout [default-branch]
git pull origin [default-branch]
# Merge feature branch
git merge [feature-branch] --no-ff -m "Merge [feature-branch]: [description]"
# Push
git push origin [default-branch]
# Clean up local branch
git branch -d [feature-branch]
git push -u origin [branch-name]
echo "Branch pushed. Ready for review."
# Confirm with user first!
git checkout [default-branch]
git branch -D [feature-branch]
echo "Branch discarded."
If a git worktree was used:
# Return to main working directory
cd [main-worktree-path]
# Remove the worktree
git worktree remove [worktree-path]
# Prune worktree references
git worktree prune
Update plan status (if a plan file was used):
status: active to status: completed in the plan's YAML frontmatter/workflows:work sessionsUpdate execution session (if STATE.md exists):
status: completed in STATE.mdPresent a clear completion summary:
## Branch Complete: [branch-name]
- Action taken: [PR created / Merged / Kept / Discarded]
- Tests: [X passed]
- Commits: [N commits]
- Files changed: [N files]
- PR/MR: [link if created]
- Worktree: [cleaned up / N/A]
- Plan status: [updated to completed / N/A]
tools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
tools
Package one plan execution packet into a compact ticket-local execution packet with parent refs, scope fences, feature-home ownership, and evidence commands. Use when converting plans into local tickets or when execution needs one ticket-sized context pack without the full plan.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.
testing
Run a deep adversarial review of plans and architecture before implementation. Use when validating strategy docs, contracts, roadmaps, and competitive positioning with scored findings and prioritized recommendations.