plugins/git-worktrees/skills/worktree-manager/SKILL.md
Proactive git worktree orchestration -- detects WIP state (uncommitted changes, stashes, unpushed commits) and offers to isolate work into worktrees. MUST activate BEFORE any implementation task (add, create, build, implement, develop, make, fix, refactor) when the working directory has uncommitted changes or stashes. Also provides dashboard, context recovery, multi-worktree creation, cleanup advisor, and conflict early warning across parallel development sessions. Triggers: any implementation request when WIP exists, "show my worktrees", "what am I working on", "help me manage parallel tasks", "worktree status", "coordinate my work". TRIGGER WHEN: before any implementation task (add, create, build, fix, refactor) when the working directory has uncommitted changes, stashes, or unpushed commits; when the user asks about worktrees, branches, or parallel development. DO NOT TRIGGER WHEN: the repo state is clean and the user is doing a single-file read-only task.
npx skillsauth add acaprino/anvil-toolset worktree-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Orchestrate parallel development through git worktrees. Proactively detect WIP state and offer isolation. Provide dashboards, context recovery, and conflict warnings.
Activate when session starts and working directory has WIP state. Detection:
# Uncommitted or staged changes
git status --porcelain
# Stashes
git stash list
# Unpushed commits (may fail if no upstream - that's ok)
git log --oneline @{u}..HEAD 2>/dev/null
If ANY of these return output, present:
I notice you have work in progress:
[X modified files / Y staged files / Z stashes / N unpushed commits]
Would you like to:
A) Move this WIP into a worktree (stash, create worktree, apply there)
B) Continue on current branch (I'll back off)
C) Show details first
git stash push -m "wt-migration: <name>"/wt new <name> --desc "..." -- pass name and description directly, never prompt for category or work typegit stash popBack off for the session. Do not prompt again about WIP state.
Show full output of all three detection commands, then re-offer A/B.
When asked "show my worktrees", "what am I working on", or "worktree status":
.worktrees/registry.jsongit -C <path> log --oneline <base>..<branch> - commits aheadgit -C <path> log --oneline <branch>..<base> - commits behind basegit -C <path> status --porcelain - uncommitted changesgit -C <path> log -1 --format=%ar - last activityParallel Development Dashboard
==============================
[1] auth-refactor [active] - 2h ago
Branch: wt/auth-refactor (from master)
+5 commits, 0 behind | 3 modified files
"Refactoring auth middleware for compliance"
[2] fix-login [paused] - 1d ago
Branch: wt/fix-login (from master)
+2 commits, 3 behind | clean
"Fix OAuth login redirect bug"
Warnings:
- fix-login is 3 commits behind master - consider rebasing
When user says "what am I working on" or returns after a break:
When user says "I need to work on N things" or lists multiple tasks:
I'll create 3 worktrees:
1. auth-refactor -> wt/auth-refactor "Refactor auth middleware"
2. fix-login -> wt/fix-login "Fix OAuth redirect bug"
3. add-dashboard -> wt/add-dashboard "New analytics dashboard"
Proceed?
/wt new flowWhen asked "clean up worktrees" or detected during dashboard:
Identify candidates:
Present:
Cleanup recommendations:
Done (branch merged):
- fix-login: branch wt/fix-login merged into master
-> /wt rm fix-login
Stale (no activity >7 days):
- old-experiment: last commit 12 days ago
-> Pause? Remove?
Missing (path gone):
- deleted-wt: path .worktrees/deleted-wt not found
-> Remove from registry
When asked "check for conflicts" or proactively during dashboard if >1 active worktree:
# Files changed in each worktree vs its base
git -C <path1> diff --name-only <base1>...<branch1>
git -C <path2> diff --name-only <base2>...<branch2>
git -C <path1> diff <base1>...<branch1> -- <file>
git -C <path2> diff <base2>...<branch2> -- <file>
Conflict Risk Assessment
========================
auth-refactor vs fix-login:
Overlapping files: 2
src/middleware/auth.ts - LIKELY CONFLICT (both modify lines 45-80)
src/config.ts - low risk (different sections)
auth-refactor vs add-dashboard:
No overlapping files - clean
Recommendation: Merge auth-refactor first, then rebase fix-login.
Direct the user to /wt command for operations:
/wt new <name> - create worktree/wt list - compact listing/wt status - detailed dashboard/wt pause <name> / /wt resume <name> - toggle status/wt rm <name> - remove worktree/wt merge <name> - guided merge flowtools
Master memory forensics techniques including memory acquisition, process analysis, and artifact extraction using Volatility and related tools. Use when analyzing memory dumps, investigating incidents, or performing malware analysis from RAM captures.
development
Master binary analysis patterns including disassembly, decompilation, control flow analysis, and code pattern recognition. Use when analyzing executables, understanding compiled code, or performing static analysis on binaries.
development
Idiomatic Kotlin implementation patterns: coroutines and structured concurrency, Flow / StateFlow / SharedFlow, Kotlin Multiplatform (KMP) shared-code architecture, Jetpack Compose UI, Ktor server with JWT auth and Exposed, and type-safe DSL design (lambdas with receivers, delegated properties, inline reified, value classes). TRIGGER WHEN: building, writing, or reviewing Kotlin code using coroutines / Flow / suspend functions, expect/actual, Compose composables / ViewModels, Ktor routing, sealed-class state modeling, scope functions, or DSL builders. DO NOT TRIGGER WHEN: libGDX game work (use libgdx-development), Android Java without Kotlin, or pure JVM tuning unrelated to Kotlin language features.
tools
Strategic website planning skill that conducts structured client discovery, produces professional deliverables (website brief, sitemap, design direction, content strategy), and orchestrates frontend-design, frontend-layout, seo-specialist, and content-marketer agents automatically. TRIGGER WHEN: planning a new website or redesign before any code is written. DO NOT TRIGGER WHEN: the task is outside the specific scope of this component.