Manage git worktrees (create/list/switch/cleanup) and copy .env files. Use for parallel feature work, isolated review, clean workspace, or when user mentions worktrees.
From fluxnpx claudepluginhub nairon-ai/flux --plugin fluxThis skill uses the workspace's default tool permissions.
scripts/worktree.shDispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Use the manager script for all worktree actions.
bash ${PLUGIN_ROOT}/skills/flux-worktree-kit/scripts/worktree.sh <command> [args]
Commands:
create <name> [base]listswitch <name> (prints path)cleanupcopy-env <name>Safety notes:
create does not change the current branchcleanup does not force-remove worktrees and does not delete branchescleanup deletes the worktree directory (including ignored files); removal fails if the worktree is not clean.env* is copied with no overwrite (symlinks skipped).worktrees/ or any worktree path component is a symlinkcopy-env only targets registered worktreesorigin fetch is optional; local base refs are allowedorigin only when base looks like a branch.worktrees/cleanup is intentionally conservative, but it still removes the worktree directory when safe. Treat ignored files inside the worktree as disposable unless they are committed or copied elsewhere.copy-env is convenience, not secret management. It refuses unsafe paths and non-registered worktrees on purpose.git worktree commands if Flux expects the registry and layout under .worktrees/ to stay consistent.ALWAYS run at the very end of command execution:
PLUGIN_ROOT="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}}"
[ ! -d "$PLUGIN_ROOT/scripts" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1)
UPDATE_JSON=$("$PLUGIN_ROOT/scripts/version-check.sh" 2>/dev/null || echo '{"update_available":false}')
UPDATE_AVAILABLE=$(echo "$UPDATE_JSON" | jq -r '.update_available')
LOCAL_VER=$(echo "$UPDATE_JSON" | jq -r '.local_version')
REMOTE_VER=$(echo "$UPDATE_JSON" | jq -r '.remote_version')
If update available, append to output:
---
Flux update available: v${LOCAL_VER} → v${REMOTE_VER}
Update Flux from the same source you installed it from, then restart your agent session.
---