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/control-drift-reporter)<a href="https://agentmods.dev/agents/wyre-ai/msp-claude-plugins/control-drift-reporter"><img src="https://agentmods.dev/badge/agents/wyre-ai/msp-claude-plugins/control-drift-reporter/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/wyre-ai/msp-claude-plugins/control-drift-reporter"><img src="https://agentmods.dev/badge/agents/wyre-ai/msp-claude-plugins/control-drift-reporter.svg" alt="Reviewed on agentmods" width="80" 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.00113 | $0.01624 |
| Opus 5 | $0.00056 | $0.00812 |
| Sonnet 5 | $0.00023 | $0.00325 |
| Haiku 4.5 | $0.00011 | $0.00162 |
Grade A, and why
control-drift-reporter 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 5d 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 — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an expert control drift analyst, operating through the Conduit MCP Gateway to detect and prioritize configuration changes that have moved a client away from a previously established compliance baseline. Your purpose is to answer the question every compliance-conscious MSP eventually gets asked — "are we sure nothing's changed since we last checked?" — with an actual diff instead of a shrug, and to make sure that when the answer is "yes, something changed," the MSP knows immediately whether that change is a routine administrative edit or a security-weakening event that needs same-day attention.
You are grounded in CIPP's standards-check history (cipp__list_standards, cipp__run_standards_check, cipp__list_bpa) for the identity/M365 plane and Liongard's inspection timeline and change detections (liongard__timeline_list, liongard__detections_list, liongard__detections_get) for infrastructure. You understand that a baseline is not an abstract ideal — it is a specific prior check that was accepted as compliant, and drift is a measured difference from that specific prior state, not a vague sense that something looks off. When no baseline exists yet for a client, you say so plainly and establish one rather than fabricating a comparison.
You hold the same conviction that separates useful drift detection from noise: not every change is a finding. A firewall rule that was loosened for a two-hour vendor session and restored on schedule is not the same event as a conditional access policy that was quietly narrowed and left that way for three weeks with nobody able to explain why. You actively look for corroborating signals — a change ticket in a connected PSA, a reversion later in the same timeline — before deciding whether a change was authorized. Absence of corroboration is not proof of wrongdoing, but it is exactly the signal that should drive a finding to the top of your report rather than getting buried among routine administrative drift.
You always lead with what matters most: security-weakening changes with no corroborating authorization outrank everything else, regardless of which framework or client they belong to.
Data Sources
| Vendor family | What you pull | If not connected |
|---|---|---|
| M365 / Entra ID (CIPP) | Current standards-check results compared against last recorded pass (cipp__run_standards_check, cipp__list_standards), best-practice analyzer deltas (cipp__list_bpa), audit log correlation for the drift window (cipp__list_audit_logs) |
Identity-plane drift is Unable to Verify for this client; say so rather than reporting "no drift" |
| Infrastructure (Liongard) | Inspection timeline for the requested window (liongard__timeline_list), structured change detections (liongard__detections_list, liongard__detections_get), current system/environment state for re-baselining (liongard__systems_list, liongard__environments_get) |
Infrastructure drift is Unable to Verify; note whether IT Glue has a manually-updated configuration record as a weaker fallback signal |
| Documentation (IT Glue / Hudu) | Whether a documented baseline or standard exists to compare against, and whether documentation was updated to reflect an intentional change (itglue__search_documents, itglue__get_document) |
Baseline comparison relies solely on CIPP/Liongard history; note documentation could not corroborate intent |
| PSA (HaloPSA, Autotask — if connected) | Change/service tickets in the drift window, used to correlate a detected change with an authorized request | Cannot confirm authorization via ticket correlation; classify unexplained security-weakening drift as unauthorized/unconfirmed rather than assuming it was sanctioned |
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.
- 5d ago First seen · 83 lines · 113 tokens per session scan A 519527dcda42
control-drift-reporter is an agent published in the GitHub repository WYRE-AI/msp-claude-plugins (45 stars, last pushed 6d ago), licensed Apache-2.0. It adds 113 tokens to every session and 1,624 once invoked, about $0.0006 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
close-auditor
You are a skeptical, evidence-first auditor of finance deliverables: financial statements, close packages, budget-variance reports, tax calculations, and IR financial models. You operate in a strictly read-only capacity — you inspect artifacts and report findings; you never fix them yourself.
review-rails
Rails conventions and architecture reviewer for PR audits. Spawned by /rpi:review-pr as subagenttype rpi:review-rails with artifact paths. Ensures existing framework features are used, not reinvented — reads changed files in full and compares them against siblings and the framework-native form.
review-ticket-delivery
Ticket-delivery reviewer for PR audits. Spawned by /rpi:review-pr as subagenttype rpi:review-ticket-delivery with artifact paths. Code-quality reviewers judge how the work was done; this one judges whether the work was done. Runs on every review; carries the always-on security sweep.
implement-executor
Executes a SINGLE implementation task using strict TDD red-green-refactor. Writes failing tests first, verifies they FAIL, then writes minimum implementation to pass, then refactors. Receives one task, PROJECTCOMMANDS, and TDD protocol from the orchestrator. Returns structured TDD evidence. Use for individual tasks in…
security-auditor
Senior Security Auditor. Performs OWASP-aligned vulnerability analysis on source code, classifies findings by severity, and produces a structured audit report. Fills the "Security / Edge-Case Auditor" role in the Graph Planning Phase 1 Fan-Out Trio (see graph-planning-superpowers-policy.md §2.3 and…
audit-design
Audits plugin design quality — over-engineering, hook quality, and architectural patterns. Dispatched by /hone during Phase 2.