git-cleanup

git-cleanup is a skill for Claude Code, Codex from OutlineDriven/odin-claude-plugin. It costs 35 tokens per session (1,064 once invoked), scanned B, original, Apache-2.0.

Use when the user explicitly invokes branch or worktree cleanup for a repo with accumulated local branches. Don't use for remote branch deletion or force-push operations.

Skill for Claude CodeCodex

Written for Claude Code and Codex: disable-model-invocation in frontmatter, but also agents/openai.yaml present.

Part of the odin-git plugin — 46 skills shipped together

Install with agentmods
npx agentmods add skills/outlinedriven/odin-claude-plugin/git-cleanup
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add OutlineDriven/odin-claude-plugin --skill git-cleanup
Clone the repo
git clone --depth 1 https://github.com/OutlineDriven/odin-claude-plugin

Made for: Claude Code, Codex.

Or install odin-git, the plugin that ships this one along with the rest of its 46 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for git-cleanup

README.md
[![agentmods](https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/git-cleanup.svg)](https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/git-cleanup)
Your own site
<a href="https://agentmods.dev/skills/outlinedriven/odin-claude-plugin/git-cleanup"><img src="https://agentmods.dev/badge/skills/outlinedriven/odin-claude-plugin/git-cleanup.svg" alt="Measured on agentmods" height="20"></a>
Per session 35 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,064 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin unknown No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00035 $0.01064
Opus 5 $0.00017 $0.00532
Sonnet 5 $0.00007 $0.00213
Haiku 4.5 $0.00003 $0.00106

Measured today against content hash be988d622243, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade B, and why

git-cleanup scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Unrestricted tool accessmediumExcessive agency

A wildcard tool grant or "run any command" leaves no least-privilege boundary at all.

5. Present the full categorized list and, for each recommended deletion, the exact quoted command the user must confirm (for example `git branch -d <name>` or `git worktree remove <path>`). Do not execute any command yet
plugins/odin-git/skills/git-cleanup/SKILL.md · 41 lines

How it starts

The opening of the file, as written. The whole thing — 41 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Git cleanup

Contract

Field Bound contract
Trigger The user explicitly invokes branch/worktree cleanup for a repository with accumulated local branches or worktrees.
Authority Reversible local: writes only VCS-tracked local branches and clean worktrees; rollback is git reflog and remote refs. No remote mutation. Show the exact set before any deletion.
Side effect Delete confirmed local git branches and clean worktrees only; dirty worktrees and protected branches are refused.
Done Every local branch is categorized or surfaced as unanalyzed, every recommended deletion has evidence, exact quoted commands receive final confirmation, and each command is reported as deleted or failed.

Inputs

A local git repository path (defaults to the current working directory). No remote credentials, no force-push targets, no protected-branch list beyond the repository's own configuration. The user supplies final confirmation for each deletion command; nothing is deleted without it.

Procedure

  1. Run git branch -vv and git worktree list to enumerate every local branch and worktree. Record the current branch and the default upstream branch as protected; never propose their deletion. Done when: every local branch and worktree is enumerated and the current branch plus default upstream are marked protected.
  2. For each local branch, determine merge status against its upstream and against the current branch: run git branch --merged and git branch --no-merged, then git log <branch> --not <upstream> --oneline to surface unmerged commits. Categorize each branch as merged, unmerged-with-evidence, or unanalyzed when the upstream is missing or the comparison is ambiguous. Done when: each branch carries one of merged, unmerged-with-evidence, or unanalyzed with its evidence.
  3. For each worktree, run git -C <path> status --porcelain to classify it as clean or dirty. Mark dirty worktrees as refused for deletion. Done when: every worktree is classified clean or dirty.
  4. For every branch or clean worktree recommended for deletion, attach the evidence that justifies it: the merge commit SHA, the empty git log output proving no unique commits, or the worktree's clean status. Branches categorized unanalyzed are surfaced with their reason and never recommended for deletion. Done when: each recommended deletion has its evidence attached and no unanalyzed branch is recommended.
  5. Present the full categorized list and, for each recommended deletion, the exact quoted command the user must confirm (for example git branch -d <name> or git worktree remove <path>). Do not execute any command yet. Done when: the categorized list and every recommended deletion's exact quoted command are shown, with nothing executed.
  6. Wait for explicit human confirmation of each exact quoted command. Refuse to batch, abbreviate, or infer confirmation. Done when: the user confirms each exact quoted command individually, or declines.
  7. Execute only the confirmed commands, one at a time, in the order confirmed. After each command, record whether it succeeded (deleted) or failed, capturing the exact git error message. Done when: each confirmed command ran and is recorded deleted or failed with its git error message.

Read the full file on GitHub · 41 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 41 lines · 35 tokens per session scan B be988d622243

Subscribe to this mod's changes

git-cleanup is a skill published in the GitHub repository OutlineDriven/odin-claude-plugin (35 stars, last pushed today), licensed Apache-2.0. It adds 35 tokens to every session and 1,064 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (unrestricted tool access). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-06.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens