.cursor/skills/nv-worktree-create/SKILL.md
Goal: one name → new branch + sibling worktree at ../<name>, ready to work in.
For git command details and path naming, read nv-worktree-commands. For cleanup, read nv-worktree-cleanup.
| Input | Required | Default |
|---|---|---|
| Branch / worktree name | yes — ask if missing | — |
| Base ref | no | current HEAD |
Use the name as-is for the git branch. Use the sanitized name for the directory (see nv-worktree-commands).
Preflight — from the main repo root:
git rev-parse --show-toplevelgit worktree list — abort if the target path already existsgit status --porcelain — if non-empty, warn that the working tree is dirty and ask the user whether to proceed before creating the worktreeCreate — always a new branch and worktree:
git worktree add -b <branch> <worktree-path> [<base-ref>]
Omit <base-ref> to branch from current HEAD.
Copy local env files — from the main checkout into the worktree (gitignored secrets only; not .env.example). Use the rsync recipe in nv-worktree-commands. Report what was copied. Do not run setup-env-files.js — it regenerates encryption keys.
Enterprise submodule — from the worktree root (best-effort; do not block handoff):
.source already exists or is linked.packages-enterprise clone before submodule init — same candidates as .cursor/scripts/install.sh (sibling ../packages-enterprise, parent checkout .source, /agent/repos/packages-enterprise, etc.)..source (matches install.sh):
git config --global url."https://github.com/".insteadOf "[email protected]:"
gh auth setup-git
git submodule update --init --depth 1 .source
.source is available, refresh symlinks (warn-only on failure):
pnpm symlink:submodules || echo "WARN: symlink:submodules failed; continuing in OSS mode"
enterprise-submodule.Hand off — move_agent_to_root with the absolute worktree path. Not move_agent_to_cloned_root.
Confirm — branch name, worktree path, base ref, copied env files, enterprise submodule status.
User: /worktree branch=more-dcr-oauths
Branch: more-dcr-oauths
Path: ../more-dcr-oauths
Command: git worktree add -b more-dcr-oauths ../more-dcr-oauths
Then copy .env*, wire .source (link or submodule init) + pnpm symlink:submodules, move_agent_to_root.
.env*.pnpm install, pnpm build, or pnpm setup:agent — do those only if the user asks or a task fails.node_modules from the parent checkout.