agentsclimarketplace

Finishing a development branch

Skill oscarqjh/super-agent-skills/plugins/super-agent-skills/skills/finishing-a-development-branch

Full-lifecycle engineering plugin for Claude Code — brainstorm → plan → build → review → ship, with production-grade standards at every step.

Install
npx -y skills add oscarqjh/super-agent-skills --skill finishing-a-development-branch

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

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

SKILL.md

7.5 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it

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

Before presenting options, verify tests pass:

# 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 1.5.

Step 1.5: Pre-Merge Checklist

After tests pass but before presenting options, verify:

Code Quality:

  • No TODO comments that should be resolved before merge
  • No console.log debugging statements in production code
  • Error handling covers expected failure modes
  • Lint and type checking pass

Security Quick Check:

  • No secrets in code or version control
  • Input validation on user-facing endpoints
  • See references/security-checklist.md for full checklist

If any items fail, fix them before proceeding to Step 2.

Step 2: Determine Base Branch

# 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?"

Step 3: Present Options

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.

Step 4: Execute Choice

Option 1: Merge Locally

# 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>

Before merging/pushing, verify commit hygiene:

  • Each commit does one logical thing (atomic commits)
  • Commit messages explain the why, not just the what
  • No formatting changes mixed with behavior changes
  • No secrets in any commit

Then: Cleanup worktree (Step 5)

Option 2: Push and Create PR

# 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
)"

Before merging/pushing, verify commit hygiene:

  • Each commit does one logical thing (atomic commits)
  • Commit messages explain the why, not just the what
  • No formatting changes mixed with behavior changes
  • No secrets in any commit

Then: Cleanup worktree (Step 5)

Option 3: Keep As-Is

Report: "Keeping branch <name>. Worktree preserved at <path>."

Don't cleanup worktree.

Option 4: Discard

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:

git checkout <base-branch>
git branch -D <feature-branch>

Then: Cleanup worktree (Step 5)

Step 5: Cleanup Worktree

For Options 1, 2, 4:

Check if in worktree:

git worktree list | grep $(git branch --show-current)

If yes:

git worktree remove <worktree-path>

For Option 3: Keep worktree.

If not using a worktree (working directly on a branch), skip Step 5. The pre-merge checklist (Step 1.5) and completion options (Steps 2-4) still apply regardless of whether a worktree is involved.

Step 6: Update Backlog & Changelog

After completing the chosen option (merge, PR, keep, or discard):

  1. Update backlog: Read docs/super-agent-skills/backlogs.md. Mark any related "In Progress" items as complete ([x]). Move completed items to the "Completed" section with today's date.
  2. Update changelog: Append a one-line entry to docs/super-agent-skills/changelog.md under [Unreleased] describing what was shipped.
  3. Suggest next: If the backlog "In Progress" is now empty, suggest the next item from "Up Next":

    "Backlog and changelog updated. Next in backlog: [next item]. Want to start on it?"

Step 7: Capture Learnings

Before moving on, reflect on this work phase:

QuestionIf yes →
Did the user correct you about a convention?Add to CLAUDE.md ## Gotchas
Did a command fail due to project-specific setup?Add to CLAUDE.md ## Commands
Did the code reviewer flag a pattern violation?Add to .claude/rules/ as a path-scoped rule
Did the self-healing review loop hit 3 rounds?Note that the spec/plan was ambiguous — add clarity for next time
Did you make the same mistake twice in this session?Add to CLAUDE.md ## Gotchas (high priority — this will recur)

If any apply, offer to persist:

"I noticed [learning]. Want me to add this to CLAUDE.md so I remember next time?"

Only persist things Claude would get wrong without being told. Don't add obvious conventions Claude already knows.

Quick Reference

OptionMergePushKeep WorktreeCleanup Branch
1. Merge locally--
2. Create PR--
3. Keep as-is---
4. Discard---✓ (force)

Common Mistakes

Skipping test verification

  • Problem: Merge broken code, create failing PR
  • Fix: Always verify tests before offering options

Open-ended questions

  • Problem: "What should I do next?" → ambiguous
  • Fix: Present exactly 4 structured options

Automatic worktree cleanup

  • Problem: Remove worktree when might need it (Option 2, 3)
  • Fix: Only cleanup for Options 1 and 4

No confirmation for discard

  • Problem: Accidentally delete work
  • Fix: Require typed "discard" confirmation

Anti-Rationalizations

ThoughtReality
"Tests pass, good enough to merge"Tests are necessary but not sufficient. Check the pre-merge checklist.
"I'll remove the console.logs later"Remove them now. They'll ship to production otherwise.
"The TODOs are for future work"If they must be resolved before this feature works correctly, resolve them now.
"One big commit is fine"One big commit is impossible to review, debug, or revert. Split into atomic commits.

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:

  • subagent-driven-development (Step 7) - After all tasks complete
  • executing-plans (Step 5) - After all batches complete

Pairs with:

  • using-git-worktrees - Cleans up worktree created by that skill

Gives 0 of the 12 instructions most pr commit review skills give in ~1.8k tokens

Counted across 888 of the 1,342 authors here whose files we hold, read 2026-08-06

  • use conventional commits formatin 123 of 888, across 110 files
  • keep subject line under 72 charactersin 60 of 888, across 46 files
  • delete branches after mergein 50 of 888, across 37 files
  • use imperative mood in subject linein 50 of 888, across 41 files
  • use imperative mood in commit messagesin 45 of 888
  • generate a conventional commit messagein 42 of 888
  • make atomic commitsin 37 of 888, across 25 files
  • run tests before committingin 36 of 888, across 24 files
  • run project test suite to verify clean baselinein 35 of 888, across 7 files
  • run detected project setup commandsin 34 of 888, across 6 files
  • wrap commit body at 72 charactersin 32 of 888, across 25 files
  • split unrelated changes into separate commitsin 32 of 888, across 27 files

Said here and by no other author read

  • keep branch completion options concise
  • verify commit hygiene before merging or pushing
  • update backlog and changelog after completion
  • capture and offer to persist learnings

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.