What problem does it solve? Hand-rolled ZFS monitoring - parsing zpool status text output, writing scrub-plus-sleep shell loops, or cron jobs that grep for errors - is fragile and misses edge cases like resilvers, faulted devices under redundancy, and deduplicated alerting. This Skill provides a complete monitoring tool that reads structured JSON output, checks thresholds, emails alerts, and runs as a systemd daemon. ## Core Features & Use Cases - Pool health checking: Reads zpool status -j --json-int (never scrapes text), checks capacity, error counts, device faults, and scrub age against configurable thresholds, with exit codes 0/1/2 for scripting. - Scrub management: Starts or adopts scrubs per pool, skips pools held by resilvers, waits without arbitrary timeouts, and supports dry-run and per-pool selection. - Alerting and daemon mode: Sends deduplicated email alerts with recovery notices, persists alert state across restarts, and installs as a systemd service with JSON status output for watching the watcher. - Use Case: On a production storage server, install the tool into an isolated Python environment, deploy a config with capacity thresholds and SMTP settings, install the systemd daemon, and schedule a weekly scrub via cron - then poll service-status --format json from another monitor. ## Quick Start Ask the AI to check the health of all ZFS pools on this machine and report any capacity, error, or scrub-age issues using check_zpools.