Create and manage git worktrees for parallel agent sessions
Scanned 9/9/2026
Install to Claude Code
npx -y skills add DavidROliverBA/ArchitectKB --skill worktree --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Worktree?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/davidroliverba-worktree)More formats (shields.io, HTML) on the badges page.
---
name: worktree
description: Create and manage git worktrees for parallel agent sessions
model: opus
---
# Worktree Management
Manage git worktrees for parallel Claude Code sessions and subagent dispatch.
## Commands
| Command | Usage | Purpose |
|---------|-------|---------|
| `/worktree create <slug>` | Create a new worktree | Isolated workspace for parallel work |
| `/worktree list` | List active worktrees | See what's running |
| `/worktree merge <slug>` | Merge and clean up | Bring work back to main |
| `/worktree cleanup <slug>` | Remove without merging | Abandon a worktree |
## Execution
All commands delegate to `.claude/scripts/worktree-manager.sh`:
```bash
.claude/scripts/worktree-manager.sh <command> [slug]
```
**IMPORTANT:** The script operates on the vault root. Always run from the vault directory. Use `dangerouslyDisableSandbox: true` because worktrees are created outside the vault directory (sibling path).
## Slug Rules
- Lowercase alphanumeric with hyphens: `meeting-notes-batch`, `architecture-review`
- Becomes the branch name: `worktree/<slug>`
- Becomes the directory name: `../<vault>-worktrees/<slug>/`
## Dispatching Subagents to Worktrees
After creating a worktree, dispatch subagents with the worktree path as their working directory:
```
1. Create worktree: /worktree create meeting-notes-batch
2. Note the path from output (e.g. /Users/.../BA-DavidOliver-ObsidianVault-worktrees/meeting-notes-batch)
3. Dispatch subagent with Task tool, including in the prompt:
"Work in /Users/.../BA-DavidOliver-ObsidianVault-worktrees/meeting-notes-batch"
4. When subagent completes: /worktree merge meeting-notes-batch
```
## Multi-Session Usage
For separate Claude Code terminals working in parallel:
1. Session A: `/worktree create feature-alpha` → opens terminal in worktree path
2. Session B: `/worktree create feature-beta` → opens terminal in worktree path
3. Each session works independently
4. When done: `/worktree merge feature-alpha` (from the main vault session)
## Conventions
- **Branch naming:** `worktree/<slug>` — visually distinct in git log
- **Merge strategy:** `--no-ff` for clean merge commits
- **Config copied:** `.claude/` and `.mcp.json` are copied to each worktree
- **Not copied:** `.obsidian/` — worktrees are agent workspaces, not Obsidian vaults
- **Location:** Sibling directory `../<vault>-worktrees/<slug>/` (outside vault, invisible to Obsidian)
## Troubleshooting
| Issue | Fix |
|-------|-----|
| "slug required" | Provide a slug: `/worktree create my-task` |
| Merge conflicts | Resolve manually in main, then `git worktree remove` |
| Sandbox blocks worktree creation | Use `dangerouslyDisableSandbox: true` |
| Worktree already exists | Idempotent — reuses existing worktree |

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!