From git-plugin
Repo maintenance — incremental repack, gc, branch pruning, stash cleanup, fsck. Use when asked to clean up the repo, run git maintenance/gc, delete merged branches, prune stashes, or shrink .git.
How this skill is triggered — by the user, by Claude, or both
Slash command
/git-plugin:git-maintain [--prune] [--gc] [--background] [--verify] [--branches] [--stash] [--all][--prune] [--gc] [--background] [--verify] [--branches] [--stash] [--all]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Use this skill when... | Use the alternative when... |
| Use this skill when... | Use the alternative when... |
|---|---|
Running git gc, repacking objects, or shrinking the .git directory | Use git-coworker-check first if other agents may be writing to the same checkout |
| Pruning merged local branches and old stashes | Use git-cli-agentic for read-only branch/stash queries without mutating state |
Verifying repo integrity with git fsck | Use git-security-checks for secret scanning rather than object integrity |
| Cleaning up a checkout before a long-lived feature branch goes stale | Use git-rebase-patterns to clean up commit history rather than the object store |
git branch --show-currentgit status --porcelain=v2 --branchgit branch -vv --format='%(refname:short) %(upstream:short) %(upstream:track)'git stash listdu -sh .gitParse these parameters from the command (all optional):
--prune: Remove unreachable objects and run an incremental geometric repack--gc: Force a full git gc consolidation (only when a repo has degraded badly — prefer the incremental repack)--background: Register the repo for hourly background maintenance (git maintenance start) instead of a blocking one-shot pass--verify: Verify integrity of git objects--branches: Clean up merged branches only--stash: Clean up stashes only--all: Run all maintenance tasks (default if no flags specified)Perform repository maintenance and cleanup based on the flags provided.
.gitignore and removing with git rm --cachedgit branch -dPrefer incremental maintenance over gc --aggressive. Modern Git (2.31+)
replaced the blocking, rewrite-everything git gc --aggressive pass with
git maintenance and geometric repacking, which organizes packfiles in
logarithmic layers by object count. Geometric repacking is the default for
manual maintenance in recent Git (2.52+) and avoids the destructive,
time-consuming "all-in-one" repack. Default to it.
# Incremental geometric repack — logarithmic pack layering + on-disk
# multi-pack index; far cheaper than `gc --aggressive`, safe to run often
git repack --geometric=2 -d --write-midx
# Prune unreachable objects older than the default grace window
git prune --expire=2.weeks.ago
# Show size improvement
du -sh .git
For hands-off upkeep (--background), register the repo so Git quietly
pre-fetches, optimizes the commit-graph, and repacks loose objects on a
schedule instead of blocking on a manual pass:
# Register hourly background maintenance (one-time, per repo)
git maintenance start
# Or run the standard task set once, on demand (non-blocking, incremental)
git maintenance run --task=commit-graph --task=incremental-repack --task=loose-objects
Reserve a full git gc for a repo that has genuinely degraded (only with
--gc); skip --aggressive unless a one-off deep repack is explicitly needed:
# Full consolidation — only when --gc is requested and the repo is degraded
git gc
git fsck --full --strict
Report any issues found.
These operations are safe and non-destructive:
git repack --geometric=2 -d --write-midx - Incremental geometric repack (preferred)git maintenance run / git maintenance start - Incremental background upkeepgit gc - Full garbage collection (reserve for degraded repos)git prune - Prune unreachable objectsgit fsck - Verify integrityThese require user confirmation:
git branch -d - Delete branchesgit stash drop - Drop stashes| Context | Command |
|---|---|
| Routine optimize | git repack --geometric=2 -d --write-midx |
| Hands-off upkeep | git maintenance start |
| One-shot incremental pass | git maintenance run --task=incremental-repack --task=commit-graph |
| Integrity check | git fsck --full --strict |
| Size before/after | du -sh .git |
npx claudepluginhub laurigates/claude-plugins --plugin git-pluginPrunes stale remote-tracking refs, deletes merged local branches with confirmation, reports stashes/unpushed work. Local-only, safe by default.
Automates git branch cleanup: inventories local/remote branches, identifies merged/gone candidates, protects main/develop/release/current, confirms deletions, prunes remotes, provides recovery SHAs.
Provides complete Git expertise for all operations: repo management, branch strategies, conflict resolution, history rewriting/recovery, advanced commands like rebase/cherry-pick, and platform workflows for GitHub/Azure DevOps/Bitbucket. Safety guardrails for destructive actions.