worktree
Create a git worktree from a target branch with a new branch name
Install
mkdir -p .claude/skills/worktree && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14684" && unzip -o skill.zip -d .claude/skills/worktree && rm skill.zipInstalls to .claude/skills/worktree
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create a git worktree from a target branch with a new branch nameAbout this skill
Create Git Worktree
Create a new git worktree checked out from a target branch. Arguments: $ARGUMENTS should be in the format <target-branch> <new-branch-name>.
Examples:
/worktree main feature/add-auth/worktree prod hotfix/fix-crash/worktree test fix/flaky-tests
Step 1: Parse Arguments
Extract from $ARGUMENTS:
- Target branch (first arg): The base branch to create the worktree from (e.g.,
main,test,prod) - New branch name (second arg): The name for the new branch in the worktree
If arguments are missing, ask the user to provide them in the format: /worktree <target-branch> <new-branch-name>
Step 2: Fetch Latest
git fetch origin
Step 3: Determine Worktree Path
Place the worktree as a sibling directory to the current repo:
# If repo is at /Users/user/work/nudgebee/nudgebee
# Worktree goes to /Users/user/work/nudgebee/nudgebee-<new-branch-name>
REPO_ROOT=$(git rev-parse --show-toplevel)
WORKTREE_DIR="${REPO_ROOT}-$(echo '<new-branch-name>' | tr '/' '-')"
The branch name's slashes are converted to dashes for the directory name (e.g., feature/add-auth becomes nudgebee-feature-add-auth).
Step 4: Create the Worktree
git worktree add -b <new-branch-name> "$WORKTREE_DIR" origin/<target-branch>
This creates a new branch <new-branch-name> based on origin/<target-branch> and checks it out in the worktree directory.
Step 5: Verify and Output
# Show all worktrees
git worktree list
Output:
Worktree created:
Path: {worktree_dir}
Branch: {new-branch-name}
Based on: origin/{target-branch}
To start working:
cd {worktree_dir}
To remove later:
git worktree remove {worktree_dir}