Agent skill

Git Cleanup

by SpecterOps in SpecterOps/skills

Repository hygiene — prune merged/stale branches, detect orphans, repo health checks.

Apache-2.0Auto-check passedDevelopment

Install Git Cleanup

skills CLI
$ npx skills add SpecterOps/skills --skill git-cleanup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install SpecterOps/skills git-cleanup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/SpecterOps/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/workflows-development/skills/git-cleanup .claude/skills/git-cleanup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
git-cleanup
GitHub stars
702
Token cost
~1.1k tokens
SKILL.md length
596 words
Files
4 (incl. assets)
Skills in repo
38
Repo updated
First seen
Licence
Apache-2.0

At a glance

Repository hygiene — prune merged/stale branches, detect orphans, repo health checks.

  • Works in 2 steps: Verify we're in a git repository (git… → If not in a git repo (and not using…
  • Cleaning up branches
  • SKILL.md covers Prerequisites, Protected Branches, Action: branches (default) and Action: stale [days], plus 3 more sections
  • Calls git

What it does

Git Cleanup is an agent skill from SpecterOps/skills. Repository hygiene — prune merged/stale branches, detect orphans, repo health checks. Use when cleaning up branches, checking repo health, or scanning projects.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including assets (for example `agents/openai.yaml`).

It sits in Development, covering Git workflow. It works with Git. The repository describes itself as: A marketplace for LLM skills. The licence is Apache-2.0.

When your agent uses it

  • Cleaning up branches
  • Checking repo health
  • Scanning projects

Example prompts

  • “/git-cleanup”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Verify we're in a git repository (git rev-parse --is-inside-work-tree) — except for all action which scans directories
  2. If not in a git repo (and not using all), tell the user and stop

What it can do on your machine

Read from SKILL.md and the folder at commit e655f93. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Git Cleanup loads about 1.1k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 596 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from SpecterOps/skills at commit e655f93, republished under its Apache-2.0 licence (© SpecterOps). 596 words, ~1,099 tokens.

Download SKILL.mdSave it as .claude/skills/git-cleanup/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
git-cleanup
description
Repository hygiene — prune merged/stale branches, detect orphans, repo health checks. Use when cleaning up branches, checking repo health, or scanning projects.
metadata.author
GhostWorks

Git Repository Cleanup

Repository hygiene: prune branches, detect stale work, and check repo health.

Parse the user's input to determine the action:

  • $git-cleanup or $git-cleanup branches — find and prune merged/stale branches
  • $git-cleanup stale [days] — branches with no commits in N days (default 30)
  • $git-cleanup health — large files, dangling refs, worktrees, repo size
  • $git-cleanup all — scan all git repos under ~/Projects/

Prerequisites

  1. Verify we're in a git repository (git rev-parse --is-inside-work-tree) — except for all action which scans directories
  2. If not in a git repo (and not using all), tell the user and stop

Protected Branches

The following branches are NEVER suggested for deletion: main, master, develop

Action: branches (default)

  1. Fetch latest remote state: git fetch --prune
  2. Identify the default branch (git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null or fall back to main/master)
  3. Find merged branches:
    • git branch --merged <default> — local branches already merged into default
    • Exclude protected branches and current branch
  4. Find branches with deleted remotes:
    • git branch -vv — look for [origin/...: gone] entries
  5. Present findings as a dry-run preview:
    • List branches that can be safely deleted (merged)
    • List branches whose remote is gone
    • Show last commit date and message for each
  6. Ask the user which branches to delete (or "all listed")
  7. On confirmation, delete with git branch -d <branch> (safe delete)
  8. If a branch fails -d (unmerged), warn the user and offer -D with explicit explanation that commits may be lost — only proceed with user confirmation

Action: stale [days]

  1. Default to 30 days if no argument provided
  2. For each local branch (excluding protected branches):
    • Get last commit date: git log -1 --format='%ci' <branch>
    • Calculate age in days
  3. List branches older than the threshold, sorted by age (oldest first)
  4. Show for each: branch name, last commit date, last commit message, age in days
  5. Present as dry-run preview — ask before deleting
  6. On confirmation, use git branch -d first; offer -D only with warning if unmerged
Show full SKILL.md (270 more words)Show less

Action: health

Run a comprehensive repository health check:

  1. Repository size:

    • .git directory size: du -sh .git
    • Working tree size: du -sh . --exclude=.git (or equivalent)
    • Object count: git count-objects -vH
  2. Large files (top 10 by size in history):

    • git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | awk '/^blob/ {print $3, $4}' | sort -rn | head -10
    • Flag files over 10MB
  3. Dangling objects:

    • git fsck --no-reflogs 2>&1 — look for dangling commits, blobs, trees
    • Report count and suggest git gc if significant
  4. Worktrees:

    • git worktree list — show active worktrees
  5. Remote status:

    • git remote -v — list remotes
    • Check if local is ahead/behind remote
  6. Stale tracking branches:

    • git remote prune origin --dry-run — branches that would be pruned
  7. Present findings with recommendations

  8. If cleanup is recommended (gc, prune), show the commands but always ask before running them

