SuperOps Alerts — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited SuperOps Alerts (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
SuperOps.ai RMM generates alerts when monitored conditions are triggered on managed assets. Alerts can indicate hardware issues, software problems, security events, or custom monitoring conditions. This skill covers alert listing, filtering, acknowledgment, resolution, and automated workflows.
superops-tickets; the conversion is described here but the ticket lifecycle is not.
atera-alerts,ninjaone-alerts, datto-rmm-alerts, and N-central active issues (ncentral-monitoring-tasks) are separate stores with their own severity scales.
huntress-incidents, sentinelone-alerts, or rocketcyber-incidents.
superops-runbooks; resolving an alert does not fix a machine.
| Severity | Description | Typical Response |
|---|---|---|
| Critical | Immediate attention required | Respond within 15 minutes |
| High | Significant issue | Respond within 1 hour |
| Medium | Moderate concern | Respond within 4 hours |
| Low | Informational | Review during business hours |
| Status | Description |
|---|---|
| Active | Alert triggered and unaddressed |
| Acknowledged | Alert seen, being worked |
| Resolved | Issue fixed, alert closed |
| Auto-Resolved | Condition cleared automatically |
| Type | Description | Examples |
|---|---|---|
| Hardware | Physical component issues | Disk failure, high temperature |
| Performance | Resource utilization | High CPU, low memory, disk space |
| Security | Security events | Failed logins, malware detected |
| Service | Service state changes | Service stopped, process crashed |
| Patch | Update related | Critical patch pending |
| Connectivity | Network issues | Agent offline, connectivity lost |
| Custom | User-defined monitors | Custom script conditions |
An alert carries alertId, message, severity, status, type, and the createdTime/acknowledgedTime/resolvedTime timestamps. It associates to an asset, client, site, the triggering monitor, and optionally a linked ticket. Resolution metadata lives in acknowledgedBy, resolvedBy, and resolutionNotes.
See references/fields.md for the complete field reference.
| Operation | Type | Purpose |
|---|---|---|
getAlertList | query | List/filter alerts across all assets |
getAlertsForAsset | query | Alerts scoped to one assetId |
getAlert | query | Full detail including monitor threshold and history |
acknowledgeAlerts | mutation | Takes an alertIds array — bulk-capable |
resolveAlerts | mutation | Takes alertIds plus resolutionNotes |
createTicketFromAlert | mutation | Converts an alert to a linked ticket |
Both mutations take arrays (alertIds), so a single call handles bulk acknowledgment or resolution. getAlertList returns a listInfo block (totalCount, hasNextPage, endCursor) for cursor pagination.
Filters accept either a scalar or an array for status and severity ("status": "Active" and "status": ["Active", "Acknowledged"] are both valid), and createdTime supports gte/lte range operators.
See references/api.md for the full operation catalog with request shapes and variable examples.
getAlertList filtered to status: "Active", severity: "Critical",ordered by createdTime ascending (oldest first).
acknowledgeAlerts on the alert being worked, with investigation notes.createTicketFromAlert if the issue needs tracked service delivery.resolveAlerts with resolutionNotes once fixed.Use GraphQL query aliases to fetch several counts in a single request — active Critical, active High, Acknowledged, and recently Resolved — each reading only listInfo { totalCount }.
Filter getAlertList by client.accountId plus a createdTime gte/lte range to produce a period report of alerts raised and resolved.
See references/api.md for all three workflow queries.
| Error | Cause | Resolution |
|---|---|---|
| Alert not found | Invalid alert ID | Verify alert exists |
| Already resolved | Alert already closed | Check current status |
| Permission denied | Insufficient access | Check user permissions |
| Asset offline | Cannot verify resolution | Note in resolution |
| Rate limit exceeded | Over 800 req/min | Implement backoff |
// Valid alert status transitions
const validTransitions = {
'Active': ['Acknowledged', 'Resolved'],
'Acknowledged': ['Resolved', 'Active'], // Can un-acknowledge
'Resolved': ['Active'], // Can reopen if issue returns
'Auto-Resolved': ['Active'] // Can reopen
};
function canTransition(currentStatus, newStatus) {
return validTransitions[currentStatus]?.includes(newStatus) || false;
}alertIds array beats N calls~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.