Skip to content
Back to skills

Worktree

BSecurity

Create and manage git worktrees with automatic environment setup. Creates worktrees at ../model-share-<branch>, copies .env, and runs pnpm install.

  • 207 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 7, 2026
toolsbashnodegit

Works with

  • cli

Security analysis

B85/100
  • highPerforms destructive filesystem operations
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 9 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add NeverSight/skills_feed --skill worktree --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Worktree?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Worktree
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/neversight-worktree/badge)](https://www.skillsdirectory.com/skills/neversight-worktree)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: worktree
description: Create and manage git worktrees with automatic environment setup. Creates worktrees at ../model-share-<branch>, copies .env, and runs pnpm install.
---

# Worktree Setup Skill

Creates git worktrees with all necessary setup for running the dev server. Handles the tedious setup steps so you can start working immediately.

## Quick Start

```bash
# Create a worktree for a new branch
node .claude/skills/worktree/cli.mjs create feature/my-feature

# Create a worktree for an existing branch
node .claude/skills/worktree/cli.mjs create existing-branch

# List all worktrees
node .claude/skills/worktree/cli.mjs list

# Remove a worktree
node .claude/skills/worktree/cli.mjs remove feature/my-feature
```

## What It Does

When you create a worktree, the skill:

1. **Creates the git worktree** at `../model-share-<branch-name>` (slashes in branch names are replaced with dashes)
2. **Initializes git submodules** (`git submodule update --init --recursive`) - required for `event-engine-common`
3. **Copies `.env`** from the main worktree to the new worktree
4. **Runs `pnpm install`** to set up dependencies (leverages pnpm's content-addressable store for fast installs)

## CLI Commands

| Command | Description |
|---------|-------------|
| `create <branch>` | Create a new worktree for the specified branch |
| `list` | List all worktrees |
| `remove <branch>` | Remove a worktree (deletes directory and prunes git worktree) |

## Examples

```bash
# Create worktree for a new feature
node .claude/skills/worktree/cli.mjs create feature/user-auth
# Creates: ../model-share-feature-user-auth

# Create worktree for a bugfix
node .claude/skills/worktree/cli.mjs create fix/login-issue
# Creates: ../model-share-fix-login-issue

# Remove when done
node .claude/skills/worktree/cli.mjs remove fix/login-issue
```

## Merging a Worktree to Main

When the user asks to "merge the worktree" or "merge to main", follow this workflow:

1. **Commit changes in the worktree:**
   ```bash
   cd /path/to/worktree
   git add <files>
   git commit -m "feat/fix: description"
   ```

2. **Update and merge to main:**
   ```bash
   cd /path/to/main-worktree
   git fetch origin && git checkout main && git pull origin main
   git merge <branch-name> --no-edit
   git push origin main
   ```

3. **Clean up the worktree and branch:**
   ```bash
   # Remove the worktree directory (use --force if needed)
   rm -rf /path/to/worktree

   # Delete the local branch
   git branch -d <branch-name>

   # Optionally delete remote branch
   git push origin --delete <branch-name>
   ```

### Example

```bash
# 1. Commit in worktree
cd ../model-share-fix-my-bug
git add src/file.ts
git commit -m "fix: resolve the bug"

# 2. Merge to main
cd ../model-share
git fetch origin && git checkout main && git pull origin main
git merge fix/my-bug --no-edit
git push origin main

# 3. Clean up
rm -rf ../model-share-fix-my-bug
git branch -d fix/my-bug
```

## Notes

- Branch names with slashes are converted to dashes in the directory name
- The `.env` file is copied (not symlinked) so you can customize environment per worktree if needed
- Uses pnpm's content-addressable store, so subsequent worktree installs are fast
- After creation, use `/dev-server` skill to start the dev server in the new worktree

Files in this skill

  • SKILL.md3.2 KB
  • description_cn.txt141 B
  • description_de.txt191 B
  • description_en.txt148 B
  • description_es.txt177 B
  • description_fr.txt201 B
  • description_ja.txt226 B
  • description_ko.txt191 B
  • description_tw.txt142 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.