Skip to main content
Glama
Knuckles-Team

Repository Manager

Prune

rm_worktree_prune

Remove merged worktrees and dangling admin pointers, deleting their branches, to clean up repository workspaces without touching active or stale work.

Instructions

Prune (rm_worktree). Manage git worktrees for concurrent multi-session development (CONCEPT:RM-WORKTREE).

Each session works a repo in its own worktree on its own branch under <WORKTREE_ROOT>/<repo>/<branch> (shared .git, no re-clone), leaving the canonical checkout on its default branch so a working-tree reset never disturbs in-flight session work.

Input Schema

NameRequiredDescriptionDefault
baseNoBase branch to fork from / sync against.main
intoNoTarget branch for 'merge', or the reset target for 'reset_branch'.main
pathNoWorkspace root override.
repoNoRepo basename (e.g. 'epistemic-graph') or absolute path. Omit for 'list'/'prune' across all repos.
adoptNoFor 'add': move the canonical checkout's uncommitted WIP onto the new branch via a private ref (never the shared refs/stash stack).
forceNoFor 'remove': override git's own dirty-tree refusal once lane occupancy has already cleared (never bypasses occupancy itself, D-CDX-15).
reposNoFor 'bulk_add': comma-separated repo basenames (default: every workspace repo).
branchNoWorktree branch name (each session uses a distinct branch).
strategyNoFor 'sync': 'rebase' or 'merge'.rebase
stale_daysNoFor 'audit': an unmerged worktree quiet for longer than this many days is classified 'stale' (review) rather than 'active'.
prune_mergedNoFor 'audit': DESTRUCTIVE. After classifying, remove every 'merged' worktree (and delete its branch) plus prune 'dangling' admin pointers. Never touches 'active'/'stale' work or orphaned directories.
delete_branchNoFor 'remove': also delete the branch.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.5.1

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only tell the agent this is a non-readOnly, non-idempotent mutation; the description adds no behavioral context whatsoever — it never says what gets pruned, that branches may be deleted, or that pruning is irreversible. The closing claim about resets not disturbing in-flight work is a generic subsystem property, not a disclosure about this tool's effects. It does not, however, contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is reasonably short and front-loaded, but the entire body is concept boilerplate that is not specific to pruning, so most of it does not earn its place for the purpose of invoking this tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter mutation tool with no required parameters, mode-dependent behavior, and a destructive prune_merged option, the description omits the operation semantics entirely. The presence of an output schema excuses explaining return values, but not the missing account of what prune does and when.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all 12 parameters (including mode-specific ones like prune_merged, stale_days, force, adopt) are documented in the schema itself, so the baseline of 3 applies. The description contributes nothing beyond the schema — it does not clarify which parameter set corresponds to a prune invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Prune (rm_worktree)" merely restates the tool name and title, and the remaining sentences describe the worktree subsystem in general (shared .git, branch layout, canonical checkout) rather than what this tool actually does. Nothing distinguishes it from siblings like rm_worktree_audit, rm_worktree_remove, or repository_manager_worktree_hygiene, and the fact that prune deletes merged worktrees and admin pointers (per the schema's prune_merged param) is never stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no named alternatives despite a dense family of worktree tools (rm_worktree_audit, rm_worktree_remove, rm_worktree_hygiene, rm_worktree_list). The generic architecture blurb implies a worktree context but never tells the agent when prune is the right call versus those siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools