Skip to content
Back to skills

Git Maintain

ASecurity

Perform repository maintenance and cleanup

  • 58 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
toolsbashgit

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add laurigates/claude-plugins --skill git-maintain --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git Maintain?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Git Maintain
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/laurigates-git-maintain/badge)](https://www.skillsdirectory.com/skills/laurigates-git-maintain)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
model: haiku
created: 2025-12-16
modified: 2026-01-16
reviewed: 2026-01-16
allowed-tools: Bash(git status *), Bash(git branch *), Bash(git stash *), Bash(git prune *), Bash(git gc *), Bash(git repack *), Bash(git fsck *), Bash(git rm *), Bash(du *), Read, Glob, TodoWrite
argument-hint: [--prune] [--gc] [--verify] [--branches] [--stash] [--all]
description: Perform repository maintenance and cleanup
name: git-maintain
---

## Context

- Current branch: !`git branch --show-current`
- Git status: !`git status --porcelain=v2 --branch 2>/dev/null`
- Local branches: !`git branch -vv --format='%(refname:short) %(upstream:short) %(upstream:track)'`
- Stash list: !`git stash list 2>/dev/null`
- Repository size: !`du -sh .git 2>/dev/null`

## Parameters

Parse these parameters from the command (all optional):

- `--prune`: Remove unreachable objects and optimize repository
- `--gc`: Run git garbage collection (aggressive)
- `--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)

## Your task

Perform repository maintenance and cleanup based on the flags provided.

### Step 1: Check for accidentally committed files

- Environment files, IDE files, dependencies, build artifacts, secrets
- Suggest adding to `.gitignore` and removing with `git rm --cached`

### Step 2: Update .gitignore

- Suggest common patterns if missing
- Offer to append missing patterns

### Step 3: Delete merged branches (if --branches or --all)

- List and clean branches merged via GitHub PR
- Protect main, master, develop, staging, production
- Delete local branches safely with `git branch -d`
- **Require user confirmation** before deleting branches

### Step 4: Clean up redundant stashes (if --stash or --all)

- Show stash ages and context
- Suggest cleanup for old stashes (>30 days)
- Drop stashes from deleted branches
- **Require user confirmation** before dropping stashes

### Step 5: Repository optimization (if --prune, --gc, or --all)

```bash
# Prune unreachable objects
git prune

# Run garbage collection
git gc --aggressive

# Repack objects
git repack -ad

# Show size improvement
du -sh .git
```

### Step 6: Verify repository integrity (if --verify or --all)

```bash
git fsck --full --strict
```

Report any issues found.

### Step 7: Final summary

- Report all actions taken
- Show before/after metrics

## Safe Operations

These operations are safe and non-destructive:
- `git gc` - Garbage collection
- `git prune` - Prune unreachable objects
- `git fsck` - Verify integrity

These require user confirmation:
- `git branch -d` - Delete branches
- `git stash drop` - Drop stashes

## See Also

- **git-branch-pr-workflow** skill for branch management patterns

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.