agentsclimarketplace

Git worktrees

Skill Wilder1222/superomni/skills/git-worktrees

Use when working on multiple features or branches simultaneously. Git worktrees allow multiple branches to be checked out at the same time. Triggers: "work on multiple features", "parallel branches", "worktree".From its SKILL.md

Install
npx -y skills add Wilder1222/superomni --skill git-worktrees

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

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.2 KB, as published. Nobody here has run it

<!-- Inlined into every SKILL.md via {{PREAMBLE_CORE}}. Keep ≤30 lines. -->

Preamble (Core)

Status protocol — end every session with one of: DONE (evidence provided) · DONE_WITH_CONCERNS (list each) · BLOCKED (state what blocks you) · NEEDS_CONTEXT (state what you need).

Auto-advance — pipeline: THINK → PLAN → REVIEW → BUILD → VERIFY → RELEASE. Only human gate is spec approval at THINK. On DONE at other stages, print [STAGE] DONE -> advancing to [NEXT-STAGE] and invoke the next skill. On any non-DONE status at any stage, STOP.

Output directory — all artifacts go in docs/superomni/<kind>/<kind>-[branch]-[session]-[date].md. See CLAUDE.md for the full directory map.

TACIT-DENSE — before high-tacit decisions, classify D1 (domain expertise) · D2 (user-facing UX) · D3 (team culture) · D4 (novel pattern). On hit, output TACIT-DENSE [D#]: [question] — My default: [recommendation]. See reference for actions.

Anti-sycophancy — take a position on every significant question. Name flaws directly. No filler ("that's interesting", "you might consider", "that could work").

Telemetry (local only) — at session end, log bin/analytics-log. Nothing leaves the machine.

See preamble-ref.md for detailed protocols.

Git Worktrees

Goal: Set up and manage Git worktrees to enable parallel development on multiple branches without stashing or switching.

When to Use Worktrees

  • Working on multiple features at the same time
  • Reviewing a colleague's branch while your own is in progress
  • Running tests on one branch while developing on another
  • Maintaining a hotfix branch alongside feature development

Core Commands

Create a Worktree

# Create worktree for an existing branch
git worktree add ../project-feature-name feature/branch-name

# Create worktree AND a new branch
git worktree add -b feature/new-feature ../project-new-feature main

# List all worktrees
git worktree list

Navigate Between Worktrees

# Worktrees are separate directories — just cd
cd ../project-feature-name    # switch to feature worktree
cd ../project-main             # switch back to main worktree

# Or use absolute paths
ls ~/work/project-*/           # see all worktrees

Clean Up Worktrees

# Remove a worktree directory AND deregister it
git worktree remove ../project-feature-name

# If the worktree directory was manually deleted
git worktree prune

# List with details to find stale entries
git worktree list --porcelain

Worktree Naming Convention

Use a consistent naming pattern:

<project-root>-<branch-slug>

Examples:

/work/myapp               ← main worktree (default)
/work/myapp-feat-auth     ← feature/authentication
/work/myapp-fix-login     ← fix/login-bug
/work/myapp-review-123    ← PR #123 review

Standard Workflow

Step 1: Create the Worktree

BRANCH_SLUG=$(echo "feature/my-feature" | tr '/' '-' | tr '_' '-')
git worktree add -b "feature/my-feature" "../$(basename $(pwd))-${BRANCH_SLUG}" main
echo "Worktree created at: ../$(basename $(pwd))-${BRANCH_SLUG}"

Step 2: Set Up the Worktree Environment

cd "../$(basename $(pwd))-${BRANCH_SLUG}"

# Install dependencies if needed (for Node.js projects)
[ -f package.json ] && npm install

# Copy any local env files
[ -f ../<main-project>/.env.local ] && cp ../<main-project>/.env.local .env.local

Step 3: Develop in the Worktree

Work normally. The worktree is a fully independent checkout.

git status              # shows branch: feature/my-feature
git log --oneline -5    # shows branch history

Step 4: Sync with Main

# From within the worktree
git fetch origin
git rebase origin/main
# or
git merge origin/main

Step 5: Clean Up When Done

# From the MAIN worktree (not the feature worktree)
git worktree remove ../myapp-feature-my-feature
git branch -d feature/my-feature  # if merged

Caveats

  • Each worktree uses disk space (full working directory)
  • Some tools (IDEs, file watchers) may need to be opened per-worktree
  • Git hooks run independently per worktree
  • Cannot checkout the same branch in two worktrees simultaneously

Integration with Sub-Agents

When using worktrees with sub-agents, assign each agent to a worktree:

Sub-Agent 1 → worktree: ../project-feat-auth
Sub-Agent 2 → worktree: ../project-feat-payments
Main Agent  → worktree: ../project (main, for integration)

See subagent-development skill for coordinating parallel sub-agents (includes wave planning).

Completion Status

When the requested worktree setup or cleanup is complete, report:

Status: DONE | DONE_WITH_CONCERNS | BLOCKED
Concern:
  - [path conflict, missing branch, or follow-up needed]

Keep looking

Skills are one crate of 627,801. 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.