From ctx
Manages git worktrees to parallelize agent development across independent task tracks. Create, list, and teardown with checks for conflicts and limits.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ctx:ctx-worktreeThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage git worktrees to parallelize agent work across independent
Manage git worktrees to parallelize agent work across independent task tracks. Supports creating, listing, and tearing down worktrees with ctx-aware guardrails.
create <name>Create a new worktree as a sibling directory with a work/ branch.
Process:
Check count: refuse if 4 worktrees already exist:
git worktree list
Count lines. If >= 5 (1 main + 4 worktrees), stop and explain the limit.
Determine project name from the current directory basename:
basename "$(git rev-parse --show-toplevel)"
Create the worktree as a sibling directory:
git worktree add "../<project>-<name>" -b "work/<name>"
Verify the worktree was created:
ls "../<project>-<name>"
Remind the user:
Do NOT run
ctx initin the worktree. The context directory is already tracked in git and will be present. Launch a separate Claude Code session there and work normally.
listShow all active worktrees:
git worktree list
teardown <name>Merge a completed worktree back and clean up.
Process:
Check for uncommitted changes in the worktree:
git -C "../<project>-<name>" status --porcelain
If output is non-empty, warn and stop. The user must commit or discard changes first.
Merge the work branch into the current branch:
git merge "work/<name>"
If there are conflicts, stop and help the user resolve them. TASKS.md conflicts are common: see guidance below.
Remove the worktree:
git worktree remove "../<project>-<name>"
Delete the branch:
git branch -d "work/<name>"
Verify cleanup:
git worktree list
git branch | grep "work/<name>"
../<project>-<name>,
never inside the project treework/ branch prefix: all worktree branches use work/<name>
for easy identification and cleanupctx init in worktrees: the context directory is tracked
in git; running init would overwrite shared context files[x] completions from both sides.
No task should go from [x] back to [ ].The encryption key lives at ~/.ctx/.ctx.key (user-level, outside
the project). All worktrees on the same machine share this path, so
ctx pad and ctx notify work in worktrees automatically.
One thing to watch:
ctx journal import and journal enrichment
resolve paths relative to the current working directory. Files
created in a worktree stay in that worktree and are discarded on
teardown. Enrich journals on the main branch after merging: the
JSONL session logs are intact regardless.Before creating worktrees, analyze the backlog to group tasks into non-overlapping tracks:
Proposed worktree groups:
work/docs : recipe updates, blog post, getting started guide
(touches: docs/)
work/crypto : P3.1-P3.3 encrypted scratchpad infra
(touches: internal/crypto/, internal/config/)
work/pad-cli : P3.4-P3.9 pad CLI commands
(touches: internal/cli/pad/)
Let the user approve or adjust before proceeding.
Before any operation, verify:
work/ prefix../)ctx init in worktreenpx claudepluginhub activememory/ctx --plugin ctxCreates and manages isolated Git worktrees for parallel agent development. Handles worktree setup, baseline verification, and lifecycle cleanup. Activated by /delegate or explicit 'create worktree' commands.
Creates isolated Git worktrees for parallel development, risky refactoring, or multi-feature work without branch switching or conflicts.
Manages Git worktree lifecycle: creates isolated .claude/worktrees/ for parallel development or experiments, lists rune/* branches, cleans up stale or merged ones. Enforces max 3 active.