Skip to content
Back to skills

Worktree

ASecurity

Create and manage git worktrees for parallel agent sessions

  • 52 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 9, 2026
ai-agentsbashgit

Works with

  • claude code
  • terminal
  • mcp

Security analysis

A100/100

Scanned September 9, 2026

npx -y skills add DavidROliverBA/ArchitectKB --skill worktree --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Worktree?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Worktree
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/davidroliverba-worktree/badge)](https://www.skillsdirectory.com/skills/davidroliverba-worktree)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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 |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…