From godmode
Guides advanced Git workflows: branching strategies, merge vs rebase, interactive rebase, git bisect, cherry-pick, worktrees, commit conventions. Activates on repo assessment or messy history.
How this skill is triggered — by the user, by Claude, or both
Slash command
/godmode:gitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- User invokes `/godmode:git`
/godmode:git# Repository stats
git log --oneline | wc -l # Total commits
git branch -a | wc -l # Total branches
git shortlog -sn | wc -l # Contributors
git branch --merged main | wc -l # Stale branches
# Detect commit conventions
git log --oneline -20 | head -10
# Check for tooling
ls .commitlintrc* .husky/ .git/hooks/commit-msg \
2>/dev/null
GIT CONTEXT:
Team: solo | small (2-5) | medium (6-15) | large (15+)
Release cadence: continuous | weekly | monthly
Default branch: <main | master>
Commit convention: <conventional | custom | none>
Stale branches: <N branches merged but not deleted>
Stash count: <N>
IF team == solo: GitHub Flow or trunk-based
IF team == small: GitHub Flow or Ship/Show/Ask
IF team == large: trunk-based with feature flags
IF stale branches > 10: clean up immediately
IF stash count > 3: convert to branches or drop
STRATEGY SELECTION:
| Team Size | Cadence | Recommended |
|-----------|------------|-------------------|
| Solo | Continuous | Trunk-based |
| 2-5 | Weekly | GitHub Flow |
| 6-15 | Bi-weekly | Trunk-based + flags|
| 15+ | Varied | Trunk-based + flags|
| Any | Infrequent | GitFlow |
| Criteria | Merge | Squash | Rebase |
|-----------------|--------|--------|--------|
| History | Noisy | Clean | Clean |
| Bisect | Good | Limited| Best |
| Conflict pain | Once | Once | Per-com|
| Safe for shared | Yes | Yes | NO |
DECISION:
15 WIP commits → squash merge
3 clean commits → rebase + merge (preserve narrative)
Release branch → merge commit (--no-ff)
Hotfix to 2 branches → cherry-pick
Long feature (>1 week) → rebase onto main weekly
THRESHOLDS:
Branch age limit: 2 days (trunk-based), 7 days max
IF branch > 7 days: rebase onto main immediately
IF conflicts > 5 files: merge main INTO feature
OPERATIONS:
| Command | Use Case |
|---------|----------------------------|
| pick | Keep commit as-is |
| reword | Change message only |
| squash | Combine with previous |
| fixup | Combine, discard message |
| drop | Remove commit |
SAFETY: Always create backup branch first:
git branch backup-<name>
git bisect start
git bisect bad # HEAD is broken
git bisect good v1.2.0 # This tag was good
# Git checks out middle commit — test it
git bisect good # or git bisect bad
# Repeat until culprit found
AUTOMATED BISECT (recommended for > 10 commits):
git bisect start HEAD v1.2.0
git bisect run npm test
# Finds the breaking commit automatically
THRESHOLDS:
100 commits → bisect finds it in 7 steps
1000 commits → 10 steps
IF > 10 commits to search: always use automated
CHERRY-PICK RULES:
Single: git cherry-pick <SHA>
Range: git cherry-pick A..B
IF conflict: git cherry-pick --continue
IF abort: git cherry-pick --abort
STASH RULES:
IF stash survives > 1 day: convert to branch
IF stash count > 3: clean up immediately
Never use stash as long-term storage
# Work on hotfix without switching branches
git worktree add ../project-hotfix hotfix/fix-123
# Work in ../project-hotfix independently
# Clean up when done
git worktree remove ../project-hotfix
CONVENTIONAL COMMITS:
<type>[scope]: <description>
| Type | SemVer | Usage |
|----------|--------|--------------------|
| feat | MINOR | New feature |
| fix | PATCH | Bug fix |
| docs | — | Documentation |
| refactor | — | Code restructuring |
| test | — | Adding tests |
| chore | — | Maintenance |
RULES:
Subject line: < 72 characters
Body: wrap at 72 characters
Footer: BREAKING CHANGE: description
Commit: "docs: git workflow — <model> with <strategy>"
Never ask to continue. Loop autonomously until done.
1. Hosting: git remote -v
2. Conventions: git log patterns
3. Stale branches: git branch --merged
4. Tooling: .commitlintrc, .husky
Print: Git: {operation} on {branch}. Commits: {N}. Conflicts: {N}. Stale: {N}. Verdict: {verdict}.
timestamp operation branch commits conflicts status
KEEP if: rebase clean AND tests pass AND no artifacts
DISCARD if: rebase introduces artifacts OR tests fail
Abort with git rebase --abort, use backup branch
STOP when ALL of:
- Branch strategy documented and agreed
- All commits follow convention
- Stale branches < 30 days cleaned
- Stash count < 3
- All operations result in passing tests
npx claudepluginhub arbazkhan971/godmodeGuides advanced Git workflows: interactive rebase for history editing, cherry-pick for targeted commits, bisect for bug hunting, worktrees for multi-branch development. Use for clean PRs, recovery, collaboration.
Covers advanced git workflows: worktrees for parallel branches, bisect for bug hunting, interactive rebase for history editing, hooks for automation, and recovery techniques for lost commits.
Provides advanced Git workflows including interactive rebase, cherry-picking, bisect, worktrees, and recovery. Useful when cleaning commit history, synchronizing branches, or fixing Git mistakes.