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

worktree-deliver — команда для Claude Code

Автоматизирует подготовку коммита и оформление пулл-реквеста прямо из рабочего дерева Git. Пригодится при завершении изолированных задач в Claude Code.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --command git-workflow/worktree-deliver
Открыть на GitHub

Что делает worktree-deliver

Команда проверяет, что агент находится в Git worktree, и сопоставляет имя ветки с шаблонами claude/*, claude-daniel/* или review/*. При несовпадении Claude Code предупредит пользователя. Затем команда считывает описание задачи из .worktree-task.md и удаляет этот временный файл перед индексацией, чтобы он не попал в историю коммитов.

Далее запрашивается подтверждение списка файлов и формируется коммит по стандарту Conventional Commits с телом и указанием соавтора. Claude Code анализирует дифф, выбирает подходящий префикс (feat, fix, refactor, docs, test или chore) и даёт возможность отредактировать сообщение вручную.

В финале ветка отправляется в удалённый репозиторий через git push -u origin HEAD, а пулл-реквест создаётся утилитой gh pr create. Без установленной и авторизованной консольной утилиты GitHub CLI создать PR не выйдет. После завершения команда выводит ссылку на пулл-реквест и предлагает запустить /worktree-cleanup в основном репозитории.

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

  • оформить пулл-реквест прямо из изолированного рабочего дерева Git
  • составить сообщение коммита по правилам Conventional Commits
  • удалить файл задачи .worktree-task.md перед индексацией
  • отправить ветку на GitHub и создать PR через GitHub CLI

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

  • /worktree-deliver
  • Сдай текущую задачу и оформи пулл-реквест из этого ворктри
  • Закоммить изменения и создай PR для текущей ветки

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

1Через claude-code-templates

npx claude-code-templates@latest --command git-workflow/worktree-deliver

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

.claude/commands/worktree-deliver.md

Вызов — /worktree-deliver. Для всех проектов — ~/.claude/commands/

Вопросы о worktree-deliver

Как установить worktree-deliver в Claude Code?

Выполните команду npx claude-code-templates@latest --command git-workflow/worktree-deliver, которая добавит шаблон в .claude/commands/worktree-deliver.md.

Что делает команда worktree-deliver?

Она проверяет ворктри, удаляет локальный файл задачи, собирает коммит по стандарту Conventional Commits, пушит ветку и открывает пулл-реквест через утилиту gh.

Какие системные утилиты нужны для работы команды?

Для работы требуются git и установленная авторизованная консольная утилита GitHub CLI (gh), так как создание пулл-реквеста опирается на команду gh pr create.

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

worktree-deliver.md · MIT
---
allowed-tools: Bash(git:*), Bash(gh:*), Bash(rm:*), Bash(cat:*), Bash(pwd:*), Bash(ls:*)
description: Commit, push, and create PR from the current worktree
---

# Worktree Deliver

Commit all work, push, and create a pull request from the current worktree.

## Instructions

You are inside a worktree. Package up the work and deliver it as a PR.

### Step 1: Validate Environment

1. Verify this is a worktree (not the main working tree) using `git worktree list`
2. Get current branch: `git branch --show-current`
3. Verify branch follows `claude/*`, `claude-daniel/*`, or `review/*` pattern. If not, warn the user and ask if they want to continue.
4. Read `.worktree-task.md` if it exists to get the original task description

### Step 2: Review Changes

1. Run `git diff --stat` and `git diff --cached --stat` to show all changes
2. Run `git status --short` to show the full picture
3. If there are no changes at all (clean working tree, no commits ahead of main), inform the user there's nothing to deliver and stop.

### Step 3: Clean Up Task File

Before staging anything, remove the worktree task file so it doesn't end up in the commit:

```bash
rm -f .worktree-task.md
```

### Step 4: Confirm Files to Commit

Use AskUserQuestion to show the user what will be committed and ask for confirmation. List all modified, added, and untracked files.

Options:
- "Stage all changes" — stage everything
- "Let me choose" — user will specify which files to include

If the user wants to choose, ask them which files to stage.

### Step 5: Stage and Commit

1. Stage the confirmed files with `git add`
2. Generate a commit message following conventional commits format

**Commit Message Strategy:**

   1. **Analyze the diff** to determine the conventional commit type:
      - `feat:` — New functionality, new files, new exports, new API endpoints
      - `fix:` — Bug fixes, error corrections, fixing broken behavior
      - `refactor:` — Code restructuring without changing behavior
      - `docs:` — Documentation only changes
      - `test:` — Adding or modifying tests
      - `chore:` — Build scripts, configs, maintenance tasks

   2. **Generate a commit message** based on:
      - The task description from `.worktree-task.md` (if it was found)
      - A brief summary of what the diff actually changed
      - Format: `<type>: <subject>` (max 72 characters)

   3. **Show the proposed message** to the user with AskUserQuestion:
      - Display the generated message clearly
      - Options: "Use this message" / "Let me write my own"

   4. **If user chooses to write their own:**
      - Ask them to provide their commit message
      - Validate it follows conventional commits format (warn if not, but allow)

   5. **Always include body and co-author:**
      - Add a brief body summarizing what changed (2-3 bullet points if multiple changes)
      - Include the standard co-author line

3. Create the commit with the message using a HEREDOC:
   ```bash
   git commit -m "$(cat <<'EOF'
   <commit message here>
   EOF
   )"
   ```

### Step 6: Push

Push the branch to origin:

```bash
git push -u origin HEAD
```

If push fails due to no upstream, the `-u` flag should handle it. If it fails for another reason, show the error and suggest fixes.

### Step 7: Create Pull Request

1. Determine the base branch (main or master) using the same detection as worktree-init
2. Create the PR using `gh pr create`:

```bash
gh pr create --base <main-branch> --title "<PR title>" --body "$(cat <<'EOF'
## Summary

<bullet points describing the changes based on task description and diff>

## Original Task

<task description from .worktree-task.md>

## Changes

<git diff --stat summary>

---
Created from worktree `claude/<name>` using `/worktree-deliver`
EOF
)"
```

3. Display the PR URL prominently

### Step 8: Next Steps

Tell the user:
- PR is ready for review at `<URL>`
- After merging, run `/worktree-cleanup` from the main repo to clean up
- They can close this terminal panel

© davila7 · MIT · davila7/claude-code-templates

Похожие слэш-команды

Все слэш-команды по теме «Git и GitHub» →
code-review официальный Anthropic Команда проводит многоэтапное ревью pull request через утилиту gh. Она фильтрует ложные срабатывания и сверяет правки с правилами CLAUDE.md. 5 537установок commit официальный Anthropic Создаёт коммит в git на основе текущих изменений в ветке. Помогает зафиксировать правки без ручного набора сообщений коммита. 4 121установок review-pr официальный Anthropic Команда запускает специализированных агентов для проверки изменений в PR: от тестов и обработки ошибок до типов и комментариев. ★ 44 770звёзд репо maker-setup официальный Anthropic Команда подключает Cardputer-Adv к рабочему процессу Code-with-Claude: скачивает репозиторий, прошивает устройство и ставит приложения Claude Buddy. ★ 44 770звёзд репо commit-push-pr официальный Anthropic Автоматически переключает ветку с main, делает коммит изменений, отправляет их на origin и оформляет pull request через GitHub CLI. ★ 44 770звёзд репо clean_gone официальный Anthropic Находит локальные Git-ветки со статусом [gone], удаляет связанные worktree и сами ветки. Пригодится после удаления веток на удалённом репозитории. ★ 44 770звёзд репо

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

Весь набор →
git-context-controller Скилл организует память ассистента в виде версионируемой файловой структуры .GCC/. Он сохраняет контрольные точки проекта, ведёт ветки для экспериментов и восстанавливает контекст между сессиями. 82установок ml-engineer Настраивает Claude Code на проектирование продакшен-систем машинного обучения. Помогает подготовить пайплайны данных, обучение и запуск моделей на PyTorch или TensorFlow. 82установок trading-risk-manager Помогает частным трейдерам рассчитывать размер позиций, оценивать риск ликвидации по деривативам и контролировать просадку портфеля. 82установок personal-tool-builder Помогает создавать небольшие утилиты для собственных задач. Подсказывает архитектуру консольных скриптов и локальных баз данных без усложнений. 81установок worktree-check Показывает, в каком worktree вы находитесь, на какой ветке, сколько коммитов впереди main и что за задача назначена. 81установок inngest Скилл помогает проектировать фоновые задачи и событийные сценарии на Inngest с пошаговым выполнением. Пригодится для отложенной обработки, расписаний и длительных процессов. 80установок service Скилл проверяет состояние сервиса Railway, меняет его имя и иконку, переключает привязку или создаёт сервис из Docker-образа. 80установок kubernetes-architect Помогает проектировать кластеры Kubernetes, настраивать GitOps через ArgoCD или Flux и выстраивать сетевую безопасность. Пригодится при переходе на микросервисную архитектуру. 80установок

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

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