Create a Git Worktree

VerifiedSafe

Creates a git worktree in a sibling directory for working on a feature branch in parallel with the main branch. It automatically determines the repository name and branch, optionally from a specified base branch. Useful for developing features or fixing bugs without switching branches in the main repository.

Sby Skills Guide Bot
DevelopmentIntermediate
806/2/2026
Claude Code
#git#worktree#branching#parallel-development

Recommended for

Our review

Creates a Git worktree to work on a separate branch in an isolated directory without switching branches.

Strengths

  • Enables parallel work on multiple branches without workspace conflicts.
  • Automates worktree path naming and base branch selection.
  • Provides a cleanup reminder after creation.

Limitations

  • Requires a properly initialized Git repository and the base branch to exist locally or remotely.
  • Does not handle cases where the target directory already exists.
When to use it

Use this skill when you need to work on a feature or fix in an isolated directory while keeping your current branch untouched.

When not to use it

Avoid using it for simple branch switching or if you prefer to manage worktrees manually.

Security analysis

Safe
Quality score85/100

The skill only runs standard git worktree commands (git rev-parse, branch, worktree list/add/remove) within the repository, with no destructive actions or external communication.

No concerns found

Examples

Create new feature branch worktree
/worktree feature-auth
Create worktree from custom base branch
/worktree fix-bug develop
Create worktree for an existing remote branch
/worktree existing-branch

name: worktree description: Create a git worktree for parallel development. Use when the user wants to work on a feature branch in a separate directory without switching branches. disable-model-invocation: true allowed-tools: Bash, Read

Git Worktree

Create a git worktree for working on a separate branch in parallel.

Current State

  • Repository: !basename $(git rev-parse --show-toplevel)
  • Current branch: !git branch --show-current
  • Existing worktrees: !git worktree list

Instructions

Parse $ARGUMENTS to determine:

  1. Branch name - required (first argument)
  2. Base branch - optional (second argument, defaults to main)

Workflow

  1. Determine the worktree path: Use ../<repo-name>-<branch-name> as the directory (sibling to the current repo).

  2. Check if the branch already exists:

    git branch --list <branch-name>
    git branch -r --list "origin/<branch-name>"
    
  3. Create the worktree:

    • If branch exists locally or remotely: git worktree add <path> <branch-name>
    • If new branch: git worktree add -b <branch-name> <path> <base-branch>
  4. Report the result with the full path so the user can navigate to it.

Examples

  • /worktree feature-auth → Creates ../<repo>-feature-auth on new branch feature-auth from main
  • /worktree fix-bug develop → Creates ../<repo>-fix-bug on new branch fix-bug from develop
  • /worktree existing-branch → If branch exists, checks it out in a new worktree

Cleanup Reminder

After reporting success, remind the user how to clean up when done:

git worktree remove <path>
# or to also delete the branch:
git worktree remove <path> && git branch -d <branch-name>
Related skills