Agent Skills: Worktree

Create, remove, or prune git worktrees for issue/PR isolation. Use when the user asks for a worktree, wants an isolated workspace per issue, or wants completed worktrees cleaned up.

UncategorizedID: gopherguides/gopher-ai/worktree

Install this agent skill to your local

pnpm dlx add-skill https://github.com/gopherguides/gopher-ai/tree/HEAD/plugins/go-workflow/skills/worktree

Skill Files

Browse the full folder contents for worktree.

Download Skill

Loading file tree…

plugins/go-workflow/skills/worktree/SKILL.md

Skill Metadata

Name
worktree
Description
"Create, remove, or prune git worktrees for issue/PR isolation. Use when the user asks for a worktree, wants an isolated workspace per issue, or wants completed worktrees cleaned up."

Worktree

Manage git worktrees for isolated per-issue/per-PR work. Three sub-actions, each in its own sibling file.

Before requesting decisions, read ${CLAUDE_PLUGIN_ROOT}/lib/driver-interaction.md and follow its cross-platform capability-binding rules.

Read ${CLAUDE_PLUGIN_ROOT}/lib/decision-gates.md before resolving action, target, consent, or cleanup choices.

Action selection

| User intent | Sibling | Slash command | |---|---|---| | Create one worktree for an issue or PR | create.md | /create-worktree <num> | | Remove a specific worktree (interactively) | remove.md | /remove-worktree | | Batch-clean all completed worktrees | prune.md | /prune-worktree |

Match the user's request to one of the three rows, then read the corresponding sibling for the full procedure.

If the request does not identify one action, follow the shared missing-intent gate. Request create, remove, or prune intent and stop before mutating worktrees.

Conventions (apply to all three actions)

  • Worktree path: ../<reponame>-issue-<num>-<title-slug>/ — sibling to the source repo, never inside it
  • Branch name: issue-<num>-<title-slug>
  • Title slug: lowercase, alnum + hyphens, derived from gh issue view --json title
  • Identifier rule: issue-<NUM>- prefix is the trusted issue marker on a branch — fix/2fa-login contains a number but is NOT an issue branch
  • Default branch: git remote show origin | grep 'HEAD branch' (handles repos with main vs master vs custom)
  • State file: ${CLAUDE_PLUGIN_ROOT}/scripts/worktree-state.sh registers the active worktree so the pre-tool-use hook blocks accidental edits to the source repo

Prerequisites (all three)

  • gh CLI installed and authenticated
  • Run from inside a git repository (any worktree of the repo, not just the main checkout)

Further Reading

  • create.md — full create procedure (PR vs issue detection, env-file copy, state registration)
  • remove.md — interactive selection + safety-check matrix (issue closed? branch merged? uncommitted changes?)
  • prune.md — batch evaluation, classification, confirmation, removal
Worktree Skill | Agent Skills