AgentSkillsCN

git-worktrees

在并行运行多个 Claude Code 实例以应对不同功能需求时,可使用 Git Worktrees——它能创建独立的工作空间,配备各自的分支与虚拟环境。

SKILL.md
--- frontmatter
name: git-worktrees
description: Use git worktrees when running multiple Claude Code instances in parallel for different features - creates isolated workspaces with separate branches and virtual environments

Parallel Development with Git Worktrees

Overview

Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously without switching. This is essential when running multiple Claude Code instances in parallel.

Core principle: One worktree per Claude Code instance ensures isolation and prevents conflicts.

Announce at start: "I'm using the git-worktrees skill to set up an isolated workspace."

When to Use

  • Running multiple Claude Code instances for different features
  • Need to work on a feature branch while keeping main branch accessible
  • Parallel development on separate tasks

Setup

bash
# Create worktrees for parallel development
git worktree add ../dropkit-feature-a feature-a
git worktree add ../dropkit-feature-b feature-b

# Each worktree gets its own directory with full codebase
# Run Claude Code in each directory independently

Guidelines for Parallel Instances

  1. One worktree per Claude Code instance - Never run multiple instances in the same directory
  2. Separate branches - Each worktree should be on its own feature branch
  3. Independent uv sync - Run uv sync in each worktree (creates separate .venv)
  4. Tests run independently - Each worktree can run its own test suite without conflicts
  5. Merge via main branch - When features are complete, merge branches to main

Managing Worktrees

bash
# List all worktrees
git worktree list

# Remove a worktree when done
git worktree remove ../dropkit-feature-a

# Prune stale worktree entries
git worktree prune

Potential Conflicts to Avoid

ResourceRiskMitigation
~/.config/dropkit/User config is sharedDon't modify during parallel dev
~/.ssh/configSSH config is sharedCoordinate droplet names
DigitalOcean APICreating droplets with same nameUse unique droplet names per worktree

Quick Reference

SituationAction
Starting parallel workCreate new worktree with feature branch
New worktree createdRun uv sync to create isolated venv
Feature completeMerge to main, remove worktree
Stale worktreesRun git worktree prune

Example Workflow

code
You: I'm using the git-worktrees skill to set up an isolated workspace.

[Create worktree: git worktree add ../dropkit-auth feature/auth]
[Run uv sync]
[Run uv run pytest - all passing]

Worktree ready at ../dropkit-auth
Tests passing
Ready to implement auth feature