maragudk/skills

worktrees

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").

First seen Jan 24, 2026

Installation

$ npx skills add maragudk/skills --skill worktrees

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from maragudk/skills · top by installs.

npx skills add maragudk/skills

Browse all from maragudk/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 49
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,010 B
  • docs SUMMARY.md 278 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 31 installs

SKILL.md

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](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](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