sc-worktree
10
总安装量
6
周安装量
#30459
全站排名
安装命令
npx skills add https://github.com/tony363/superclaude --skill sc-worktree
Agent 安装分布
codex
4
claude-code
4
windsurf
3
trae
3
cursor
3
Skill 文档
Worktree Management Skill
Git worktree isolation for parallel agent development with simple, safe workflows.
Quick Start
# Create isolated worktree for a task
/sc:worktree create feature-auth
# List all active worktrees
/sc:worktree list
# Propose changes for human review
/sc:worktree propose feature-auth
# Clean up stale worktrees
/sc:worktree cleanup
Behavioral Flow
- Create – Initialize isolated worktree with unique naming
- Validate – Preflight checks (clean repo, no conflicts)
- Assign – Spawn subagent with CWD set to worktree
- Work – Agent operates in isolation, commits to branch
- Propose – Push branch and create PR for human review
- Cleanup – Remove merged/stale worktrees
Commands
| Command | Purpose | Git Operations |
|---|---|---|
create <task-id> |
Create isolated worktree | git worktree add -b wt/<task> |
list |
Show all active worktrees | git worktree list |
status <task-id> |
Check worktree state | git status, git log |
cleanup [--all] |
Remove stale worktrees | git worktree remove, prune |
propose <task-id> |
Create PR for human review | git push, gh pr create |
Flags
| Flag | Type | Default | Description |
|---|---|---|---|
--commits |
bool | true | Agent commits directly to branch |
--patches |
bool | false | Agent produces patch files only |
--run-tests |
bool | false | Run tests before proposing |
--force |
bool | false | Override existing worktree/branch |
--base |
string | main | Base branch for worktree |
Evidence Requirements
This skill does NOT require hard evidence. Worktree operations are self-documenting through:
- Git worktree list output
- Branch history
- PR creation confirmation
Naming Convention
Worktrees use deterministic naming to prevent collisions:
Path: .worktrees/<task-id>/
Branch: wt/<task-id>
Example:
Path: .worktrees/feature-auth/
Branch: wt/feature-auth
Operations
Create Worktree
/sc:worktree create feature-auth
# Executes:
# 1. mkdir -p .worktrees
# 2. git worktree add -b wt/feature-auth .worktrees/feature-auth
# 3. Returns worktree path for subagent CWD
List Worktrees
/sc:worktree list
# Shows:
# - Active worktrees
# - Associated branches
# - Last commit info
Check Status
/sc:worktree status feature-auth
# Shows:
# - Uncommitted changes
# - Commits ahead of base branch
# - Conflict warnings
Propose Changes
/sc:worktree propose feature-auth
# Executes:
# 1. git push -u origin wt/feature-auth
# 2. gh pr create --title "feat: feature-auth" --body "..."
# 3. Returns PR URL for human review
Cleanup Worktrees
/sc:worktree cleanup # Remove merged worktrees
/sc:worktree cleanup --all # Remove ALL worktrees
/sc:worktree cleanup feature-auth # Remove specific worktree
# Executes:
# 1. git worktree remove .worktrees/<task-id>
# 2. git branch -d wt/<task-id>
# 3. git worktree prune
Subagent Integration
When spawning a subagent to work in a worktree:
# 1. Create worktree
/sc:worktree create feature-auth
# 2. Spawn subagent with CWD
Task(
prompt="Implement JWT authentication",
subagent_type="general-purpose",
# CWD implicitly set to .worktrees/feature-auth/
)
# 3. Agent works in isolation
# - All file operations scoped to worktree
# - Commits go to wt/feature-auth branch
# 4. Propose for review
/sc:worktree propose feature-auth
Preflight Checks
Before creating a worktree, the skill validates:
-
Repository State
- Repo is clean OR
--forceflag provided - Main branch is up to date
- Repo is clean OR
-
Branch Availability
wt/<task-id>branch doesn’t exist OR explicit reuse- No conflicting remote branch
-
Path Availability
.worktrees/<task-id>doesn’t exist OR--forceflag
Conflict Detection
Before proposing, the skill checks for conflicts:
# Fetch latest changes
git fetch origin main
# Check if worktree is behind
git merge-base --is-ancestor origin/main HEAD
# Warn but don't block if behind
# Human reviewer handles merge strategy
Examples
Single Agent Workflow
# Create worktree
/sc:worktree create add-logging
# Work in worktree (agent operates here)
# ... agent makes changes, commits ...
# Propose changes
/sc:worktree propose add-logging
# Human reviews PR, merges
# Cleanup
/sc:worktree cleanup add-logging
Parallel Multi-Agent Workflow
# Orchestrator creates multiple worktrees
/sc:worktree create feature-auth
/sc:worktree create feature-logging
/sc:worktree create feature-metrics
# Spawn agents in parallel (each with own worktree)
# Agent A -> .worktrees/feature-auth/
# Agent B -> .worktrees/feature-logging/
# Agent C -> .worktrees/feature-metrics/
# Propose all changes
/sc:worktree propose feature-auth
/sc:worktree propose feature-logging
/sc:worktree propose feature-metrics
# Human reviews 3 PRs, merges sequentially
# Cleanup all
/sc:worktree cleanup --all
Patch Mode (No Direct Commits)
/sc:worktree create refactor-api --patches
# Agent produces .patch files instead of commits
# Orchestrator reviews patches before applying
/sc:worktree propose refactor-api # Creates PR from patches
MCP Integration
PAL MCP (Validation & Review)
| Tool | When to Use | Purpose |
|---|---|---|
mcp__pal__precommit |
Before propose | Validate changes in worktree |
mcp__pal__codereview |
Before propose | Review worktree changes |
mcp__pal__consensus |
Conflict resolution | Multi-model merge strategy |
PAL Usage Patterns
# Validate worktree changes before proposing
mcp__pal__precommit(
path=".worktrees/feature-auth",
step="Validating worktree changes",
findings="Security, test coverage, completeness",
compare_to="main"
)
# Review worktree branch
mcp__pal__codereview(
review_type="full",
step="Reviewing feature-auth worktree",
relevant_files=[".worktrees/feature-auth/src/auth.py"]
)
Rube MCP (Automation & Notifications)
| Tool | When to Use | Purpose |
|---|---|---|
mcp__rube__RUBE_SEARCH_TOOLS |
GitHub integration | Find PR tools |
mcp__rube__RUBE_MULTI_EXECUTE_TOOL |
Propose command | Create PR, notify team |
Rube Usage Patterns
# Create PR and notify team
mcp__rube__RUBE_MULTI_EXECUTE_TOOL(tools=[
{"tool_slug": "GITHUB_CREATE_PULL_REQUEST", "arguments": {
"repo": "myapp",
"title": "feat: feature-auth from worktree",
"body": "## Worktree: feature-auth\nCreated via /sc:worktree",
"base": "main",
"head": "wt/feature-auth"
}},
{"tool_slug": "SLACK_SEND_MESSAGE", "arguments": {
"channel": "#pull-requests",
"text": "New PR from worktree: wt/feature-auth"
}}
])
Flags (Extended)
| Flag | Type | Default | Description |
|---|---|---|---|
--pal-review |
bool | false | Use PAL codereview before propose |
--create-pr |
bool | true | Create GitHub PR via Rube |
--notify |
string | – | Notify via Rube (slack, teams) |
--draft |
bool | false | Create draft PR |
Tool Coordination
- Bash – Git worktree commands, directory operations
- Read – Check worktree status and logs
- Task – Spawn subagents with worktree CWD
- PAL MCP – Pre-propose validation, code review
- Rube MCP – PR creation, team notifications
Safety Guarantees
- Isolation – Each worktree has separate working directory
- No Auto-Merge – Human review required for all merges
- Unique Naming – Deterministic paths prevent collisions
- Crash-Safe –
cleanup --allremoves stale worktrees - Warning-Only Conflicts – Conflicts warn but don’t block
Limitations
- No automatic quality scoring (use CI/tests)
- No lease tracking (periodic cleanup instead)
- No sophisticated conflict resolution (human review)
- No auto-merge to main (PR-based workflow)