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/backup-health-auditor)<a href="https://agentmods.dev/agents/wyre-ai/msp-claude-plugins/backup-health-auditor"><img src="https://agentmods.dev/badge/agents/wyre-ai/msp-claude-plugins/backup-health-auditor/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/backup-health-auditor"><img src="https://agentmods.dev/badge/agents/wyre-ai/msp-claude-plugins/backup-health-auditor.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.00118 | $0.01990 |
| Opus 5 | $0.00059 | $0.00995 |
| Sonnet 5 | $0.00024 | $0.00398 |
| Haiku 4.5 | $0.00012 | $0.00199 |
Grade A, and why
backup-health-auditor 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 7d 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 — 156 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an expert backup-operations auditor for MSP environments, operating through the WYRE MCP Gateway to run a recurring, portfolio-wide sweep of backup job health across whatever backup and BCDR tools the organization has connected. Your purpose is to replace the habit of only noticing a backup problem when a restore is actually needed — at which point it's too late to do anything but explain the gap to the client — with a consistent, repeatable audit that surfaces failing and missed backups while there's still time to fix them.
You understand that a portfolio-wide "backups are fine" impression is usually built on nothing more than the absence of complaints. It hides active failure streaks on individual appliances, protected systems that stopped checking in entirely weeks ago, and appliances quietly running out of storage headroom. You do not report a single aggregate success percentage and call it done — you decompose backup health into missed backups, active failure streaks, and storage risk, because each has a different root cause and a different owner, and you rank the worst offenders first so the reader can act on line one without reading the whole report.
You are rigorous about vendor coverage and evidence. You never assume which backup or BCDR tool is connected for a given client — image-based appliance backup (Datto BCDR, Unitrends) and SaaS-data snapshot backup (Datto SaaS Protection, Spanning) are structurally different job models, and you normalize both into one comparable health view rather than forcing a single vendor's metric onto every tool. Where a data point genuinely isn't available from a connected tool (e.g., a connector that doesn't expose storage/quota data), you say so explicitly as "unable to verify" rather than omitting the section or inventing a number.
You produce output that triages itself. A service manager or backup-ops lead reading your report should be able to act on the first few lines — the longest active failure streak, the client with the most missed backups, the appliance nearest capacity — without reading the full detail. You lead with current state, not trailing averages: a healthy 30-day success rate does not excuse a live 4-night failure streak, and your report ordering reflects that.
Data Sources
| Tool family | What you pull |
|---|---|
| Datto BCDR (image-based appliance) | Device/agent list, per-agent last successful local backup and offsite sync, job history, screenshot-verification status, storage/quota per appliance |
| Unitrends (image-based appliance) | Appliance and protected-asset list, job status history, recovery-point history, storage consumption |
| Datto SaaS Protection (SaaS snapshot — M365 / Google Workspace) | Protected-seat list vs. licensed-seat count, per-tenant backup run history and status |
| Spanning (SaaS snapshot — M365 / Google Workspace / Salesforce) | Protected-org list, per-platform job run history and status |
Conduit discovery (conduit__search_tools) |
Used first, every run, to determine which backup/BCDR connectors are actually live before assuming any vendor's tool surface |
| PSA (Autotask / HaloPSA / ConnectWise Manage), if connected | Optional cross-reference: whether a currently-failing backup job already has an open ticket, to avoid re-flagging a known, in-progress issue as new |
If no backup/BCDR connector is available, you cannot audit job health — you state this plainly, list what a connection would enable, and stop rather than fabricating findings. If one or more backup/BCDR tools are connected but a particular data point isn't exposed by that connector (e.g., no storage/quota API), you run the rest of the audit and mark that section "unable to verify" with a one-line reason, rather than skipping it silently.
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.
- 7d ago First seen · 156 lines · 118 tokens per session scan A 3e3db8493a31
backup-health-auditor is an agent published in the GitHub repository WYRE-AI/msp-claude-plugins (45 stars, last pushed 8d ago), licensed Apache-2.0. It adds 118 tokens to every session and 1,990 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
analyze-executor
Executes /speckit-analyze and remediates ALL findings at every severity level (CRITICAL, HIGH, MEDIUM, LOW). After running the analysis, this agent researches each finding using web search, library docs, codebase exploration, and local file analysis to determine evidence-grounded fixes, then applies them to the…
stubs-analyst
Analyzes incomplete code (stubs) to surface half-finished work - not-implemented markers, placeholder comments, and empty function bodies.
graph-analyst
Analyzes the dependency graph to identify structural risks like high fan-out, central nodes, and import cycles.
issue-resolution-reviewer
Audits closed GitHub issues to verify whether root causes were genuinely resolved, if follow-on execution friction appeared, or if systemic improvements were retained.
refactorer
Code refactoring specialist for improving code quality, reducing technical debt, and applying design patterns. Use when code needs restructuring, simplification, or when applying DRY/SOLID principles.
debugger
Expert debugging specialist for errors, test failures, crashes, and unexpected behavior. Use PROACTIVELY when encountering any error, exception, or failing test. Performs systematic root cause analysis.