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.
curl -O https://raw.githubusercontent.com/vscarpenter/gsd-task-manager/main/.agents/skills/cleaning-up-merged-branches/SKILL.mdgit clone --depth 1 https://github.com/vscarpenter/gsd-task-managerWrote 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.
[](https://agentmods.dev/skills/vscarpenter/gsd-task-manager/cleaning-up-merged-branches)<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.
<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>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once 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 |
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.
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
- Fetch, prune stale remote-tracking refs, and note the current branch:
git fetch origin --prune && git branch --show-current - Switch to
mainand pull the merge (localmainstill points at the pre-merge commit until you do this):git checkout main && git pull origin main - 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 ofmaineven though the content landed. Continue.
- Confirm the branch's content is fully in
mainbefore 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.
- Empty output → content is fully in
- Force-delete the redundant local branch:
git branch -D <branch>
Verify
git branchshows the feature branch is gone and you are onmain.git log --oneline -1showsmainat the squash-merge commit.
Gotchas
- Deleting multiple branches at once: zsh does not word-split an unquoted
variable (unlike bash), so
git branch -D $branchespasses the whole list as one bad refspec and deletes nothing. Pipe the list throughxargsinstead:... | 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 --prunealready drops stale remote-tracking refs.
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.
- 12d ago First seen · 50 lines · 92 tokens per session scan A 8752a18e8f25
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.
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.
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…
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.
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).
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.
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.