Back to Skills

git-worktree-setup

verified

Set up Git worktrees for agent parallelization with isolated environments. Use when setting up parallel agent execution, creating isolated environments per agent, or enabling concurrent development workflows.

View on GitHub

Marketplace

melodic-software

melodic-software/claude-code-plugins

Plugin

tac

Repository
Verified Org

melodic-software/claude-code-plugins
13stars

plugins/tac/skills/git-worktree-setup/SKILL.md

Last Verified

January 21, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/melodic-software/claude-code-plugins/blob/main/plugins/tac/skills/git-worktree-setup/SKILL.md -a claude-code --skill git-worktree-setup

Installation paths:

Claude
.claude/skills/git-worktree-setup/
Powered by add-skill CLI

Instructions

# Git Worktree Setup Skill

Guide creation of isolated Git worktree environments for parallel agent execution.

## When to Use

- Setting up parallel agent execution
- Creating isolated development environments
- Configuring port allocation for multiple instances
- Planning worktree directory structure

## Core Concepts

### Why Worktrees?

Git worktrees provide:

- Filesystem isolation per agent
- Shared Git object database
- Independent branches
- Clean checkout from origin/main

### Directory Structure

```text
repository_root/
├── trees/
│   ├── {adw_id}/           # Isolated worktree
│   │   ├── src/
│   │   ├── .ports.env
│   │   └── ...
│   └── ...                  # Up to 15 concurrent
├── agents/
│   └── {adw_id}/
│       └── adw_state.json
└── main codebase/
```

### Port Allocation

Deterministic formula:

```text
slot = hash(adw_id) % 15
backend_port = 9100 + slot
frontend_port = 9200 + slot
```

## Setup Workflow

### Step 1: Plan Worktree Location

Identify where worktrees should live:

```text
Default: trees/{adw_id}/
Alternative: .worktrees/{adw_id}/
```

### Step 2: Create Worktree

Commands to execute:

```bash
# Fetch latest
git fetch origin

# Create worktree with new branch
git worktree add trees/{adw_id} -b {branch_name} origin/main
```

### Step 3: Configure Ports

Create `.ports.env`:

```bash
BACKEND_PORT={backend_port}
FRONTEND_PORT={frontend_port}
VITE_BACKEND_URL=http://localhost:{backend_port}
```

### Step 4: Copy Environment

```bash
cp .env trees/{adw_id}/.env
cat trees/{adw_id}/.ports.env >> trees/{adw_id}/.env
```

### Step 5: Update Configurations

For any absolute path configurations (MCP, etc.):

- Update paths to point to worktree location
- Use absolute paths, not relative

### Step 6: Install Dependencies

```bash
cd trees/{adw_id}
# Backend dependencies
cd app/server && uv sync --all-extras
# Frontend dependencies
cd app/client && bun install
```

## Validation Checklist

After setup, validate:

- [ ] Worktree directory exist

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3540 chars