Parallel development workflow using git worktrees. Prepares isolated worktree directories and executes tasks across multiple workspaces for concurrent feature development. Use when user wants parallel branches, concurrent development, or asks about git worktrees.
Install
npx skillscat add henkisdabro/wookstar-claude-plugins/git-worktrees Install via the SkillsCat registry.
Git Worktrees - Parallel Development Workflow
Enable parallel feature development by creating isolated git worktree directories, then executing the same plan across multiple workspaces simultaneously.
Workflow Overview
Phase 1: Prepare Worktrees
Create N isolated worktrees for parallel development:
# Create worktree directory
mkdir -p trees
# Create worktrees (example: 3 parallel workspaces)
git worktree add -b feature-1 ./trees/feature-1
git worktree add -b feature-2 ./trees/feature-2
git worktree add -b feature-3 ./trees/feature-3
# Verify worktrees
git worktree listEach worktree is a complete, isolated copy of the codebase. All worktrees share git history but have independent working directories.
Phase 2: Execute Tasks in Parallel
Launch N subagents (one per worktree) using the Task tool:
- Each agent independently implements the plan in their workspace
- Agents produce RESULTS.md summarising their changes
- Compare results and cherry-pick the best implementation
Example Task invocation:
Use the Task tool to launch a general-purpose agent with:
- prompt: "Working in trees/feature-1, implement [plan]. Write a RESULTS.md summarising changes."
- run_in_background: true (for parallel execution)When to Use
- Experimental implementations - Compare different approaches
- A/B testing code changes - Try multiple solutions simultaneously
- Reducing iteration time - Run multiple attempts in parallel
- Complex refactoring - Test different strategies concurrently
Best Practices
- Keep worktree count reasonable (2-4) to manage cognitive load
- Focus on code changes only - No tests during parallel execution
- Clean up worktrees after selecting the winning implementation:
git worktree remove ./trees/feature-1 git worktree prune - Cherry-pick the winner to your main branch:
git cherry-pick feature-2 # or merge the branch git merge feature-2
Directory Structure
project/
├── trees/
│ ├── feature-1/ # Worktree 1 (full codebase copy)
│ │ └── RESULTS.md
│ ├── feature-2/ # Worktree 2 (full codebase copy)
│ │ └── RESULTS.md
│ └── feature-3/ # Worktree 3 (full codebase copy)
│ └── RESULTS.md
└── (main working directory)RESULTS.md Template
Each agent should produce a summary in this format:
# Results - [Feature Name]
## Changes Made
- List of files modified/created
- Summary of approach taken
## Key Decisions
- Design choices made
- Trade-offs considered
## Testing Notes
- How to verify the implementation
- Known limitations