gsd-task-manager: Skill for Claude Code

.agents/skills/cleaning-up-merged-branches/SKILL.md

cleaning-up-merged-branches is a skill for Claude Code, Codex from vscarpenter/gsd-task-manager. It costs 92 tokens per session (636 once invoked), scanned A, original, MIT.

A guide for cleaning up a local Git feature branch after its pull request is merged on GitHub. A feature branch is a separate line of code work, and a pull request is a proposed change for review.

In plain words
What is it for?
Use it to update main, check that the merged changes are present, and remove the obsolete local branch.
Why use it?
It prevents accidental deletion before the changes are confirmed in main, especially when GitHub combines the branch into one squash commit.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents).

This is vscarpenter/gsd-task-manager's own configuration. It tells Claude Code and Codex how to work on gsd-task-manager itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything gsd-task-manager configures →

Reuse

Borrowing it

Nothing to install: this file belongs to vscarpenter/gsd-task-manager. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/vscarpenter/gsd-task-manager/main/.agents/skills/cleaning-up-merged-branches/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/vscarpenter/gsd-task-manager

Made for: Claude Code, Codex.

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 cleaning-up-merged-branches

README.md
[![agentmods](https://agentmods.dev/badge/skills/vscarpenter/gsd-task-manager/cleaning-up-merged-branches/github.svg)](https://agentmods.dev/skills/vscarpenter/gsd-task-manager/cleaning-up-merged-branches)
Your own site
<a href="https://agentmods.dev/skills/vscarpenter/gsd-task-manager/cleaning-up-merged-branches"><img src="https://agentmods.dev/badge/skills/vscarpenter/gsd-task-manager/cleaning-up-merged-branches/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cleaning-up-merged-branches

Your own site · 80×15
<a href="https://agentmods.dev/skills/vscarpenter/gsd-task-manager/cleaning-up-merged-branches"><img src="https://agentmods.dev/badge/skills/vscarpenter/gsd-task-manager/cleaning-up-merged-branches.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 92 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 636 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original 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.00092 $0.00636
Opus 5 $0.00046 $0.00318
Sonnet 5 $0.00018 $0.00127
Haiku 4.5 $0.00009 $0.00064

Measured 12d ago against content hash 8752a18e8f25, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

cleaning-up-merged-branches scanned grade A with 0 findings 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 12d ago.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/cleaning-up-merged-branches/SKILL.md · 50 lines

How it starts

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

Cleaning up merged branches

Sync main and remove the now-stale local feature branch after the user merges a PR on GitHub. This repo squash-merges PRs by default, so the plain git branch -d refuses to delete the branch — verify the content actually landed in main, then force-delete.

Steps

  1. Fetch, prune stale remote-tracking refs, and note the current branch: git fetch origin --prune && git branch --show-current
  2. Switch to main and pull the merge (local main still points at the pre-merge commit until you do this): git checkout main && git pull origin main
  3. Try the safe delete of the feature branch: git branch -d <branch>
    • Succeeds → done; go to Verify.
    • Fails with error: the branch '<branch>' is not fully merged → expected for a squash merge. GitHub squashed the branch into one new commit, so its original commits are not ancestors of main even though the content landed. Continue.
  4. Confirm the branch's content is fully in main before force-deleting. The ':!.blume' pathspec excludes local .blume/ tool artifacts that are never committed: git diff main <branch> -- . ':!.blume'
    • Empty output → content is fully in main; safe to force-delete.
    • Non-empty output → the branch has unmerged changes. Stop, show the diff to the user, and do NOT force-delete.
  5. Force-delete the redundant local branch: git branch -D <branch>

Verify

  • git branch shows the feature branch is gone and you are on main.
  • git log --oneline -1 shows main at the squash-merge commit.

Gotchas

  • Deleting multiple branches at once: zsh does not word-split an unquoted variable (unlike bash), so git branch -D $branches passes the whole list as one bad refspec and deletes nothing. Pipe the list through xargs instead: ... | xargs git branch -D.
  • Deleting remote branches (git push origin --delete <branch>) is externally visible — confirm with the user first. Local cleanup above does not require it; git fetch origin --prune already drops stale remote-tracking refs.

Read the full file on GitHub · 50 lines

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. 12d ago First seen · 50 lines · 92 tokens per session scan A 8752a18e8f25

Subscribe to this mod's changes

cleaning-up-merged-branches is a skill published in the GitHub repository vscarpenter/gsd-task-manager (25 stars, last pushed today), licensed MIT. It adds 92 tokens to every session and 636 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

polish-docs-meta

Finalize documentation and project metadata for a ship-ready release. Use after implementation is complete, tests pass, and devcheck is clean. Safe to run at any stage — each step checks current state and only acts on what still needs work.

cyanheads/git-mcp-server · 53 tokens

release-and-publish

Ship a release end-to-end across every registry this project targets (npm, MCP Registry). Runs the final verification gate, pushes commits and tags, then publishes to each applicable destination. Assumes git wrapup (version bumps, changelog, commit, annotated tag) is already complete — this skill is the post-wrapup…

cyanheads/git-mcp-server · 83 tokens

memory-commit

Use when the user explicitly says "remember this", "save this", "ghi nho", "luu lai", "save for next time", or otherwise asks to persist the immediately preceding context. Captures with the appropriate contexttype (decision, preference, fact, skill, task, conversation) so future sessions can retrieve it accurately.

n24q02m/mnemo-mcp · 72 tokens

feedback-nudge

Use when the user wants to report a bug, request a feature, or send feedback to the Zooza engineering team. Also offer proactively after a successful commit operation (max once per week).

zooza-dev/zooza-mcp-server · 38 tokens

publish-release

Releases a new McpOrchestrator version end to end — version bump PR, tag, and the automated deploy to GitHub Releases, NuGet, and the MCP Registry. Use when asked to release, publish, deploy, ship, or bump the version of McpOrchestrator.

Byggarepop/dotnet-mcp-orchestrator · 63 tokens

release-notes

Writes user-facing release notes from a git commit range. Use when asked to draft release notes, a changelog entry, or "what's new" text for a release.

Byggarepop/dotnet-mcp-orchestrator · 39 tokens