Agent Skills: Flow Finishing Branch - 分支完成决策

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

UncategorizedID: aiskillstore/marketplace/flow-finishing-branch

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aiskillstore/marketplace/tree/HEAD/skills/dimon94/flow-finishing-branch

Skill Files

Browse the full folder contents for flow-finishing-branch.

Download Skill

Loading file tree…

skills/dimon94/flow-finishing-branch/SKILL.md

Skill Metadata

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