skills/claude/git-worktrees/SKILL.md
Git worktree management for parallel agent team development. Triggers: 'create worktree', 'worktree setup', or during /delegate dispatch. Do NOT use for branch creation without delegation context.
npx skillsauth add lvlup-sw/exarchos git-worktreesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create and manage isolated git worktrees for parallel development tasks.
Activate this skill when:
/exarchos:delegate with parallelizable tasksPriority Order:
.worktrees/ - If exists and gitignoredworktrees/ - If exists and gitignoredCLAUDE.md for project conventionsSafety Check (REQUIRED):
# Verify directory is gitignored before creating
git check-ignore -q .worktrees && echo "Safe" || echo "NOT GITIGNORED"
If not gitignored, add to .gitignore:
.worktrees/
# Create feature branch
git branch feature/task-name main
# Create worktree
git worktree add .worktrees/task-name feature/task-name
# Verify creation
git worktree list
Naming Convention: .worktrees/<task-id>-<brief-name>
.worktrees/001-user-auth.worktrees/002-api-endpointsSee references/commands-reference.md for the full environment setup table and scripts per project type.
Run baseline tests to ensure the worktree is ready:
exarchos_orchestrate({
action: "verify_worktree_baseline",
worktreePath: ".worktrees/task-name"
})
The script auto-detects project type (Node.js, .NET, Rust) and runs the appropriate test command.
On passed: true: Baseline tests pass — worktree is ready for implementation.
On passed: false: Baseline tests failed or unknown project type — investigate before proceeding.
If baseline fails:
Subagents work in worktree directory:
# After PR merged, remove worktree
git worktree remove .worktrees/task-name
# Optionally delete branch
git branch -d feature/task-name
# Prune stale worktree refs
git worktree prune
See references/commands-reference.md for parallel worktree creation examples, tracking format, and the full commands reference table.
Subagents MUST verify they're in a worktree before making changes. Working in the main project root causes:
Run the worktree verification script before any file modifications:
exarchos_orchestrate({
action: "verify_worktree"
})
To check a specific path instead of the current directory:
exarchos_orchestrate({
action: "verify_worktree",
cwd: "/path/to/.worktrees/task-name"
})
On passed: true: In a valid worktree — proceed with implementation.
On passed: false: NOT in a worktree — STOP immediately, do not modify files.
Include in all implementer prompts:
## CRITICAL: Worktree Verification (MANDATORY)
Before making ANY file changes, run:
exarchos_orchestrate({ action: "verify_worktree" })
If `passed: false`: STOP and report error.
DO NOT proceed with any modifications outside a worktree.
| Don't | Do Instead |
|-------|------------|
| Create worktrees in tracked directory | Use gitignored .worktrees/ |
| Skip baseline test verification | Always verify tests pass first |
| Leave stale worktrees | Clean up after merge |
| Forget dependency installation | Run project setup in each worktree |
| Mix work across worktrees | One task per worktree |
When delegation skill spawns parallel tasks:
When a subagent completes a task in its worktree, the workflow's HSM transitions from delegate to feature/merge-pending. The merge_orchestrate action lands the worktree's branch onto the integration branch via a local git merge with a recorded rollback SHA — see @skills/merge-orchestrator/SKILL.md for the full handoff protocol.
Worktree cleanup (step 7 above) runs after the merge orchestrator reports phase: 'completed'.
This is not the same as the synthesize-phase remote PR merge (merge_pr). merge_orchestrate operates on local refs in the main worktree; merge_pr calls the VCS provider once the integration branch is ready for the human-review PR.
For worktree setup:
For worktree cleanup:
tools
Land a subagent worktree branch onto an integration branch with preflight + recorded rollback. Triggers: operator (or `next_actions`) surfaces verb `merge_orchestrate` via Exarchos MCP. Local git operation — NOT remote PR merging (that is `merge_pr`).
tools
Land a subagent worktree branch onto an integration branch with preflight + recorded rollback. Triggers: operator (or `next_actions`) surfaces verb `merge_orchestrate` via Exarchos MCP. Local git operation — NOT remote PR merging (that is `merge_pr`).
tools
Land a subagent worktree branch onto an integration branch with preflight + recorded rollback. Triggers: operator (or `next_actions`) surfaces verb `merge_orchestrate` via Exarchos MCP. Local git operation — NOT remote PR merging (that is `merge_pr`).
tools
Land a subagent worktree branch onto an integration branch with preflight + recorded rollback. Triggers: operator (or `next_actions`) surfaces verb `merge_orchestrate` via Exarchos MCP. Local git operation — NOT remote PR merging (that is `merge_pr`).