About manage-worktrees
A skill for managing Git worktrees, from deciding whether isolation is needed to setting up and cleaning up worktrees. It provides safeguards for placement, nested worktrees, and removing branches only after their work is preserved remotely or waived by the user.
Key features
- 01Detect whether the checkout is a worktree
- 02Prefer native harness worktree tools
- 03Create worktrees under `.worktrees/`
- 04Set up dependencies for build or tests
- 05Remove worktrees and prune registrations
Use cases
- 01Isolate parallel agent work
- 02Work beside an occupied checkout
- 03Clean up a merged or abandoned branch
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ klausborges/ workflow-skills --skill manage-worktreesAfter installing, type/manage-worktreesin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlskill.toml
Details
From the project READMEManage Worktrees
Placement rules follow the git-conventions skill. Worktrees are optional: reach for one when isolation helps (parallel agents, work beside an occupied checkout) and work in place otherwise.
Workflow
- Detect existing isolation first: when
git rev-parse --git-dirand--git-common-dirdiffer andgit rev-parse --show-superproject-working-treeprints nothing, this is already a worktree; use it and skip creation. - Prefer the harness's native worktree tool when one exists; it manages placement and cleanup itself.
- Manual fallback: confirm
.worktrees/is ignored (git check-ignore -q .worktrees/wt; add it to.gitignoreand commit when missing), thengit worktree add .worktrees/<flattened-branch> <branch>for an existing branch, adding-b <branch>to create one. - Run the repo's dependency setup in the new worktree when the work needs a build or tests.
- Clean up once a branch merges or is abandoned:
git worktree remove <path>, delete the branch, andgit worktree prunefor broken registrations. Audit withgit worktree listwhen in doubt.
Guardrails
- Never nest a worktree inside another worktree.
- Create worktrees only under
.worktrees/or a native harness home; project folders stay free of bare worktree siblings. - Removal waits until the branch tip is reachable from the remote or the user waives it.
Output
The worktree path and branch, or the cleanup performed per git worktree list.
Comments
Markdown supported