Claude Code Plugins

Community-maintained marketplace

Feedback
0
0

Guide for using git worktrees to parallelize development with coding agents. Use this skill when the user requests to work in a new worktree or wants to work on a separate feature in isolation (e.g., "Work in a new worktree", "Create a worktree for feature X").

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name worktrees
description Guide for using git worktrees to parallelize development with coding agents. Use this skill when the user requests to work in a new worktree or wants to work on a separate feature in isolation (e.g., "Work in a new worktree", "Create a worktree for feature X").

Git Worktrees for Parallel Development

Overview

This skill enables parallel development by using git worktrees. Each worktree provides an isolated working directory with its own branch, allowing multiple agents to work on different features simultaneously without conflicts.

When to Use This Skill

Use this skill when:

  • User explicitly requests to work in a new worktree (e.g., "Work in a new worktree")
  • User wants to develop a feature in isolation while preserving the main working directory
  • Multiple agents need to work on different tasks in parallel

Workflow

1. Determine Branch Name

Choose a descriptive branch name for the feature or task to be worked on. The branch name should follow standard git naming conventions (lowercase, hyphen-separated, e.g., add-user-authentication, fix-login-bug).

2. Create Worktree

Create a new worktree in the .worktrees/ directory within the current project:

git worktree add .worktrees/<branch-name> -b <branch-name>

This command:

  • Creates a new directory at .worktrees/<branch-name>
  • Creates and checks out a new branch named <branch-name>
  • Links the worktree to the current repository

3. Switch to Worktree

Change the working directory to the newly created worktree:

cd .worktrees/<branch-name>

4. Work in Isolation

Proceed with development tasks in the worktree. This environment is completely isolated from the main working directory, allowing independent work without interference.

All standard git operations (commit, push, pull, etc.) work normally within the worktree.

Note: If this project runs services (web apps, docker-compose, etc.), see apps.md for setup steps including environment file copying, port allocation, and service startup.

5. List Active Worktrees (Optional)

To view all active worktrees:

git worktree list

This displays all worktrees, their paths, and the branches they're on.

6. Remove Worktree (Optional)

When you're done with a worktree, you can remove it:

git worktree remove .worktrees/<branch-name>

Note: Don't automatically remove worktrees. Leave that decision to the user. If the worktree is running services (see apps.md), make sure to stop those services first before removing the worktree.

Important Notes

  • The .worktrees/ directory should be added to .gitignore if not already present
  • Each worktree maintains its own working directory but shares the same git repository
  • Worktrees enable true parallel development without the need for stashing or branch switching
  • After creating and switching to a worktree, inform the user of the new working directory path