Claude Code Plugins

Community-maintained marketplace

Feedback

flow-finishing-branch

@Dimon94/cc-devflow
94
0

Decide how to complete a development branch: merge, PR, squash, or cleanup.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name flow-finishing-branch
description Decide how to complete a development branch: merge, PR, squash, or cleanup.

Flow Finishing Branch - 分支完成决策

Overview

When development work is complete, you need to decide how to integrate it. This skill guides that decision.

Decision Options

A) Fast-forward Merge

When to use:
  - Small changes (< 5 files)
  - Single developer
  - No review needed
  - Clean commit history

Command:
  git checkout main
  git merge --ff-only feature/xxx
  git branch -d feature/xxx

Pros:
  - Fast
  - Clean history
  - No merge commit

Cons:
  - No review record
  - No CI verification

B) Create PR (Recommended)

When to use:
  - Team projects
  - Need review record
  - CI verification required
  - Production code

Command:
  git push -u origin feature/xxx
  gh pr create --title "..." --body "..."

Pros:
  - Review record
  - CI verification
  - Discussion thread
  - Audit trail

Cons:
  - Takes longer
  - Requires reviewer

C) Squash and Merge

When to use:
  - Many small commits
  - Messy commit history
  - Want single commit in main

Command:
  gh pr merge --squash

Pros:
  - Clean main history
  - Single logical commit
  - Hides WIP commits

Cons:
  - Loses detailed history
  - Harder to bisect

D) Cleanup Only

When to use:
  - Work was abandoned
  - Experiment failed
  - Requirements changed

Command:
  git checkout main
  git branch -D feature/xxx
  git push origin --delete feature/xxx  # if pushed

Pros:
  - Clean slate
  - No dead branches

Cons:
  - Work is lost (unless needed later)

Decision Matrix

┌─────────────────────────────────────────────────────────────┐
│                    Decision Matrix                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  Files Changed    Review Needed    History Clean    Action  │
│  ─────────────    ─────────────    ─────────────    ──────  │
│  < 5              No               Yes              A) FF   │
│  < 5              No               No               C) Sq   │
│  Any              Yes              Yes              B) PR   │
│  Any              Yes              No               C) Sq   │
│  N/A              N/A              N/A (abandoned)  D) Del  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Pre-Completion Checklist

Before choosing any option, verify:

□ All tests pass
□ Build succeeds
□ No lint errors
□ Documentation updated (if needed)
□ EXECUTION_LOG.md updated
□ No uncommitted changes

The Process

1. Verify completion
   → Run tests, build, lint
   → Check all tasks done

2. Assess the work
   → How many files changed?
   → Is review needed?
   → Is commit history clean?

3. Choose option
   → Use decision matrix
   → Default to PR if unsure

4. Execute
   → Run appropriate commands
   → Verify success

5. Cleanup
   → Delete local branch
   → Delete remote branch (if not PR)

Rationalization Prevention

Excuse Reality
"PR is overkill" PR provides audit trail. Use it.
"I'll review my own code" Self-review misses issues. Get another pair of eyes.
"History doesn't matter" History helps debugging. Keep it clean.
"Just merge it" Verify first. Merge second.

Integration with flow-release

This skill is used in /flow-release to decide branch handling:

/flow-release execution:
  1. Verify all gates pass
  2. Load this skill
  3. Present options to user
  4. Execute chosen option
  5. Update status

Cross-Reference


[PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md