К основному содержанию
скилл CX Codex

git-worktree-runner — скилл для Claude Code: работа с git worktree

Скилл учит агента управлять git worktree через CLI-обёртку gtr: создавать, открывать в редакторе, запускать команды и удалять.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add dyoshikawa/rulesync --skill git-worktree-runner -a claude-code
Открыть на GitHub

Что делает git-worktree-runner

Скилл описывает работу с git-worktree-runner (сокращённо gtr) — CLI-обёрткой над git worktree. Агент получает готовые команды: git gtr new feature-branch создаёт worktree с новой веткой, --from origin/main берёт за основу конкретный ref, флаги -e и -a сразу открывают редактор или ИИ-инструмент. Есть git gtr list, git gtr rm, git gtr mv и git gtr run для запуска произвольной команды в нужном worktree.

Отдельный сценарий — параллельная работа нескольких агентов. Под каждую задачу создаётся изолированный worktree, в каждом запускается свой ИИ-инструмент, а git gtr list показывает общий статус. Для этого сначала настраивают значения по умолчанию: git gtr config set gtr.editor.default cursor и git gtr config set gtr.ai.default claude. Файлы вроде **/.env в новые worktree не попадают сами — их добавляют через git gtr config add gtr.copy.include.

Скилл разрешает агенту только команды git-worktree-runner, поэтому обычный git он через него не запустит. Проверка PR из форка идёт вручную: сначала gh pr view <PR_NUMBER> --json headRefName,isCrossRepository, потом git fetch origin pull/<PR_NUMBER>/head:<BRANCH_NAME> --force, и только затем git gtr new <BRANCH_NAME> --track local. Если ветка уже занята другим worktree, fetch упадёт с ошибкой про checked out branch — сначала git gtr rm <branch>.

Какие задачи решает

  • создать отдельный worktree под новую задачу, не трогая текущую ветку
  • запустить несколько ИИ-агентов параллельно на изолированных копиях репозитория
  • выкачать PR из форка и открыть его в редакторе для ревью
  • прогнать тесты в worktree, пока основная работа идёт в другом
  • сделать срочный хотфикс и вернуться к фиче без переключения контекста

Примеры запросов агенту

  • создай worktree для ветки feature-auth от origin/main и открой в нём редактор
  • запусти ИИ-инструмент в worktree bugfix-login
  • выкачай PR 1223 из форка в worktree pr-1223 и покажи список worktree

Как установить git-worktree-runner

1Через Skills CLI (Vercel)

npx skills add dyoshikawa/rulesync --skill git-worktree-runner -a claude-code

2Вручную: положить файлы

~/.claude/skills/git-worktree-runner/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/git-worktree-runner/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о git-worktree-runner

Как установить git-worktree-runner в Claude?

Выполните npx skills add dyoshikawa/rulesync --skill git-worktree-runner -a claude-code. Скилл появится в ~/.claude/skills/git-worktree-runner/SKILL.md.

Что делает git-worktree-runner?

Даёт агенту набор команд git gtr для создания, просмотра, переименования и удаления worktree, запуска команд внутри них и открытия редактора или ИИ-инструмента.

Почему git fetch для PR из форка падает с ошибкой про checked out branch?

Ветку уже занимает другой worktree. Удалите его командой git gtr rm <branch> и повторите fetch с --force.

Исходный текст

SKILL.md · MIT
---
name: git-worktree-runner
description: >-
  Manages git worktrees using git-worktree-runner (gtr). Use when the user needs
  to create, list, remove, or navigate worktrees with `git gtr` commands, open
  editors or AI tools in worktrees, manage parallel development branches, or
  check out GitHub PRs (including from forks) into worktrees.
targets:
  - "*"
allowed-tools: "Bash(git-worktree-runner:*)"
---

# Git Worktree Runner (gtr)

git-worktree-runner (gtr) is a CLI tool that wraps `git worktree` with quality-of-life features for modern development workflows including editor and AI tool integration.

