agentsclimarketplace

Worktree

Skill oprogramadorreal/optimus-claude/skills/worktree

Primes your project for peak Claude Code performance

Install
npx -y skills add oprogramadorreal/optimus-claude --skill worktree

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

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. Multi-repo aware. Use when you need to work on something else without disturbing current work.

SKILL.md

5.0 KB, as published. Nobody here has run it

Worktree

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.

Workflow

1. Multi-repo Detection

Read $CLAUDE_PLUGIN_ROOT/skills/init/references/multi-repo-detection.md for workspace detection. If a multi-repo workspace is detected:

  • Run the git commands below inside the target child repo (the workspace root has no .git/, so git commands must target individual repos)
  • If the user specified a target repo (inline or in conversation), use it
  • If ambiguous, use AskUserQuestion — header "Target repo", question "Which repo should the worktree be created for?": list each repo as an option

2. Worktree Detection Guard

Read $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.

3. Gather Context and Branch Name

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):

  1. Inline description — if the user provided text with the invocation (e.g., /optimus:worktree "fix login timeout"), use it directly
  2. Conversation context — scan the current conversation for the user's task intent, problem description, or feature request

If neither source provides enough signal, use AskUserQuestion — header "Worktree scope", question "What will you work on in the new worktree?":

  • New feature — "Implement a new capability"
  • Bug fix — "Fix a bug or issue"
  • Other — "Describe the task"

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>

4. Create Worktree

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:

  • Deriving the worktree directory name
  • Creating .worktrees/ and ensuring it is gitignored
  • Creating the worktree: git worktree add .worktrees/<worktree-dir> <branch-name>
  • Running project setup in the worktree (npm install, pip install, cargo build, etc.)
  • Verifying the test baseline

On failure, follow the reference's Failure handling (§8) — cleanup and diagnostics — then stop.

5. Report and Next Steps

## 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.

Important

  • Never commit or push anything in the main workspace
  • The main workspace branch is always restored to <original-branch>
  • Worktrees are created inside .worktrees/ (gitignored) to keep the project root clean

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.