From jj-skipper
Create an isolated jj workspace and bookmark for parallel development. Activate when starting new work, creating a feature branch, or entering a workspace.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jj-skipper:jj-workspaceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Ask the user for a feature name (or derive from their task description).
Ask the user for a feature name (or derive from their task description).
MAIN_REPO=$(jj root)
WORKSPACE_PATH="$MAIN_REPO/.worktrees/<feature-name>"
mkdir -p "$MAIN_REPO/.worktrees"
jj workspace add "$WORKSPACE_PATH" --name <feature-name>
Wire up $GIT_DIR so gh CLI and other git-expecting tools work in the workspace:
if [[ -d "$MAIN_REPO/.git" ]]; then
printf 'export GIT_DIR="%s/.git"\nexport GIT_WORK_TREE="%s"\n' "$MAIN_REPO" "$WORKSPACE_PATH" > "$WORKSPACE_PATH/.envrc"
direnv allow "$WORKSPACE_PATH" 2>/dev/null || echo "Run 'source .envrc' in the workspace for gh CLI support."
fi
cd <workspace-path>
source .envrc # if direnv is not auto-loading
jj new main -m "feat: <description>"
jj bookmark create <feature-name> -r @
Confirm:
Working on bookmark (change ) in workspace . File edits auto-amend into this change. When done, use
/jj-commit-push-prto ship.
Use /jj-commit-push-pr, then clean up:
jj workspace forget <feature-name>
rm -rf <workspace-path>
npx claudepluginhub plasticbeachllc/jj-skipper --plugin jj-skipperGuides setting up, resuming, switching, or verifying isolated Git worktrees for feature branches. Includes dependency bootstrap commands for common ecosystems.
Creates isolated git worktrees or branches for feature development, detects current repo state, syncs with remote, and confirms isolation before proceeding.
Use when starting feature work that needs isolation from the current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification