Git Worktree (Workspace Isolation)
Ensures agent has an isolated workspace to avoid conflicts with human work.
When Called
- •At the start of
iterative:implementingskill - •At the start of
iterative:spikeskill (branch convention:spike/<topic>) - •When workspace isolation is needed
- •Not directly invocable by users
Workflow
- •Sync with remote. Pull latest from default branch.
- •Detect current state. Check if in worktree (
git rev-parse --git-dircontains/worktrees/), get current branch (git branch --show-current), get default branch (git remote show origin | grep "HEAD branch"). - •Choose workspace based on current state:
- •Already in worktree: confirm it's for this feature, then proceed
- •On default branch: ask the user — A) Create worktree (recommended), B) Create branch, C) Continue on main (requires explicit consent)
- •On feature branch: ask the user — A) Continue on this branch, B) Create new worktree
- •Execute choice. If worktree:
git worktree add ../[repo]-[branch] -b [branch]. If new branch:git checkout -b [branch-name]. If continue: proceed. - •Verify. Report: "Ready on branch [name] in [directory]"
Worktree Creation
When creating a worktree:
- •Generate branch name from feature/task context
- •Create worktree:
git worktree add ../[repo]-[branch] -b [branch] - •Copy necessary files (.env, etc.) if they exist
- •Verify worktree is functional
Output
Returns to calling skill:
- •Branch name
- •Directory path (if worktree created)
- •Isolation status confirmed