Ships with claude-code-templates. Installing the plugin gets this command.
⚡ How it fires
How this command gets triggered: by you, by Claude, or both.
Fires itselfClaude auto-loads it when your prompt matches the work.
You can call itInvoke it directly when you want it.
Slash command/worktree-deliver
👁️ Context preview
What this command does when you run it.
Commit, push, and create PR from the current worktree
📊 Stats
Stars29,853
Forks3,189
LanguagePython
LicenseMIT
📦 Ships with claude-code-templates
</> Command definition
worktree-deliver.md
---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
```