From godmode
Use when starting feature work that needs isolation from the current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
How this skill is triggered — by the user, by Claude, or both
Slash command
/godmode:workspace-isolationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Git worktrees create isolated workspaces sharing the same repository, enabling work on multiple branches simultaneously without switching.
Git worktrees create isolated workspaces sharing the same repository, enabling work on multiple branches simultaneously without switching.
Core principle: Systematic directory selection + safety verification = reliable isolation.
Announce at start: "I'm applying the workspace-isolation skill to set up an isolated workspace."
NO FEATURE WORK ON THE MAIN BRANCH
No exceptions. No workarounds. No shortcuts.
Required for:
Not required for:
| Rationalization | What Is Actually True |
|---|---|
| "It's a small feature, I'll just work on main" | Small features grow. Worktrees cost seconds, broken main costs hours. |
| "Setting up a worktree takes too long" | Worktree creation is faster than untangling work mixed into main. |
| "I'll create a branch later when it's ready" | Working on main means every mistake is on main. Branch first. |
| "The worktree setup failed, I'll skip it" | Fix the setup issue. Do not proceed on main as a workaround. |
| "I'm just prototyping, it doesn't matter" | Prototypes on main become accidental commits. Isolate always. |
Follow this priority order:
# Check in priority order
ls -d .worktrees 2>/dev/null # Preferred (hidden)
ls -d worktrees 2>/dev/null # Alternative
If found: Use that directory. If both exist, .worktrees takes precedence.
grep -i "worktree.*director" CLAUDE.md 2>/dev/null
If preference is specified: Use it without asking.
If no directory exists and no CLAUDE.md preference:
No worktree directory found. Where should I create worktrees?
1. .worktrees/ (project-local, hidden)
2. ~/.config/godmode/worktrees/<project-name>/ (global location)
Which do you prefer?
MUST verify the directory is ignored before creating the worktree:
# Check if directory is ignored (respects local, global, and system gitignore)
git check-ignore -q .worktrees 2>/dev/null || git check-ignore -q worktrees 2>/dev/null
If NOT ignored:
Fix it immediately:
Why critical: Prevents accidentally committing worktree contents to the repository.
No .gitignore verification needed -- outside the project entirely.
project=$(basename "$(git rev-parse --show-toplevel)")
# Determine full path
case $LOCATION in
.worktrees|worktrees)
path="$LOCATION/$BRANCH_NAME"
;;
~/.config/godmode/worktrees/*)
path="~/.config/godmode/worktrees/$project/$BRANCH_NAME"
;;
esac
# Create worktree with new branch
git worktree add "$path" -b "$BRANCH_NAME"
cd "$path"
Auto-detect and run the appropriate setup:
# Node.js
if [ -f package.json ]; then npm install; fi
# Rust
if [ -f Cargo.toml ]; then cargo build; fi
# Python
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f pyproject.toml ]; then poetry install; fi
# Go
if [ -f go.mod ]; then go mod download; fi
Run tests to ensure the worktree starts clean:
# Examples - use the project-appropriate command
npm test
cargo test
pytest
go test ./...
If tests fail: Report failures, ask whether to proceed or investigate.
If tests pass: Report ready.
Worktree ready at <full-path>
Tests passing (<N> tests, 0 failures)
Ready to implement <feature-name>
| Situation | Action |
|---|---|
.worktrees/ exists | Use it (verify ignored) |
worktrees/ exists | Use it (verify ignored) |
| Both exist | Use .worktrees/ |
| Neither exists | Check CLAUDE.md -> Ask user |
| Directory not ignored | Add to .gitignore + commit |
| Tests fail during baseline | Report failures + ask |
| No package.json/Cargo.toml | Skip dependency install |
git check-ignore before creating a project-local worktreeYou: I'm applying the workspace-isolation skill to set up an isolated workspace.
[Check .worktrees/ - exists]
[Verify ignored - git check-ignore confirms .worktrees/ is ignored]
[Create worktree: git worktree add .worktrees/auth -b feature/auth]
[Run npm install]
[Run npm test - 47 passing]
Worktree ready at /home/user/myproject/.worktrees/auth
Tests passing (47 tests, 0 failures)
Ready to implement auth feature
Never:
Always:
Called by:
Pairs with:
npx claudepluginhub noobygains/godmode --plugin godmodeUse when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Creates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.