From MSP Operations
Use this skill for recurring ticket-board maintenance across whatever PSA is connected: detecting stale tickets (no activity in N days), finding and linking duplicate or related tickets, catching status-transition problems (tickets stuck in Waiting-on-Client past a threshold), and checking queue balance across technicians. This is board-wide hygiene, distinct from working any single ticket.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ops-pack:board-hygieneWhen to use
When performing recurring maintenance on the ticket board rather than working an individual ticket. Use when: stale tickets, tickets going cold, duplicate tickets, related tickets, waiting on client too long, queue balance, board cleanup, board audit, board maintenance.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
A ticket board degrades quietly. Tickets go cold without anyone deciding to abandon
A ticket board degrades quietly. Tickets go cold without anyone deciding to abandon them, duplicates get opened because nobody searched first, "Waiting on Client" becomes a place tickets go to be forgotten, and workload quietly piles onto whoever answers fastest. None of this shows up in a single-ticket view — it only shows up when you look at the board as a whole. This skill is that recurring sweep.
A ticket is stale when there has been no meaningful activity (status change, note, technician or client communication — not an automated system touch) for longer than a threshold appropriate to its current state:
| Ticket state | Suggested staleness threshold |
|---|---|
| Open / In Progress, assigned | 3–5 business days with no activity |
| Unassigned | Shorter — see dispatch-prioritization; an unassigned ticket going stale is really a dispatch failure |
| Waiting on Client | See the dedicated threshold below — this is a distinct case |
| Waiting on Vendor / Waiting on Parts | Longer tolerance (5–10 business days), but still worth surfacing past that window |
Thresholds above are defaults to apply when the org hasn't documented its own norm — state which threshold you used, and prefer an org-documented value if one is available (e.g., in a connected documentation platform or prior instructions).
Pull the ticket's last-activity timestamp and current status from the connected PSA
(discover the right tool via conduit__search_tools if unsure — see the
dispatch-prioritization skill for the discovery pattern) rather than relying on
the ticket's creation date, which tells you nothing about staleness.
"Waiting on Client" is the status most likely to silently rot a ticket, because the technician has legitimately handed the ball to the client and has no natural trigger to check back. Treat a ticket in this status past a threshold (default: 5 business days, tune to org norm) as requiring one of:
See the stale-ticket-chaser agent for the workflow that classifies why a ticket
stalled and drafts the specific follow-up action.
Flag likely duplicates or related tickets using a combination of signals, since no PSA API reliably flags this on its own:
When found, don't auto-merge — recommend linking (via the PSA's native ticket-linking/related-ticket feature if it has one) or consolidating into a single ticket with a note explaining the merge, and let a human confirm before executing anything destructive (closing one of the tickets).
Pull each technician's current open-ticket count (and ideally a rough complexity/ priority weighting, not just raw count) from the PSA's resource/agent data. A 10-ticket queue of quick password resets is not equivalent load to a 4-ticket queue of active P1 outages. Where the PSA doesn't expose enough detail to weight by complexity, fall back to raw open-ticket count and say so explicitly rather than presenting a false precision.
Surface imbalance as an observation, not an automatic reassignment — board hygiene
identifies the imbalance; the dispatch-coordinator agent (or a human dispatcher)
decides what, if anything, to move.
State plainly that board hygiene cannot run without a ticket source: "No PSA is connected through the gateway, so there's no board to audit." Do not fabricate ticket counts, staleness, or duplicates.
conduit__search_tools if unsure of names).npx claudepluginhub wyre-technology/msp-claude-plugins --plugin ops-packGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Synthesizes the current conversation into a structured spec (PRD) and publishes it to the project issue tracker with a ready-for-agent label, without interviewing the user.