spin-worktreelisted
Install: claude install-skill ConnorGriffin/skills
# Spin an isolated worktree
Keep the ordinary checkout as the control checkout and create one worktree per
task. Dirty files in the control checkout are preserved and do not block the
helper: it updates Git refs and shared worktree metadata, creates the destination,
and never switches, stashes, or edits files in the control checkout.
By default worktrees live under `${AGENT_WORKTREE_ROOT:-~/worktrees}`:
```text
~/worktrees/<repository>/<task>
```
## Workflow
1. Resolve the ordinary checkout and pass it explicitly with `--repo`. Never
substitute another task's linked worktree just because it is clean. If a
linked worktree is passed accidentally, the helper resolves Git's primary
worktree before deriving `<repository>` or running commands.
2. Resolve this installed skill's directory.
3. Run one of the commands below.
4. Report the exact path and use it as the working directory.
5. Do not remove the worktree automatically. Cleanup belongs to task closeout
after merge.
New issue branch:
```sh
python3 <spin-worktree-skill-directory>/scripts/spin-worktree.py \
--repo /path/to/repository \
--issue 317 \
--slug rescue-context
```
Existing pull-request branch, discovered with GitHub CLI:
```sh
python3 <spin-worktree-skill-directory>/scripts/spin-worktree.py \
--repo /path/to/repository \
--pr 321
```
Existing branch:
```sh
python3 <spin-worktree-skill-directory>/scripts/spin-worktree.py \
--repo /path/to/repository \
--branch issue-316 \
--name p