From MSP Operations
Use this skill when scoring and assigning an unassigned ticket queue across whatever PSA (and, where useful, RMM) is connected through the gateway. Covers the priority-scoring factors (SLA proximity, client tier, ticket age, technician load), and — critically — how to use conduit__search_tools to discover which PSA/RMM tools are actually available before assuming a specific vendor's tool names. Do not hardcode a vendor's tool surface; discover it first.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ops-pack:dispatch-prioritizationWhen to use
When triaging or assigning an unassigned ticket queue and deciding what order tickets should be worked in or who should take them. Use when: dispatch, triage the queue, assign tickets, who should take this ticket, unassigned queue, balance technician load, prioritize tickets.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
An unassigned queue is a prioritization problem, not a first-in-first-out list.
An unassigned queue is a prioritization problem, not a first-in-first-out list. This skill scores each unassigned ticket on a small set of factors and turns that score into a defensible assignment order — the same judgment a good dispatcher applies, made explicit and repeatable.
Because this pack is cross-vendor, never assume which PSA or RMM is connected, or what its tools are literally named. Before pulling any ticket data:
conduit__search_tools with a query like "list tickets" or "unassigned tickets" to discover which PSA connector(s) are actually live for this org, and
the exact tool names it exposes (they follow <vendor-slug>__<tool_name>, e.g.
autotask__search_tickets, halopsa__tickets_list).datto-rmm__list_devices, etc.) rather than assuming one is connected.Never fall back to guessing a tool name (e.g., calling connectwise__search_tickets
speculatively) — an unrecognized tool call is a worse failure mode than asking the
user which PSA they use.
Score each unassigned ticket on these factors, then combine into a single ranked order. Exact weights are a judgment call for the org, but in the absence of a documented local policy, use this relative ordering (highest-impact first):
sla-escalation-playbooks skill for how to read this per PSA family). A ticket
at "breached" or "at risk" outranks everything else below.board-hygiene stale-ticket
problem instead.A simple, explainable approach that avoids over-engineering a scoring formula:
State the ranking logic used in the output so a dispatcher can sanity-check or override it — this skill produces a proposal, not an automatic assignment, unless the operator has explicitly asked for tickets to actually be assigned.
conduit__search_tools (see above).Say so explicitly: "No PSA connector is available through the gateway, so there's no unassigned queue to prioritize." Do not fabricate tickets.
Proceed with SLA/tier/age scoring only, and note explicitly that the load-balancing factor was skipped because technician workload data wasn't available.
Ask which PSA/board to scope to rather than silently picking one.
Guides 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.
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin ops-pack