marketplace/bundles/plan-marshall/skills/manage-worktree/SKILL.md
Manage per-plan git worktrees under <project_root>/.claude/worktrees/
npx skillsauth add cuioss/plan-marshall manage-worktreeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create, remove, resolve, and list per-plan git worktrees. Worktrees live under <project_root>/.claude/worktrees/{plan-id}/ — the canonical Claude Code worktree location inside the main git checkout — and are isolated per plan so multiple plans can run in parallel on one repo. Anchoring worktrees inside the main checkout means project-level permission allow-lists and IDE indexing work without per-host customization. All plan-marshall runtime state lives at <root>/.plan/local/ in the main checkout; each worktree's .plan is a symlink back to the main checkout's .plan, so tracked config, the executor, and runtime state are shared across every worktree.
Base contract: See manage-contract.md for shared enforcement rules, TOON output format, and error response patterns.
Skill-specific constraints:
git worktree remove --force unless the caller has explicitly verified the worktree is clean. Destructive deletion of in-progress work is prohibited.git worktree add, always symlink {worktree}/.plan to the main checkout's .plan directory so documented command invocations (python3 .plan/execute-script.py …) resolve to the same executor and runtime state from inside the worktree. The symlink step is idempotent — re-running create over an existing worktree never clobbers real user data.get_worktree_root() (which resolves to <project_root>/.claude/worktrees) and the plan id; never accept an arbitrary path from the caller.| Subcommand | Arguments | Purpose |
|-----------|-----------|---------|
| path | --plan-id | Return the computed worktree path (without creating anything) |
| create | --plan-id --branch [--base] | Create worktree + new branch + .plan symlink |
| remove | --plan-id [--force] | Remove worktree (non-force by default) |
| list | (none) | Enumerate worktrees under <root>/.claude/worktrees/ |
TOON format per the manage-contract. Successful results include worktree_path.
development
The single append-only change-ledger — one worktree_sha-stamped substrate for kind=build and kind=change entries — plus the first-class worktree-sha freshness API
development
Authoring standards for ASCII box diagrams in skill and doc source — box-drawing conventions, right-border alignment, and a deterministic check/fix validator over fenced/literal code blocks in .md and .adoc files
testing
Recipe for verifying and fixing alignment of ASCII box diagrams across .md skill source and .adoc documentation, one deliverable per offending file
development
Pure platform-agnostic terminal-title composition consumed by platform-runtime via PYTHONPATH