## Quick Start

```bash
# Create a new worktree
git gtr new feature-branch

# Create from a remote branch
git gtr new my-branch --from origin/feature-branch

# Open editor in the worktree
git gtr editor feature-branch

# Start AI tool (claude, codex, etc.) in the worktree
git gtr ai feature-branch

# Remove a worktree
git gtr rm feature-branch
```

## Commands

### Creating Worktrees

```bash
# Create a new worktree with a new branch
git gtr new feature-name

# Create from a specific ref (remote branch, tag, commit)
git gtr new my-branch --from origin/main
git gtr new hotfix --from v1.2.3

# Create and immediately open in editor
git gtr new feature -e

# Create and immediately start AI tool
git gtr new feature -a

# Create with both editor and AI tool
git gtr new feature -e -a
```

### Opening Editor / AI Tool

```bash
# Open the configured editor for a worktree
git gtr editor feature-branch

# Start configured AI tool in a worktree
git gtr ai feature-branch
```

### Running Commands

```bash
# Run an arbitrary command in a worktree
git gtr run feature-branch npm test
git gtr run feature-branch pnpm build
```

### Navigation

```bash
# Navigate to a worktree directory
cd "$(git gtr go feature-branch)"
```

### Listing and Managing

```bash
# List all worktrees
git gtr list

# Remove a worktree
git gtr rm feature-branch

# Rename a worktree
git gtr mv old-name new-name
```

## Configuration

```bash
# Set default editor (cursor, vscode, zed, etc.)
git gtr config set gtr.editor.default cursor

# Set default AI tool (claude, codex, opencode, aider, etc.)
git gtr config set gtr.ai.default claude

# Configure files to copy into new worktrees
git gtr config add gtr.copy.include "**/.env"
git gtr config add gtr.copy.include "**/.env.local"
git gtr config add gtr.copy.include "**/.env.example"

# View current configuration
git gtr config list
```

## Example: Parallel AI Development

```bash
# Create isolated worktrees for parallel AI agents
git gtr new feature-auth --from origin/main
git gtr new feature-api --from origin/main
git gtr new bugfix-login --from origin/main

# Start AI tools in each worktree
git gtr ai feature-auth
git gtr ai feature-api
git gtr ai bugfix-login

# Check status of all worktrees
git gtr list

# Clean up when done
git gtr rm feature-auth
git gtr rm feature-api
git gtr rm bugfix-login
```

## Example: PR Review in Isolated Worktree

```bash
# Create a worktree from PR branch
git gtr new review-pr-123 --from origin/pr-branch

# Open in editor to review
git gtr editor review-pr-123

# Run tests in isolation
git gtr run review-pr-123 pnpm test

# Clean up after review
git gtr rm review-pr-123
```

## Example: Hotfix While Working on Feature

```bash
# Current work is on feature-branch, need to do a hotfix
git gtr new hotfix-critical --from origin/main

# Open editor for the hotfix
git gtr new hotfix-critical -e

# After hotfix is done, remove the worktree
git gtr rm hotfix-critical
# Back to feature-branch work without context switching
```

## Example: Checkout a Fork PR into Worktree

For PRs from forked repositories, the branch is not on `origin`. Use GitHub's `refs/pull/<number>/head` ref to fetch it.

### Procedure

Given a PR number or URL:

1. **Get PR metadata**

   ```bash
   gh pr view <PR_NUMBER> --json headRefName,isCrossRepository
   ```

2. **Check for existing worktree** with the same branch name

   ```bash
   git worktree list
   ```

   If it exists, remove it first: `git gtr rm <branch>`

3. **Fetch the PR ref** into a local branch (use `--force` to handle diverged history from force-pushes)

   ```bash
   git fetch origin pull/<PR_NUMBER>/head:<BRANCH_NAME> --force
   ```

4. **Create the worktree** with `--track local` since it's a local-only branch

   ```bash
   git gtr new <BRANCH_NAME> --track local
   ```

