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
npx claudepluginhub noobygains/godmode --plugin godmodeThis skill uses the workspace's default tool permissions.
Git worktrees create isolated workspaces sharing the same repository, enabling work on multiple branches simultaneously without switching.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
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: