Agent skill
worktree
Create and manage git worktrees with automatic environment setup. Creates worktrees at ../model-share-<branch>, copies .env, and runs pnpm install.
Install this agent skill to your Project
npx add-skill https://github.com/civitai/civitai/tree/main/.claude/skills/worktree
SKILL.md
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
# 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:
- Creates the git worktree at
../model-share-<branch-name>(slashes in branch names are replaced with dashes) - Initializes git submodules (
git submodule update --init --recursive) - required forevent-engine-common - Copies
.envfrom the main worktree to the new worktree - Runs
pnpm installto 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
# 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:
-
Commit changes in the worktree:
bashcd /path/to/worktree git add <files> git commit -m "feat/fix: description" -
Update and merge to main:
bashcd /path/to/main-worktree git fetch origin && git checkout main && git pull origin main git merge <branch-name> --no-edit git push origin main -
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
# 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
.envfile 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-serverskill to start the dev server in the new worktree
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
clickhouse-query
Run ClickHouse queries for analytics, metrics analysis, and event data exploration. Use when you need to query ClickHouse directly, analyze metrics, check event tracking data, or test query performance. Read-only by default.
redis-inspect
Inspect Redis cache keys, values, and TTLs for debugging. Supports both main cache and system cache. Use for debugging cache issues, checking cached values, and monitoring cache state. Read-only by default.
quick-mockups
Create multiple UI design mockups in parallel. Use when asked to create mockups, wireframes, or design variations for a feature. Creates HTML files using Mantine v7 + Tailwind following Civitai's design system.
flipt
Manage Flipt feature flags - list, create, enable/disable, and configure rollout rules. Use when you need to control feature flag state or set up segmented rollouts.
bitdex-test
metabase
Create and manage Metabase questions, dashboards, and public links. Use when the user wants to build metrics dashboards, create saved questions with SQL queries, or share analytics publicly.
Didn't find tool you were looking for?