| name | finish-worktree |
| description | Completes feature branch work by rebasing, pushing, monitoring CI, and squash merging to main |
| user-invocable | true |
Finish Worktree Skill
CLAUDE: When this skill is invoked with /finish-worktree, immediately run:
./.claude/skills/finish-worktree/finish-worktree.sh
Then guide the user through CI monitoring and merge-and-cleanup.
Purpose
Completes feature branch work with proper rebase, CI validation, and squash merge back to main.
Usage
/finish-worktree
Workflow Steps
Step 1: Rebase onto main
./.claude/skills/finish-worktree/finish-worktree.sh
This script:
- Fetches latest from origin/main
- Rebases your branch onto main
- Runs local validation (fmt, architectural, clippy)
- Pushes with
--force-with-lease
Step 2: Monitor CI
Use the first available method (never ask for a GitHub token):
gh run list --branch <branch> / gh run watch — if gh CLI is authenticated
- GitHub MCP tools (
mcp__github__*) — if MCP server is configured
- WebFetch
https://github.com/dravr-ai/dravr-platform/actions — always available
Wait for all checks to pass (green).
Step 3: If CI Fails
Fix the issues locally, then:
cargo fmt
cargo clippy --all-targets -- -D warnings -D clippy::all -D clippy::pedantic -D clippy::nursery
git add .
git commit --amend --no-edit
git push --force-with-lease origin <branch-name>
Repeat until CI is green.
Step 4: Squash Merge and Cleanup
Once CI is green, run from the main worktree:
cd /path/to/main/worktree
./.claude/skills/finish-worktree/merge-and-cleanup.sh
No arguments needed - branch info is saved by finish-worktree.sh.
This script:
- Pulls latest main
- Squash merges the feature branch
- Prompts for commit message
- Pushes main
- Removes the worktree
- Deletes the feature branch
Complete Example Session
./.claude/skills/finish-worktree/finish-worktree.sh
cd /path/to/main/worktree
./.claude/skills/finish-worktree/merge-and-cleanup.sh
Related Skills
create-worktree - Creates worktree with environment setup