Files
settled-reach/whatsinagame/templates/.claude/skills/worktree-update/SKILL.md
T
jpmschweitzerandClaude Opus 4.6 7158ae9cf5 feat(meta): add whatsinagame multi-agent team starter kit
Claude-native starter kit that bootstraps multi-agent team
infrastructure for any project. Clone once, install as a global
skill, run /kit-install in any project directory.

Includes:
- 3-tier profile system (minimal/standard/full: 3-12 agents)
- 16 agent archetype templates with personality spectrum
- 18 skill templates using domain-action naming convention
- Stakeholder persona panel for workshops and PR reviews
- SQLite ticketing DB with CLI tools (config-based DB paths)
- Decision tracking, sprint lifecycle, workshop orchestration
- Multi-git-host support (GitHub, Gitea, GitLab)
- /kit-update skill for syncing with source repo evolution
- Naming theme support for agent identity/flavor
- Smoke tests for all three profile tiers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 02:22:30 +01:00

3.2 KiB

name, description, user-invocable, allowed-tools
name description user-invocable allowed-tools
worktree-update Sync worktree branches with main. Use when the user says "update worktrees", "sync branches", "merge main", "worktree update", or invokes /worktree-update. When on main: shows ahead branches and lets user pick which to merge. When on a non-main branch: merges main into the current branch. true Bash, Read, AskUserQuestion

Worktree Update Skill

Sync worktree branches safely. Direction depends on the current branch.

Safety Rules (NON-NEGOTIABLE)

  • Never force-push, reset --hard, rebase, or delete branches.
  • Never use --no-verify or skip hooks.
  • Always use --no-edit on merges to avoid interactive editor prompts.
  • Stop on merge conflicts — report them and let the user decide. Never auto-resolve or abort a conflicted merge without asking.
  • Fetch before comparing — always git fetch --all first so commit comparisons are accurate.
  • Dry-run first on main — show the user exactly what will happen before merging anything into main.

Workflow

1. Detect current branch

git branch --show-current

Branch determines the mode: main -> outbound sync, anything else -> inbound sync.

2a. On main — merge worktree branches into main

Fetch and compare

git fetch --all

Discover all worktree branches (excluding main itself):

git worktree list | grep -v '\[main\]' | sed 's/.*\[//;s/\]//'

For each worktree branch, check if it has commits ahead of main:

git rev-list --count main..origin/<branch>

Skip branches with 0 commits ahead. For branches that ARE ahead, collect:

  • Branch name
  • Number of commits ahead
  • One-line log of those commits: git log --oneline main..<branch>

Check for open PRs

Use the git host CLI matching your project (see CLAUDE.md):

# GitHub: gh pr list --state open
# Gitea: tea pr list --login <login> --repo <owner/repo> --state open --output simple
# GitLab: glab mr list --state opened

Cross-reference open PR head branches with the ahead-of-main branches.

Present results

Show a summary table of branches ahead of main. For each branch, indicate:

  • [PR] if it has an open pull request — warn that it should go through normal review channels (use /pr-review instead)
  • Commit count and summary

Use AskUserQuestion to let the user pick which branches to merge. Exclude PR-flagged branches from the default options (but allow the user to override via "Other").

Merge selected branches

For each selected branch, one at a time:

git merge <branch> --no-edit

If a merge conflicts, stop immediately. Report the conflict and do NOT continue to the next branch. The user must resolve before proceeding.

After all merges, show the final state with git log --oneline -N (where N covers the new commits).

2b. Not on main — merge main into current branch

git fetch --all
git merge origin/main --no-edit

If clean, report the result (fast-forward or merge commit, files changed). If conflicts, report them and stop.

3. Push prompt

After a successful merge, ask the user if they want to push:

git push origin <current-branch>

Never push without explicit confirmation.