5. **Verify**
   ```bash
   git gtr list
   ```

### Full example (PR #1223 from a fork)

```bash
gh pr view 1223 --json headRefName,isCrossRepository
git fetch origin pull/1223/head:fix/comprehensive-file-formats-docs --force
git gtr new fix/comprehensive-file-formats-docs --track local
git gtr list
```

### Shortening long branch names

```bash
git fetch origin pull/1223/head:pr-1223 --force
git gtr new pr-1223 --track local
```

### Common errors

- **"refusing to fetch into branch checked out at..."**: A worktree with that branch exists. `git gtr rm <branch>` first.
- **"non-fast-forward" rejected**: Local branch diverged. Add `--force` to the fetch.
- **Both errors**: Remove the worktree first, then fetch with `--force`.

© dyoshikawa · MIT · dyoshikawa/rulesync

Похожие скиллы

Все скиллы по теме «Git и GitHub» →
git-worktree-explorer официальный James Montemagno Плагин визуализирует активный Git-репозиторий через worktrees, ветки и коммиты. Подойдёт, когда нужно увидеть структуру репозитория и контекст pull request. ★ 40 418звёзд репо conventional-git samber Скилл задаёт правила именования веток и коммитов по стандарту Conventional Commits v1.0.0. Помогает поддерживать чистую историю проекта в GitHub и GitLab. CX Codex +1 4 600установок git-worktree-manager Alireza Rezvani Разводит параллельные ветки по отдельным worktree с собственными портами и окружением, чтобы агенты не мешали друг другу. 581установок create-worktrees davila7 Собирает все открытые пул-реквесты через GitHub CLI и разворачивает под каждую ветку отдельный git worktree в папке ./tree/. Пригодится, когда надо смотреть несколько PR сразу, не переключая ветки в основном чекауте. 351установок worktree-check davila7 Показывает, в каком worktree вы находитесь, на какой ветке, сколько коммитов впереди main и что за задача назначена. 81установок om-auto-continue-pr open-mercato Возобновляет незакрытый pull request с первого невыполненного шага плана. Если плана нет, восстанавливает цель по описанию, комментариям и диффу. CX Codex +1 3 700установок

Из того же набора11

rebase-latest-main Скилл проводит агента по шагам: проверить ветку, сделать fetch, ребейзнуть на origin/main и разрулить конфликты. Полезен, когда ветка отстала от main. CX Codex +1 ★ 1 552звёзд репо prs-awaiting-author Показывает открытые пул-реквесты, по которым следующий шаг за автором: упал CI, не отвечены замечания ревью, ждёт ответа вопрос мейнтейнера. CX Codex +1 ★ 1 552звёзд репо porting-another-repository Разбирает фичу в текущем репозитории и правила целевого, а потом пишет план переноса в tmp/ — файлами, которые вы применяете руками. CX Codex +1 ★ 1 552звёзд репо goal-release Ведёт релиз целиком: открывает PR, ждёт зелёный CI, мержит и обновляет формулу Homebrew. Пригодится, когда версию надо выпустить одной командой. CX Codex +1 ★ 1 552звёзд репо draft-issue-to-external-repository Готовит GitHub issue для репозитория, которым вы не владеете: изучает шаблоны и стиль проекта, уточняет замысел с вами и сохраняет текст в файл. CX Codex +1 ★ 1 552звёзд репо create-issue Скилл, который оформляет GitHub issue по шагам: собирает данные, изучает код, пишет описание на английском и ставит метки. Пригодится, когда лень вручную разбираться с шаблоном и gh label list. CX Codex +1 ★ 1 552звёзд репо clean-branches Скилл проходит по локальным веткам git, находит слитые и осиротевшие и удаляет их по одной, с отчётом в конце. CX Codex +1 ★ 1 552звёзд репо batch-all-issues Скилл проходит по всем открытым issue по одному: проверяет факты через веб-поиск, закрывает ненужные и доводит остальные до merge. CX Codex +1 ★ 1 552звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой