ワンクリックで
sh-worktree
Create isolated git worktree workspaces for feature branches with safety verification
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create isolated git worktree workspaces for feature branches with safety verification
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Multi-expert AI/ML specification review with scoring gate — model architecture, evaluation rigor, safety/alignment, and production readiness for AI systems and LLM apps
Multi-expert architecture review — boundaries, integration patterns, failure modes, evolvability
Multi-expert business analysis with advisory recommendations (no scoring gate)
Multi-expert intelligence pipeline review — discovery quality, ingestion resilience, scoring validity, platform compliance, taxonomy coherence, cost efficiency
Multi-expert mobile/native app specification review with scoring gate — Android, iOS, Swift, SwiftUI
Multi-expert personal-development review with scoring gate — learnability, adoption, human-centeredness, and capability impact for talent/learning/AI-augmentation designs
| name | sh-worktree |
| description | Create isolated git worktree workspaces for feature branches with safety verification |
Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously without switching.
Core principle: Systematic directory selection + safety verification = reliable isolation.
Announce at start: "I'm using the sh:worktree skill to set up an isolated workspace."
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 wins.
grep -i "worktree.*director" CLAUDE.md 2>/dev/null
If preference 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. Custom location
Which would you prefer?
MUST verify directory is ignored before creating 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:
Why critical: Prevents accidentally committing worktree contents to repository.
No .gitignore verification needed -- outside project entirely.
project=$(basename "$(git rev-parse --show-toplevel)")
# Determine full path based on chosen location
path="$LOCATION/$BRANCH_NAME"
# Create worktree with new branch
git worktree add "$path" -b "$BRANCH_NAME"
cd "$path"
Auto-detect and run 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 worktree starts clean:
# Use project-appropriate command
pytest / npm test / cargo test / 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 then 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 project-local worktreeNever:
Always:
Called by:
/sh:execute - RECOMMENDED before executing any tasks/sh:parallel - Isolation for parallel agent workPairs with:
superpowers:finishing-a-development-branch - Cleans up worktree after work complete