worktree-implement

git worktreeを自動作成して独立した実装環境を準備する。cleanup引数でworktreeを削除する。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "worktree-implement" with this command: npx skills add yasuwrldhyper/ai-skills-collection/yasuwrldhyper-ai-skills-collection-worktree-implement

/worktree-implement Skill

Create an isolated git worktree for implementing a feature or fix described in $ARGUMENTS. If $ARGUMENTS is cleanup, remove the worktree instead.


Phase 1: Parse Arguments

Check whether $ARGUMENTS equals cleanup (case-insensitive).

  • If yes → skip to Phase 3 (Cleanup).
  • If no → continue to Phase 2 (Create).

Branch Name Generation

From the task description in $ARGUMENTS, derive a short, kebab-case branch name:

  1. Detect intent prefix from keywords:

    • Bug / fix / error / issue → fix/
    • Docs / readme / documentation → docs/
    • Refactor / cleanup / restructure → refactor/
    • Test / spec / coverage → test/
    • Everything else → feat/
  2. Slugify the description:

    • Lowercase
    • Replace spaces and special characters with -
    • Remove leading/trailing -
    • Truncate to 40 characters

Example: "add payment webhook handler"feat/add-payment-webhook-handler


Phase 2: Create Worktree

Run the following steps in order:

2-1. Verify repository state

git -C . rev-parse --show-toplevel

If this fails, stop and inform the user: "Not inside a git repository."

2-2. Check for uncommitted changes

git status --short

If there are uncommitted changes, warn the user:

⚠️  You have uncommitted changes in the current working tree.
    These will NOT be carried over to the new worktree.
    Continue? (yes / no)

Use AskUserQuestion to ask for confirmation before proceeding.

2-3. Create the worktree

git worktree add .claude/worktrees/<slug> -b <branch-name>

Where:

  • <slug> is the kebab-case name (without prefix, e.g. add-payment-webhook-handler)
  • <branch-name> is the full branch name (e.g. feat/add-payment-webhook-handler)

If a worktree with that name already exists, append -2, -3, etc. until unique.

2-4. Display result

After successful creation, display:

✅ Worktree created:
   Path:    .claude/worktrees/<slug>
   Branch:  <branch-name>
   Base:    <current-branch> @ <short-sha>

Next steps:
   cd .claude/worktrees/<slug>   # work in isolation
   /worktree-implement cleanup   # remove when done

Phase 3: Cleanup

3-1. List existing worktrees

git worktree list

Display the list and ask the user which worktree to remove if multiple exist under .claude/worktrees/:

Worktrees under .claude/worktrees/:
  1. feat/add-payment-webhook-handler  →  .claude/worktrees/add-payment-webhook-handler
  2. fix/null-pointer-crash            →  .claude/worktrees/null-pointer-crash

Which worktree to remove? (enter number or branch name, or "all" to remove all)

Use AskUserQuestion to ask for confirmation.

3-2. Check for uncommitted changes

Before removing, run:

git -C .claude/worktrees/<name> status --short

If there are uncommitted changes, warn the user:

⚠️  Worktree '.claude/worktrees/<name>' has uncommitted changes.
    Removing it will discard these changes permanently.
    Proceed? (yes / no)

Use AskUserQuestion to confirm.

3-3. Remove worktree

git worktree remove .claude/worktrees/<name> --force
git worktree prune

3-4. Display result

✅ Worktree removed:
   Path:    .claude/worktrees/<name>
   Branch:  <branch-name> (branch still exists; delete with: git branch -d <branch-name>)

   git worktree prune completed.

If the user also wants to delete the branch, run:

git branch -d <branch-name>

(Use -D only if the user explicitly confirms the branch has unmerged changes they want to discard.)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

resolve-pr-reviews

No summary provided by upstream source.

Repository SourceNeeds Review
General

systematic-debugging

No summary provided by upstream source.

Repository SourceNeeds Review
General

git-commit

No summary provided by upstream source.

Repository SourceNeeds Review