From optimus
Creates a git worktree for isolated parallel development — new branch in a separate directory with project setup and test baseline. Enables multiple Claude Code sessions on different tasks simultaneously.
How this skill is triggered — by the user, by Claude, or both
Slash command
/optimus:worktree [description][description]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a git worktree for isolated parallel development. Sets up a new branch in a separate directory (`.worktrees/`) with project setup and test baseline, so the main workspace stays on its original branch. Each worktree can host an independent Claude Code session.
Create a git worktree for isolated parallel development. Sets up a new branch in a separate directory (.worktrees/) with project setup and test baseline, so the main workspace stays on its original branch. Each worktree can host an independent Claude Code session.
Read $CLAUDE_PLUGIN_ROOT/skills/init/references/multi-repo-detection.md for workspace detection. If a multi-repo workspace is detected:
.git/, so git commands must target individual repos)AskUserQuestion — header "Target repo", question "Which repo should the worktree be created for?": list each repo as an optionRead $CLAUDE_PLUGIN_ROOT/skills/worktree/references/worktree-setup.md and run the worktree detection guard from that reference. If the guard detects you are already inside a linked worktree, inform the user:
Already running inside a worktree (`<worktree-path>`).
To create another worktree, run this skill from the main workspace instead.
Then stop — do not create recursive worktrees.
Record the current branch:
git rev-parse --abbrev-ref HEAD
Determine a meaningful description for the branch from the first source that provides enough signal (check in this priority order):
/optimus:worktree "fix login timeout"), use it directlyIf neither source provides enough signal, use AskUserQuestion — header "Worktree scope", question "What will you work on in the new worktree?":
If the answer captures only a category (New feature / Bug fix), follow up and ask for a few words describing the task — the slug needs a concrete description, not the category label.
Read $CLAUDE_PLUGIN_ROOT/skills/commit/references/branch-naming.md for the naming convention. Determine <type> and generate the slug from the description.
Handle collisions: apply the Collision Handling section of the same reference.
Create the branch without switching to it:
git branch <branch-name>
Follow the setup procedure from $CLAUDE_PLUGIN_ROOT/skills/worktree/references/worktree-setup.md using <branch-name> and <original-branch> from Step 3. The procedure handles:
.worktrees/ and ensuring it is gitignoredgit worktree add .worktrees/<worktree-dir> <branch-name>On failure, follow the reference's Failure handling (§8) — cleanup and diagnostics — then stop.
## Worktree Created
Working directory: `.worktrees/<worktree-dir>`
Branch: `<branch-name>` (from `<original-branch>`)
Main workspace: `<original-branch>` (unchanged)
Tests: passing / failing (pre-existing — N failures) / no test command detected
### Open the worktree
**VSCode** (recommended — each worktree gets its own window, terminal, and file watchers):
- Source Control panel → right-click the worktree → "Open Worktree in New Window"
- Or from terminal: `code .worktrees/<worktree-dir>`
- Or Command Palette → "Git: Open Worktree in New Window"
**Claude Code CLI**: `cd .worktrees/<worktree-dir> && claude`
### Cleanup
When done: `git worktree remove .worktrees/<worktree-dir>`
If the setup procedure's §3 modified .gitignore, add a line after "Main workspace": .gitignore updated to ignore .worktrees/ (staged, not committed).
In a multi-repo workspace, prefix all paths in the report with the target repo directory (e.g., cd <repo>/.worktrees/<worktree-dir>).
Recommend running /optimus:tdd in the new worktree for test-driven development, or /optimus:init if the worktree needs project setup.
Tell the user: Tip: for best results, start a fresh conversation for the next skill — each skill gathers its own context from scratch.
<original-branch>.worktrees/ (gitignored) to keep the project root cleannpx claudepluginhub oprogramadorreal/optimus-claude --plugin optimusCreates isolated Git worktree workspaces for simultaneous work on multiple branches. Handles directory selection, .gitignore safety checks, and project setup.
Creates isolated Git worktrees for parallel development, risky refactoring, or multi-feature work without branch switching or conflicts.
Creates isolated git worktrees for parallel development without disrupting the main workspace. Includes safety verification to prevent accidental commits of worktree contents.