From sc-git-worktree
Create, manage, scan, update, and clean up git worktrees for parallel development with protected branch safeguards. Use when working on multiple branches simultaneously, isolating experiments, updating protected branches (main/develop), or when user mentions "worktree", "parallel branches", "feature isolation", "branch cleanup", "worktree status", or "update main/develop".
How this skill is triggered — by the user, by Claude, or both
Slash command
/sc-git-worktree:sc-git-worktreeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to manage worktrees with a standard structure and tracking. Use the `/sc-git-worktree` command to invoke this skill.
Use this skill to manage worktrees with a standard structure and tracking. Use the /sc-git-worktree command to invoke this skill.
This skill delegates all execution to specialized agents via the Task tool (no manual git commands in the primary session).
Always pass inputs via <input_json> and render <output_json> from the subagent response.
Task tool template:
<invoke name="Task">
<parameter name="subagent_type">$SUBAGENT</parameter>
<parameter name="description">$DESCRIPTION</parameter>
<parameter name="prompt">Run $SUBAGENT with this input:
<input_json>
```json
$INPUT_JSON
</input_json>
| Operation | Agent | Returns |
|-----------|-------|---------|
| Create | `sc-worktree-create` | JSON: success, path, branch, tracking_entry |
| Scan | `sc-worktree-scan` | JSON: success, worktrees list, recommendations |
| Cleanup | `sc-worktree-cleanup` | JSON: success, branch_deleted, tracking_update |
| Abort | `sc-worktree-abort` | JSON: success, worktree_removed, tracking_update |
| Update | `sc-worktree-update` | JSON: success, commits_pulled, conflicts (if any) |
To invoke an agent, use the Task tool with the agent prompt and pass parameters exactly as documented in the agent Inputs section.
## Standards and Paths
- Repo root: current directory.
- Default worktree base: `../{{REPO_NAME}}-worktrees`.
- Worktrees live in `<worktree_base>/<branch>`.
- Tracking file (if used): `<worktree_base>/worktree-tracking.jsonl` must be updated on create/scan/cleanup/abandon. Allow a toggle to disable tracking for repos that don't use it.
- Naming: worktree directory = branch name; branch naming follows repo policy.
- Branch protections/hooks: no direct commits to protected branches.
## Protected Branch Configuration
Protected branches (main, develop, master, etc.) require special handling to prevent accidental deletion:
```yaml
# .sc/shared-settings.yaml
git:
protected_branches:
- "main"
- "develop"
- "master"
Protected Branch Rules:
.sc/shared-settings.yaml (git.protected_branches).sc/shared-settings.yaml--update to safely pull changes for protected branches in worktreesnpx claudepluginhub randlee/synaptic-canvas --plugin sc-git-worktreeManages git worktrees for isolated parallel development sessions with safety checks for uncommitted changes and unpushed commits.
Manages git worktrees via unified bash script for parallel development: creates isolated feature environments, lists/switches status, copies .env files, cleans up merged/stale worktrees.
Manage Git worktrees for isolated parallel development. Automates creation, switching, and cleanup with .env copying and .gitignore management. Useful for code reviews and feature work.