Agent skill
git-worktrees
Use when starting feature work that needs isolation from current workspace. Creates isolated git worktrees with directory selection, safety verification, and baseline testing.
Install this agent skill to your Project
npx add-skill https://github.com/jagreehal/jagreehal-claude-skills/tree/main/skills/git-worktrees
SKILL.md
Git Worktrees
Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously.
When to Use
- MUST: When implementing features that need isolation
- MUST: Before executing multi-task implementation plans
- SHOULD: When parallel development on different features needed
- MAY: For experimental work that might be discarded
Directory Selection Priority
1. Check Existing Directories
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.
2. Check CLAUDE.md
grep -i "worktree.*director" CLAUDE.md 2>/dev/null
If preference specified: Use it.
3. Ask User
No worktree directory found. Where should I create worktrees?
1. .worktrees/ (project-local, hidden)
2. ~/worktrees/<project-name>/ (global location)
Which would you prefer?
Safety Verification
MUST: Verify Directory is Ignored
For project-local directories:
git check-ignore -q .worktrees 2>/dev/null
If NOT ignored:
- Add to .gitignore
- Commit the change
- Then proceed
Why: Prevents accidentally committing worktree contents.
Creation Steps
Step 1: Detect Project Name
project=$(basename "$(git rev-parse --show-toplevel)")
Step 2: Create Worktree
# Create worktree with new branch
git worktree add "$path" -b "$BRANCH_NAME"
cd "$path"
Step 3: Run Project Setup
# Auto-detect and run
[ -f package.json ] && npm install
[ -f Cargo.toml ] && cargo build
[ -f requirements.txt ] && pip install -r requirements.txt
[ -f go.mod ] && go mod download
Step 4: Verify Clean Baseline
npm test # or cargo test / pytest / go test ./...
If tests fail: Report failures, ask whether to proceed. If tests pass: Report ready.
Step 5: Report Location
Worktree ready at /path/to/worktree
Tests passing (47 tests, 0 failures)
Ready to implement <feature-name>
MUST/SHOULD/NEVER Rules
MUST
- MUST: Follow directory priority (existing > CLAUDE.md > ask)
- MUST: Verify directory is ignored for project-local worktrees
- MUST: Run baseline tests before starting work
- MUST: Report worktree location when done
SHOULD
- SHOULD: Auto-detect and run project setup
- SHOULD: Create feature branch with descriptive name
- SHOULD: Use
.worktrees/overworktrees/
NEVER
- NEVER: Create worktree without verifying it's ignored
- NEVER: Skip baseline test verification
- NEVER: Proceed with failing tests without asking
- NEVER: Assume directory location when ambiguous
Quick Reference
| 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 |
| Baseline tests fail | Report failures + ask |
Cleanup
When work is complete, remove worktree:
# From main repository
git worktree remove <worktree-path>
git branch -d <feature-branch> # if merged
Integration
| Skill | Relationship |
|---|---|
design-exploration |
May trigger worktree creation |
implementation-planning |
Plans execute in worktree |
branch-completion |
Handles worktree cleanup |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
skill-authoring
Use when creating, editing, or reviewing skills. Covers discovery optimization, structure patterns, testing approaches, and format decisions.
testing-strategy
Test pyramid approach with unit, integration, and load tests. DI enables testability. Use vitest-mock-extended for typed mocks.
api-design
Build production-ready HTTP APIs with clean handlers, consistent error envelopes, health checks, CORS, and operational excellence.
validation-boundary
Validate at the boundary with Zod schemas and branded types. Business functions trust validated input.
branch-completion
Use when implementation is complete and tests pass. Guides completion by presenting structured options for merge, PR, or cleanup.
resilience
Add retry, timeout, and circuit breaker patterns at the workflow level. Business functions stay clean.
Didn't find tool you were looking for?