--- name: loom-team-lifecycle-management description: Manage Loom team worker lifecycle from spawn to retire, including ticket assignment, progress tracking, merge operations, and workspace cleanup. license: MIT compatibility: opencode,claude metadata: created_at: "2026-01-29T12:18:15.163Z" updated_at: "2026-01-29T12:18:15.163Z" version: "1" --- # Purpose Manage complete Loom team worker lifecycle: spawn, assign tickets, track progress, handle merges, retire workers. # When To Use - You are a team manager for a Loom team (e.g., MiyagiDo) - Need to manage multiple workers in parallel - Workers are implementing tickets in isolated worktrees - Team commands are available # Preconditions - Loom team initialized: `loom team init ` - Ticket system initialized: `loom ticket init` - Workers available to spawn # Procedure ## 1. Spawn Workers for Tickets - `loom team spawn ` - Workers handle their own worktree creation - Monitor team status: `loom team status ` ## 2. Track Worker Progress - Regularly check: `loom team inbox list --to manager --unacked` - Capture worker output when needed: `loom team capture ` - Acknowledge messages: `loom team inbox ack ` ## 3. Handle Ready for Review - When worker sends READY_FOR_REVIEW: - Add manager review note: `loom ticket add-note 'Manager review: ...' - Enqueue to merge queue: `loom team merge enqueue --ticket --branch --from-worker ` - Close ticket: `loom ticket close ` (if approval is straightforward) ## 4. Monitor Merge Queue - Check merge status: `loom team merge list` - When merge completes, acknowledge message from merge worker ## 5. Ship Changes - When all tickets merged to merge-queue: `loom team ship ` - This merges merge-queue to main branch ## 6. Retire Workers - `loom team retire ` - If retirement fails with workspace cleanup error: - Check worker worktree status: `git status` in worktree - May need to handle cleanup manually ## 7. Worker Communication - Send encouragement and next-step guidance via `loom team send 'message'` - Workers should be informed of successful merges and retirement # Best Practices - Spawn workers in priority order (P1 before P2) - Verify ticket completion before enqueue (check code files exist) - Keep merge queue clear after shipping - Document blockers in ticket notes # Gotchas - Workers may mark tickets complete before actual code exists - Workspace cleanup can fail with modified/untracked files - Merge conflicts require resolution in merge worker worktree - Ship may be NOOP if changes already in main # Examples ### Complete Phase 3 P1 tickets: ``` # 1. Spawn workers loom team spawn MiyagiDo vp-cf95 # Orchestration engine loom team spawn MiyagiDo vp-6cf1 # CLI loom team spawn MiyagiDo vp-7d49 # Scheduling # 2. Wait for completion loom team inbox MiyagiDo list --to manager --unacked # 3. Approve and enqueue loom team merge MiyagiDo enqueue --ticket vp-cf95 --branch team/vp-cf95 --from-worker w2 loom team merge MiyagiDo enqueue --ticket vp-6cf1 --branch team/vp-6cf1 --from-worker w1 # 4. Ship loom team ship MiyagiDo # 5. Retire loom team retire MiyagiDo w2 loom team retire MiyagiDo w1 ``` ### Handle workspace cleanup failure: ``` # Error: contains modified or untracked files # Solution: loom team send MiyagiDo w2 'Please clean up your worktree before retirement' # Or manually check and cleanup git status .team/runs/MiyagiDo/worktrees/vp-cf95 ``` ## Manual notes _This section is preserved when the skill is updated. Put human notes, caveats, and exceptions here._