원클릭으로
jb-worktree
Use when creating, switching, bootstrapping, or cleaning Git worktrees with wtp.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when creating, switching, bootstrapping, or cleaning Git worktrees with wtp.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when setting up or reviewing a development environment, especially Varlock env schemas, gitignored env files, macOS Keychain/local secret storage, SOPS/age optional GitOps secrets, CI secret access, dotenv bootstrapping, or secure local dev onboarding.
Use when the repo has .beans or the user mentions beans, beans-prime, flat-file issues, task tracking, or issue status changes.
Opinionated JB GitHub Actions release-attempt workflow. Use only when the repo already has .github/workflows/jb-release-v1.yaml (or equivalent JB release-attempt workflow) or the user explicitly asks to set it up. Do not use for ordinary local releases; use jb-local-release instead.
Use when the user asks to run a local release flow: prepare version/changelog changes, run local checks, commit, tag, and optionally publish only when explicitly requested.
Query MDN Web Docs through the official MDN MCP server using a persistent mcporter config, avoiding a direct MCP connection in the agent harness. Use when checking current web platform docs, CSS/HTML/JavaScript/Web API behavior, MDN browser compatibility data, Baseline support, or when the user asks whether a browser feature is supported.
Use when the user asks for Chrome MCP/DevTools MCP via mcporter, existing Chrome tabs, console/network inspection, screenshots, or performance traces.
| name | jb-worktree |
| description | Use when creating, switching, bootstrapping, or cleaning Git worktrees with wtp. |
| homepage | https://github.com/satococoa/wtp |
| metadata | {"clawdbot":{"emoji":"🌳","requires":{"bins":["wtp"]},"install":[{"id":"brew","kind":"brew","formula":"satococoa/tap/wtp","bins":["wtp"],"label":"Install wtp (brew)"}]}} |
| skill_author | bjesuiter |
Based on satococoa's wtp workflow: https://dev.to/satococoa/wtp-a-better-git-worktree-cli-tool-4i8l
Use wtp instead of raw git worktree when you want predictable paths, easier branch handling, setup hooks, and fast navigation.
wtp init creates a starter .wtp.yml in the repo rootwtp add feature/auth creates ../worktrees/feature/auth automaticallywtp add can create or reuse local/remote branches.wtp.yml can copy .env, create symlinks, and run bootstrap commandswtp cd and wtp exec make navigation and command execution easierwtp remove --with-branch cleans up both the worktree and its branchbrew install satococoa/tap/wtp
Alternative:
go install github.com/satococoa/wtp/v2/cmd/wtp@latest
# Create a starter .wtp.yml in the repository root
wtp init
# Create a worktree from an existing branch
wtp add feature/auth
# Create a new branch + worktree
wtp add -b feature/new-ui
# Create from a specific base ref
wtp add -b hotfix/login origin/main
# List all worktrees
wtp list
# Print the absolute path for a worktree
wtp cd feature/auth
wtp cd @
# Run a command inside a worktree
wtp exec feature/auth -- npm test
# Remove a worktree
wtp remove feature/auth
# Remove a worktree and delete its branch too
wtp remove --with-branch feature/auth
When the user asks to work in a separate branch or isolated checkout:
.wtp.yml; if not, prefer wtp initbun.lock or bun.lockb exists, use bun installpnpm-lock.yaml exists, use pnpm install --frozen-lockfilepackage-lock.json and no Bun lockfile, use pnpm install by default, and prefer pnpm install --frozen-lockfile when reproducibility matterswtp listwtp add ...cd "$(wtp cd <name>)" && ...wtp exec <name> -- <command>wtp remove --with-branch <name>Prefer:
wtp add -b <branch> for new workwtp add <branch> when the branch already exists locally or remotelywtp exec <name> -- <command> for one-off commandsAvoid force removal of dirty worktrees unless the user explicitly asks.
wtp initUse this first in repos that do not have a config yet:
wtp init
It creates .wtp.yml in the repository root with a starter configuration and example hooks. If .wtp.yml already exists, wtp init errors instead of overwriting it.
.wtp.ymlwtp init gives you a starter file. Customize the post_create install command based on the repo lockfile:
bun.lock or bun.lockb present → bun installpnpm-lock.yaml present → pnpm install --frozen-lockfilepackage-lock.json present and no Bun lockfile → pnpm install by default, or pnpm install --frozen-lockfile for stricter reproducible installsExample for a Bun repo:
version: "1.0"
defaults:
base_dir: "../worktrees"
hooks:
post_create:
- type: copy
from: ".env"
to: ".env"
- type: symlink
from: ".bin"
to: ".bin"
- type: command
command: "bun install"
- type: command
command: "npm run db:setup"
Example for a repo with pnpm-lock.yaml:
version: "1.0"
defaults:
base_dir: "../worktrees"
hooks:
post_create:
- type: copy
from: ".env"
to: ".env"
- type: symlink
from: ".bin"
to: ".bin"
- type: command
command: "pnpm install --frozen-lockfile"
- type: command
command: "npm run db:setup"
Example for a repo with a pure package-lock.json setup:
version: "1.0"
defaults:
base_dir: "../worktrees"
hooks:
post_create:
- type: copy
from: ".env"
to: ".env"
- type: symlink
from: ".bin"
to: ".bin"
- type: command
command: "pnpm install"
- type: command
command: "npm run db:setup"
This is especially useful for repos that need local env files, shared tool directories, or bootstrap commands in every new worktree.
For interactive shells, enable completions and navigation hooks:
eval "$(wtp shell-init zsh)"
# or
# eval "$(wtp shell-init bash)"
# wtp shell-init fish | source
Then wtp cd feature/auth can switch directly in the shell, and interactive wtp add can auto-switch into the new worktree.
# Return to the main worktree
wtp cd @
# Run tests in the main worktree
wtp exec @ -- npm test
# Force remove a dirty worktree only when you are sure
wtp remove --force feature/auth
# Remove worktree and force-delete its branch
wtp remove --with-branch --force-branch feature/auth
../worktreeswtp cd is also useful in scripts because it prints the resolved absolute path