using-git-worktreeslisted
Install: claude install-skill alexei-led/cc-thingz
# Git Worktrees
Use one sibling worktree root per project: `<project>.worktrees/<branch-slug>`. Keep the main worktree clean on the integration branch by default. Trivial solo one-liners may stay in the main worktree when a worktree would add pointless ceremony.
Treat a worktree as a disposable branch folder. Remove it and its branch after the PR merges.
## Scope
Use this skill when:
- starting a feature, fix, or experiment that should not disturb current work
- working on multiple branches at once
- trying competing approaches
- the current worktree has uncommitted changes and the user wants to start something else
Do not use this skill for:
- simple branch switching with no parallel work
- bulk branch or stale worktree cleanup — use `cleanup-git`
- git hook, Gitleaks, `.gitignore`, or config setup — use `configuring-git-hygiene`
## Create Workflow
Check state before any `git worktree add`:
```bash
git status --short
git branch --show-current
git worktree list
```
If the current worktree is dirty, ask whether to commit, stash, or proceed anyway. Do not stash silently.
Use the helper when available:
```bash
scripts/setup-worktree.sh <branch> [--base <ref>]
```
The helper creates `<project>.worktrees/<branch-slug>` from the main worktree root, handles existing local/remote branches, refuses path conflicts, and refuses dirty state unless `--allow-dirty` is passed after user approval.
Manual fallback lives in [workflow.md](references/workflow.md).
## Naming
- Ro