using-git-worktrees

Creates isolated git worktree workspaces with native tool detection and baseline test verification.

Updated Aug 22, 2026
One-click install
npx skills add https://github.com/farslab/claude-skills --skill using-git-worktrees-farslab
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: using-git-worktrees
Source: https://github.com/farslab/claude-skills/tree/main/using-git-worktrees
Command: npx skills add https://github.com/farslab/claude-skills --skill using-git-worktrees-farslab

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Starting feature work directly in your main checkout risks polluting your current branch and mixing unrelated changes. This Skill ensures every implementation task begins in an isolated workspace, using your platform's native worktree tools when available and falling back to manual git worktrees otherwise. ## Core Features & Use Cases - Isolation Detection: Checks whether you are already inside a linked worktree or a submodule before creating anything, avoiding duplicate or phantom worktrees. - Native Tool Preference: Uses harness-provided worktree tools (e.g., EnterWorktree) first, falling back to git worktree add only when no native tool exists. - Safe Directory Management: Selects .worktrees/ or worktrees/ directories, verifies they are git-ignored, and commits the ignore rule if needed. - Use Case: Before implementing a new feature, the Skill sets up an isolated worktree, installs project dependencies (npm, cargo, pip, go), runs baseline tests, and reports a clean starting state. ## Quick Start Set up an isolated git worktree for my new feature branch and verify the project tests pass before I start implementing.

Frequently Asked Questions about using-git-worktrees

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an isolated git worktree for feature development?▼

Run `git worktree add <path> -b <branch-name>` to create a linked worktree on a new branch. Prefer placing it in a `.worktrees/` directory at the project root, and verify that directory is listed in .gitignore before creating it.

How do I check if I am already inside a git worktree?▼

Compare `git rev-parse --git-dir` with `git rev-parse --git-common-dir`. If the resolved paths differ, you are in a linked worktree. Also run `git rev-parse --show-superproject-working-tree` to rule out being inside a submodule, which shows the same difference.

Should I use git worktree add or a native worktree tool?▼

Use the native worktree tool (such as EnterWorktree or a /worktree command) whenever one is available. Native tools manage directory placement, branch creation, and cleanup automatically, while manual `git worktree add` can create state the harness cannot track.

Why must the worktrees directory be in .gitignore?▼

An unignored worktree directory risks committing the entire nested worktree contents into the parent repository. Verify with `git check-ignore -q .worktrees` and, if it is not ignored, add it to .gitignore and commit that change before creating the worktree.

What happens if git worktree add fails with a permission error?▼

A permission error usually means the sandbox blocked worktree creation. In that case, inform the user that the sandbox denied the operation and continue working in the current directory, running dependency setup and baseline tests in place.