Skills DirectorySearch all skills ↗

AI agent skill · by @ryoppippi

Git Wt

Manages worktree lifecycle operations through git-wt without replacing an existing linked worktree. Use when creating, switching, listing, renaming, or deleting worktrees.

Archived 2026-10-23 · Source updated 2026-09-19 · License: MIT. Check the original repository for the latest version.

SKILL.md instructions

# Git Worktrees with git-wt

Use `git wt` for worktree lifecycle operations. Do not use raw
`git worktree add`, `remove`, `move`, or `prune` when `git-wt` can perform the
operation.

## Current Worktree Detection

Before creating or switching worktrees, compare these paths:

```sh
git rev-parse --path-format=absolute --git-dir
git rev-parse --path-format=absolute --git-common-dir
```

Different paths mean the current directory is already inside a linked
worktree. Continue in that worktree unless the user explicitly requests a
different one. Do not create or select another worktree merely to satisfy an
isolation convention.

Equal paths mean the current directory is the main worktree. Create or select
a linked worktree only when the task or user actually requires isolation.

## Workflow

1. Detect whether the current directory is already a linked worktree.
2. If a lifecycle operation is needed, confirm the command is available with
   `git-wt --version`.
3. Inspect existing worktrees with `git wt --json | jq`.
4. Create or select a worktree with `git wt --nocd <branch-or-worktree>`.
   Add a start point when needed:
   `git wt --nocd <branch-or-worktree> <start-point>`.
5. Treat the printed path as the worktree root and use it as the working
   directory for subsequent commands. Do not rely on shell directory changes
   persisting between tool calls.
6. Verify the branch and status inside the selected worktree before editing:
   `git branch --show-current` and `git status --short`.

Use `git wt -b <branch> --nocd <worktree>` when the worktree directory and
branch names should differ.

## Destructive Operations

- Delete safely with `git wt -d <branch-or-worktree>`.
- Use `git wt -D <branch-or-worktree>` only when the user explicitly requests
  forced deletion or safe deletion fails and discarding the work is confirmed.
- Rename safely with `git wt -m [<old>] <new>`.
- Use `git wt -M [<old>] <new>` only when overwrite or force behaviour is
  explicitly required.
- Inspect `git status --short` in the target worktree before deleting or
  force-renaming it.

Run `git-wt --help` for flags and configured behaviour when the requested
operation is not covered above.

Related skills