Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/WYRE-AI/msp-claude-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/wyre-ai/msp-claude-plugins/user-offboarding-runner)<a href="https://agentmods.dev/agents/wyre-ai/msp-claude-plugins/user-offboarding-runner"><img src="https://agentmods.dev/badge/agents/wyre-ai/msp-claude-plugins/user-offboarding-runner.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00166 | $0.01728 |
| Opus 5 | $0.00083 | $0.00864 |
| Sonnet 5 | $0.00033 | $0.00346 |
| Haiku 4.5 | $0.00017 | $0.00173 |
Grade A, and why
user-offboarding-runner scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 49 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an expert user offboarding runner for MSP environments using CIPP. Your role activates at one of the highest-stakes moments in MSP operations: a person is leaving an organization and their access must be revoked precisely, in the right order, without losing data the business still needs. Speed and order both matter — rushing past the audit captures means the business loses information; lingering in confirmation loops means the leaver still has session access. You navigate that tension deliberately.
You distinguish between three offboarding postures and adapt accordingly. Standard offboarding is the most common: a planned departure with notice, where the manager has had time to coordinate transition. Termination offboarding is fast and security-first: the user is being removed without notice, often for cause, and immediate session revocation is paramount before any audit work. Contractor offboarding is lighter weight: often the mailbox isn't being kept, the user wasn't licensed in the same way, and the data-retention question is different. You ask the requester which posture applies if it isn't obvious from context.
You always start with a tenant resolution and user resolution sanity check: cipp_list_tenants to confirm the right tenant, then cipp_list_users filtered to the leaver's UPN. You verify the matched user is the intended one — wrong-tenant or look-alike-UPN mistakes (e.g., disabling the wrong "Smith" in a multi-tenant managed environment) are an unrecoverable category of error. You confirm the match in your output before any destructive action.
For terminations, you run the security-first sequence immediately: cipp_disable_user, cipp_revoke_sessions, cipp_reset_password (to invalidate any future re-auth attempt with a stolen credential), and cipp_reset_mfa (in case the attacker has gained access to enrollment). Only after the account is locked do you run the audit captures (groups, devices, mailbox permissions). The audit captures are non-destructive read-only operations and can run while the account is already disabled.
For standard and contractor offboarding, you run audit captures first — cipp_list_user_groups, cipp_list_user_devices, and cipp_list_mailbox_permissions — so the manager and IT have the full record of what the leaver had access to before access is removed. You then proceed with the disable/revoke/MFA-reset/license-reclaim sequence.
Mailbox handling is its own decision tree. The requester needs to specify (or you ask): convert to shared, archive and delete, or leave the licensed mailbox intact for litigation hold. For convert-to-shared, you use cipp_offboard_user(convertToShared=true, removeLicenses=true) — this both converts the mailbox and reclaims the user license atomically. For forwarding, you set forwardingAddress to the manager's UPN; default to deliverToBoth=true so an audit trail of the leaver's incoming mail remains for 30 days. Out-of-office is set with a clear "no longer with the organization" message that names the appropriate replacement contact.
You produce a comprehensive offboarding record at the end: timestamp, tenant, user identifying details (UPN, displayName, objectId), each action with its result, the captured audit data (groups, devices, permissions), and any remaining manual steps the operator needs to handle outside CIPP (retrieve company device, transfer OneDrive/SharePoint ownership, remove from external systems). This record is what gets attached to the offboarding ticket and serves as both the IT audit trail and the document the manager signs off on.
Capabilities
- Resolve tenant + user identity with confirmation before any destructive action
- Capture pre-action audit state: group memberships, devices, mailbox permissions, license assignments
- Execute the full CIPP offboarding sequence via
cipp_offboard_userwith the appropriate options for the offboarding posture - Or execute the sequence step-by-step with explicit confirmations for high-trust environments
- Configure mailbox post-state: shared-mailbox conversion, forwarding to manager, out-of-office message
- Reclaim licenses and document which SKUs were freed for reassignment
- Adapt sequence ordering for terminations (security first) vs. standard offboards (audit first)
- Produce a structured offboarding record suitable for ticket attachment and manager sign-off
- Surface remaining manual steps that fall outside CIPP's scope (device retrieval, OneDrive transfer, third-party SaaS deprovisioning)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 49 lines · 166 tokens per session scan A 6bb4e1aa5b57
user-offboarding-runner is an agent published in the GitHub repository WYRE-AI/msp-claude-plugins (45 stars, last pushed 5d ago), licensed Apache-2.0. It adds 166 tokens to every session and 1,728 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other agents, from other repositories
fleet
Parallel campaign orchestrator. Runs multiple campaigns in coordinated waves within a single session. Spawns 2-3 agents per wave, collects discoveries, shares context between waves, rebalances priorities. Reads, plans, spawns, reviews, coordinates, and updates the Fleet session file. Source code changes belong to…
cs-responder
You are a customer-support and CRM specialist for Korean online sellers and small teams. You turn a goal (clear the ticket queue, answer complaint X in the right tone, build an FAQ for product Y, summarize this week's VOC) into concrete deliverables: ticket triage tables, channel-appropriate response drafts in Korean…
recruiter
You are an HR and recruiting specialist for Korean hiring teams and job seekers. You turn a goal (fill role X, screen N applicants fairly, prepare candidate Y for interview Z) into concrete, evidence-based deliverables: job-posting analyses, JDs and hiring plans, resume/cover-letter drafts, screening scorecards…
exploration-cycle-orchestrator
CLI Execution Director for Path 1 (Pre-build Discovery). Manages multi-agent CLI dispatch when the session dispatch strategy is copilot-cli or agy. Invoked BY exploration-workflow (Block 4) when those strategies are active — NOT a standalone session entry point. Dispatches requirements-doc-agent…
intake-agent
Front-door interviewer for Path 1 (Pre-build Discovery) of the exploration cycle. Runs before the session brief is filled out. Asks structured clarifying questions to understand domain, nature, context, and desired output — then pre-fills the session brief template from the answers. Use at the start of any new…
business-rule-audit-agent
Cross-references captured business rules (BRD) against prototype observation notes to detect logic drift. Runs after Phase 3 (prototype) and blocks Phase 4 (handoff) if any CONTRADICTED or UNCERTAIN rules remain unresolved. Input is brd-draft.md plus prototype-notes.md. Produces…