# Git Worktree

> Internal skill for workspace isolation. Detects current git state and offers worktree/branch options. Called by iterative:implementing, not user-invocable.

- Skill: `tmchow/git-worktree` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tmchow/git-worktree`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tmchow/git-worktree/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tmchow (https://skillmd.com/u/tmchow)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tmchow/git-worktree

---


# Git Worktree (Workspace Isolation)

Ensures agent has an isolated workspace to avoid conflicts with human work.

## When Called

- At the start of `iterative:implementing` skill
- At the start of feature work requiring isolation from the current branch
- When workspace isolation is needed
- Not directly invocable by users

## Workflow

1. **Sync with remote.** Pull latest from default branch.
2. **Detect current state.** Check if in worktree (`git rev-parse --git-dir` contains `/worktrees/`), get current branch (`git branch --show-current`), get default branch (`git remote show origin | grep "HEAD branch"`).
3. **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
4. **Execute choice.** If worktree: `git worktree add ../[repo]-[branch] -b [branch]`. If new branch: `git checkout -b [branch-name]`. If continue: proceed.
5. **Verify.** Report: "Ready on branch [name] in [directory]"

## Worktree Creation

When creating a worktree:
1. Generate branch name from feature/task context
2. Create worktree: `git worktree add ../[repo]-[branch] -b [branch]`
3. Copy necessary files (.env, etc.) if they exist
4. Verify worktree is functional

## Output

Returns to calling skill:
- Branch name
- Directory path (if worktree created)
- Isolation status confirmed

