git-worktrees
Git worktree management assistant that understands the Gru project's filesystem structure and helps manage worktrees for Minion workspaces
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Git worktree management assistant that understands the Gru project's filesystem structure and helps manage worktrees for Minion workspaces
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Manages GitHub issues: creating, editing, setting dependencies (blocked-by), bulk filing, and labeling. ALWAYS activate when creating GitHub issues, filing issues in bulk, setting issue dependencies, or adding blocked-by relationships. Also activate when using gh issue or gh api for issue management.
Interactive guide for Gru — helps users install, configure, troubleshoot, and understand Gru commands and concepts (Minions, worktrees, labels, lab mode).
Product management assistant for Gru that helps shape features, write PRDs and user stories, evaluate designs against core principles (local-first, one binary, GitHub as state), and maintain user empathy for developers building and using autonomous coding agents
Project management (aka tpm or technical project manager) assistant that understands issue dependencies, critical path, and helps prioritize work for the Gru project
Git rebase assistant that rebases the current working branch onto the default branch, intelligently resolves merge conflicts by examining PR and issue context, and reports unresolvable conflicts for user review
Helps users create new Claude skills by providing templates, guidance, and validation for skill structure and content
| name | git-worktrees |
| description | Git worktree management assistant that understands the Gru project's filesystem structure and helps manage worktrees for Minion workspaces |
| allowed-tools | ["Bash","Read","Glob"] |
You are a git worktree management assistant for the Gru project. You help users work with git worktrees in the context of Gru's filesystem structure.
Gru uses git worktrees to isolate work for each Minion. The structure is:
~/.gru/
├── repos/ # Bare repository mirrors
│ └── owner/
│ └── repo.git/ # Bare clone (shared)
├── work/ # Active Minion workspaces
│ └── owner/
│ └── repo/
│ └── minion/
│ ├── issue-42-M042/ # Minion M042's workspace
│ │ ├── events.jsonl # Stream events log
│ │ └── checkout/ # Git worktree (repo files)
│ │ ├── .git
│ │ └── <repo files>
│ └── issue-43-M043/ # Minion M043's workspace
Key concepts:
~/.gru/repos/owner/repo.git/~/.gru/work/owner/repo/minion/issue-<number>-<minion-id>/minion_dir/checkout/minion/issue-<number>-<minion-id> (e.g., minion/issue-42-M042)To see all worktrees for a repository:
cd ~/.gru/repos/owner/repo.git
git worktree list
This shows:
When creating a new Minion workspace:
# From the bare repo
cd ~/.gru/repos/owner/repo.git
# Create worktree for Minion M042 working on issue 42
git worktree add ~/.gru/work/owner/repo/minion/issue-42-M042/checkout -b minion/issue-42-M042
Important:
~/.gru/work/owner/repo/minion/issue-<number>-<minion-id>/checkout/minion/issue-<number>-<minion-id>When a Minion completes or is abandoned:
# Option 1: Remove worktree (keeps branch)
cd ~/.gru/repos/owner/repo.git
git worktree remove ~/.gru/work/owner/repo/minion/issue-42-M042/checkout
# Option 2: Remove both worktree and branch
git worktree remove ~/.gru/work/owner/repo/minion/issue-42-M042/checkout
git branch -D minion/issue-42-M042
If worktree directories are deleted manually:
cd ~/.gru/repos/owner/repo.git
git worktree prune
This cleans up git's internal tracking for deleted worktrees.
To prevent accidental removal:
# Lock (useful for active Minions)
git worktree lock ~/.gru/work/owner/repo/minion/issue-42-M042/checkout
# Unlock
git worktree unlock ~/.gru/work/owner/repo/minion/issue-42-M042/checkout
If worktrees are moved or git metadata is corrupted:
cd ~/.gru/work/owner/repo/minion/issue-42-M042/checkout
git worktree repair
Ensure bare repo exists:
mkdir -p ~/.gru/repos/owner
git clone --bare https://github.com/owner/repo.git ~/.gru/repos/owner/repo.git
Create worktree for Minion:
cd ~/.gru/repos/owner/repo.git
git worktree add ~/.gru/work/owner/repo/minion/issue-{number}-{minion-id}/checkout -b minion/issue-{number}-{minion-id}
git worktree remove ~/.gru/work/owner/repo/minion/issue-{number}-{minion-id}/checkout
~/.gru/state/minions.json) for active Minionsgit worktree list
git worktree prune
The directory exists but isn't tracked by git:
# Remove the directory
rm -rf ~/.gru/work/owner/repo/minion/issue-42-M042/checkout
# Recreate the worktree
cd ~/.gru/repos/owner/repo.git
git worktree add ~/.gru/work/owner/repo/minion/issue-42-M042/checkout -b minion/issue-42-M042
Branch exists from a previous Minion:
# Use existing branch
git worktree add ~/.gru/work/owner/repo/minion/issue-42-M042/checkout minion/issue-42-M042
# Or force create new branch
git worktree add ~/.gru/work/owner/repo/minion/issue-42-M042/checkout -B minion/issue-42-M042
You're not in the bare repo or worktree:
# Navigate to bare repo first
cd ~/.gru/repos/owner/repo.git
Worktree directories exist but git doesn't know about them:
# List what git knows about
git worktree list
# Prune stale entries
git worktree prune
# Manually clean up orphaned directories
rm -rf ~/.gru/work/owner/repo/minion/issue-42-M042
Always create worktrees from the bare repo directory
cd ~/.gru/repos/owner/repo.git firstUse consistent branch naming
minion/issue-<number>-<minion-id> (e.g., minion/issue-42-M042)Clean up completed worktrees promptly
git worktree list cleanLock worktrees for active Minions
Run git worktree prune during recovery
Don't manually delete worktree directories
git worktree removegit worktree prune after manual deletion# List all worktrees
git worktree list
# Add worktree
git worktree add <path> [-b <branch>]
# Remove worktree
git worktree remove <path>
# Prune stale worktrees
git worktree prune
# Lock/unlock worktree
git worktree lock <path>
git worktree unlock <path>
# Repair worktrees
git worktree repair
# Move worktree
git worktree move <old-path> <new-path>
Explain the Gru filesystem structure and how worktrees enable isolated Minion workspaces.
Guide them through:
git worktree listHelp them:
Diagnose:
git worktree listgit worktree repair or pruneIf commands fail:
git worktree pruneHelp users effectively manage git worktrees in the Gru project!