Action: all

  1. Find all git repositories under ~/Projects/:
    • find ~/Projects -maxdepth 3 -name .git -type d
  2. For each repository found: a. Show repo name and path b. Run the branches check (merged + gone remotes) c. Show summary: N merged branches, M gone-remote branches
  3. Per-repo confirmation — ask before deleting branches in each repo
  4. Show overall summary at the end

Safety Rules

  1. Never delete without confirmation — always preview first
  2. Never delete protected branches (main, master, develop)
  3. Never git push origin --delete on protected branches
  4. Never run git gc without asking
  5. Always preview first — every action starts as a dry run
  6. Per-repo confirmation for all — don't batch-delete across repos
  7. Use git branch -d (safe delete) first; only offer -D with explicit warning

© SpecterOps, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (assets) in plugins/workflows-development/skills/git-cleanup of SpecterOps/skills.

  • SKILL.md
  • agents/openai.yaml
  • assets/icon.png
  • assets/icon.svg

Open the folder on GitHubat commit e655f93

Compare with similar skills

Git Cleanup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Git Cleanup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Git Cleanup this skillSpecterOps/skills702—~1.1kAutomated safety check: PassApache-2.0
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Migrate Internal Package into GhostTryGhost/Ghost55k—~3.8kAutomated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    55k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Git Merge Conflict Resolver

    tailcallhq/forgecode

    Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.

    7.6k GitHub starsUsed in 1 repo~4.5k tokens
    DevelopmentAuto-check passed

More from SpecterOps/skills

All 38 skills in this repo
  • Codex Activity Report

    SpecterOps/skills

    Generate a normalized UTC timeline and evidence-based narrative from Codex activity artifacts.

    702 GitHub stars~805 tokensUpdated 14 days ago
    Auto-check passed
  • Com Proxy Triage

    SpecterOps/skills

    A skill your agent uses when the user wants to triage Windows COM proxy/hijack candidates by capturing HKCU\Software\Classes\CLSID\{...}\InProcServer32 NAME NOT FOUND lookups for a process, mapping…

    702 GitHub stars~1.5k tokensUpdated 14 days ago
    Auto-check passed
  • Cwe Code Review

    SpecterOps/skills

    Perform CWE-grounded security code reviews and precise weakness mapping using a locally derived MITRE CWE corpus, relationship graphs, mapping notes, detection methods, mitigations, and schema…

    702 GitHub stars~2.4k tokensUpdated 14 days ago
    Auto-check passed
  • Ghostwriter Oplog

    SpecterOps/skills

    A skill your agent uses for Ghostwriter operation log entries from Codex, including config guidance, quick notes, evidence-backed entries, and guided oplog capture through the Ghostwriter MCP tools.

    702 GitHub stars~665 tokensUpdated 14 days ago
    Auto-check passed
  • Nmap Parse

    SpecterOps/skills

    Parse nmap scan output and generate actionable recon notes. An agent skill from SpecterOps/skills.

    702 GitHub stars~738 tokensUpdated 14 days ago
    Auto-check passed
  • Osint Recon

    SpecterOps/skills

    Perform OSINT and external reconnaissance for approved targets.

    702 GitHub stars~813 tokensUpdated 14 days ago
    Auto-check passed

Works with

Categories

Questions about Git Cleanup

What does Git Cleanup do?

Repository hygiene — prune merged/stale branches, detect orphans, repo health checks. Git Cleanup is an agent skill from SpecterOps/skills. Repository hygiene — prune merged/stale branches, detect orphans, repo health checks.

When should I use Git Cleanup?

Git Cleanup fits situations like: cleaning up branches; checking repo health; scanning projects.

How do I install Git Cleanup in Claude Code?

Run `npx skills add SpecterOps/skills --skill git-cleanup -a claude-code`. Or copy the skill folder (plugins/workflows-development/skills/git-cleanup in SpecterOps/skills) into .claude/skills/git-cleanup in your project. Claude Code loads it when a task matches its description.

How do I install Git Cleanup in Codex?

Run `npx skills add SpecterOps/skills --skill git-cleanup -a codex`. Or copy the skill folder (plugins/workflows-development/skills/git-cleanup in SpecterOps/skills) into .agents/skills/git-cleanup in your project. Codex loads it when a task matches its description.

Can I use Git Cleanup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SpecterOps/skills --skill git-cleanup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/git-cleanup, .gemini/skills/git-cleanup, .github/skills/git-cleanup and .opencode/skills/git-cleanup in your project.

What does Git Cleanup need to run?

Going by SKILL.md and its folder, Git Cleanup needs the command-line tools its instructions call (git).

Does Git Cleanup access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Git Cleanup safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Git Cleanup use?

Git Cleanup is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Git Cleanup use?

About 1.1k tokens (SKILL.md is roughly 4.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Git Cleanup?

Skills that share tags, products or a category with Git Cleanup: Finishing a Development Branch (obra/superpowers, 296k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Migrate Internal Package into Ghost (TryGhost/Ghost, 55k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Git Cleanup?

SpecterOps (a GitHub organization) maintains it in SpecterOps/skills, which has 702 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on September 23, 2026.

Source: SpecterOps/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.