WYRE-AI/msp-claude-plugins/msp-claude-plugins/superops/superops-ai/skills/runbooks/SKILL.md
SuperOps Runbooks
SuperOps.ai RMM script automation: script types and OS targeting, run-as contexts, execution priority, parameterized arguments, single-asset and batch execution, recurring schedules, execution status polling, and exit-code interpretation.
- Source repository stars
- 42
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-28
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
SuperOps. ai RMM script automation: script types and OS targeting, run-as contexts, execution priority, parameterized arguments, single-asset and batch execution, recurring schedules, execution status polling, and exit-code interpretation.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/superops/superops-ai/skills/runbooks"Inspect the Agent Skill "SuperOps Runbooks" from https://github.com/WYRE-AI/msp-claude-plugins/blob/5005f73ba2f52cd299f58aa6bb79f4e70ae87103/msp-claude-plugins/superops/superops-ai/skills/runbooks/SKILL.md at commit 5005f73ba2f52cd299f58aa6bb79f4e70ae87103. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Anti-triggers
A written procedure or checklist — SuperOps runbooks are
A written procedure or checklist — SuperOps runbooks areRunning a script on an endpoint managed by another RMM — "run aDeploying or updating an application — a script that installs - 02
Key Concepts
A script is a stored definition (scriptId, type, content, parameters, timeout, osType). Executing it creates an execution instance identified by actionConfigId; running it across multiple assets creates a batch identified by batchId. Scheduling produces a scheduleId.
A script is a stored definition (scriptId, type, content, parameters, timeout, osType). Executing it creates an execution instance identified by actionConfigId; running it across multiple assets creates a batch identifi…See references/fields.md for the complete script and execution field reference. - 03
Common Workflows
1. Query the asset (getAsset) and confirm status is Online — a script queued to an offline asset stays Pending until it checks in. 2. runScriptOnAsset with priority: "Immediate" and the required arguments. 3. Capture the returned actionConfigId. 4. Poll getScriptExecution until…
Query the asset (getAsset) and confirm status is Online — a script queued to anrunScriptOnAsset with priority: "Immediate" and the required arguments.Capture the returned actionConfigId. - 04
Remediation
1. Query the asset (getAsset) and confirm status is Online — a script queued to an offline asset stays Pending until it checks in. 2. runScriptOnAsset with priority: "Immediate" and the required arguments. 3. Capture the returned actionConfigId. 4. Poll getScriptExecution until…
Query the asset (getAsset) and confirm status is Online — a script queued to anrunScriptOnAsset with priority: "Immediate" and the required arguments.Capture the returned actionConfigId. - 05
Maintenance Window
Use runScriptOnAssets with an assetIds array, a future scheduledTime (UTC ISO 8601), and priority: "Low". Track the returned batchId with getBatchExecution, which reports successCount / failedCount alongside per-asset results.
Use runScriptOnAssets with an assetIds array, a future scheduledTime (UTC ISO 8601), and priority: "Low". Track the returned batchId with getBatchExecution, which reports successCount / failedCount alongside per-asset r…
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 42 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- WYRE-AI/msp-claude-plugins
- Skill path
- msp-claude-plugins/superops/superops-ai/skills/runbooks/SKILL.md
- Commit
- 5005f73ba2f52cd299f58aa6bb79f4e70ae87103
- License
- Apache-2.0
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
SuperOps.ai Runbook & Script Management
Overview
SuperOps.ai provides automation through scripts (runbooks) that execute on managed assets — maintenance tasks, remediation actions, data collection, and custom automation. This skill covers script discovery, execution, scheduling, and result monitoring.
Anti-triggers
- A written procedure or checklist — SuperOps runbooks are
executable scripts, not documentation. Prose runbooks live in
hudu-articlesoritglue-documents. - Running a script on an endpoint managed by another RMM — "run a
script on this device" matches five other plugins here just as well.
Confirm which RMM owns the endpoint, then use
atera-agents,syncro-assets,immybot-script-execution,ncentral-monitoring-tasks,connectwise-automate-scripts, ordatto-rmm-jobs. - Deploying or updating an application — a script that installs
software is the anti-pattern
immybot-software-deploymentexists to replace when the fleet is on ImmyBot. - Choosing the targets — asset selection and online checks are
superops-assets.
Key Concepts
A script is a stored definition (scriptId, type, content, parameters, timeout, osType).
Executing it creates an execution instance identified by actionConfigId; running it
across multiple assets creates a batch identified by batchId. Scheduling produces a
scheduleId.
| Script type | Target OS |
|---|---|
| PowerShell | Windows automation |
| Batch | Simple Windows tasks |
| Bash | macOS/Linux automation |
| Python | Cross-platform automation |
| Run As | When to use |
|---|---|
| System | Admin tasks, service management |
| Logged-in User | User-specific tasks |
| Specific User | Specific permission needs |
| Priority | Behavior |
|---|---|
| Immediate | Execute as soon as possible |
| Normal | Standard queue priority |
| Low | Execute during low activity |
See references/fields.md for the complete script and execution field reference.
Common Workflows
Remediation
- Query the asset (
getAsset) and confirmstatusis Online — a script queued to an offline asset stays Pending until it checks in. runScriptOnAssetwithpriority: "Immediate"and the requiredarguments.- Capture the returned
actionConfigId. - Poll
getScriptExecutionuntil status reaches a terminal value, then readexitCode,output, anderror.
Maintenance Window
Use runScriptOnAssets with an assetIds array, a future scheduledTime (UTC ISO 8601),
and priority: "Low". Track the returned batchId with getBatchExecution, which
reports successCount / failedCount alongside per-asset results.
Data Collection
getAssetListfiltered by client andstatus: "Online"to build the asset list.- Feed those
assetIdvalues intorunScriptOnAssetswith the collection script. - Read results from
getBatchExecution.
Recurring Schedules
scheduleScript accepts a recurrence object (type, interval, daysOfWeek) alongside
scheduledTime. Omit recurrence for a one-time run.
API Patterns
| Operation | GraphQL |
|---|---|
| List scripts | getScriptList(input: ListInfoInput!) |
| List by OS | getScriptListByType(input: ScriptListByTypeInput!) |
| Get script | getScript(input: ScriptIdentifierInput!) |
| Run on one asset | runScriptOnAsset(input: RunScriptInput!) |
| Run on many assets | runScriptOnAssets(input: RunScriptOnAssetsInput!) |
| Schedule | scheduleScript(input: ScheduleScriptInput!) |
| Execution status | getScriptExecution(input: ScriptExecutionInput!) |
| Batch results | getBatchExecution(input: BatchExecutionInput!) |
| Execution history | getScriptExecutionHistory(input: ScriptExecutionHistoryInput!) |
Arguments are passed as an array of { name, value } objects — values are strings even
for numeric parameters. runAs must be supplied per execution; it is not inherited from
the script definition's runAs default unless omitted.
See references/api.md for the complete operation catalog with request/response examples and end-to-end workflow queries.
Error Handling
| Error | Cause | Resolution |
|---|---|---|
| Script not found | Invalid script ID | Verify script exists |
| Asset offline | Cannot reach asset | Wait for asset to come online |
| Timeout exceeded | Script ran too long | Increase timeout or optimize script |
| Permission denied | Insufficient RunAs rights | Check execution context |
| Parameter missing | Required param not provided | Add required arguments |
| Rate limit exceeded | Over 800 req/min | Implement backoff |
Exit Code Interpretation
Exit code 137 means the agent killed the script on timeout, not that the script failed
on its own — check the script's timeout before assuming a logic error.
// Common exit codes
const EXIT_CODES = {
0: 'Success',
1: 'General error',
2: 'Misuse of command',
126: 'Permission denied',
127: 'Command not found',
128: 'Invalid exit argument',
130: 'Script terminated (Ctrl+C)',
137: 'Script killed (timeout)',
255: 'Exit status out of range'
};
function interpretExitCode(code) {
return EXIT_CODES[code] || `Unknown exit code: ${code}`;
}
Execution Status Handling
Execution is asynchronous — the mutation returns before the script runs. Poll until the
status is one of Success, Failed, Timeout, or Cancelled.
// Poll for execution completion
async function waitForExecution(actionConfigId, maxWaitMs = 300000) {
const startTime = Date.now();
const pollInterval = 5000;
while (Date.now() - startTime < maxWaitMs) {
const result = await getScriptExecution({ actionConfigId });
if (['Success', 'Failed', 'Timeout', 'Cancelled'].includes(result.status)) {
return result;
}
await sleep(pollInterval);
}
throw new Error('Execution timed out waiting for completion');
}
Best Practices
- Test scripts first - Test on a single asset before bulk execution
- Use parameters - Make scripts reusable with parameters
- Set appropriate timeouts - Prevent hung scripts
- Handle errors in scripts - Return meaningful exit codes
- Use scheduling - Run maintenance during off-hours
- Monitor batch executions - Track success/failure rates
- Document scripts - Clear descriptions and parameter docs
- Check asset status - Verify online before running
Related Skills
- SuperOps.ai Assets - Asset details
- SuperOps.ai Alerts - Alert-triggered automation
- SuperOps.ai Tickets - Ticket-based automation
- SuperOps.ai API Patterns - GraphQL patterns
Frequently asked questions
What to verify before installation and use
What does the SuperOps Runbooks source document cover?
SuperOps. ai RMM script automation: script types and OS targeting, run-as contexts, execution priority, parameterized arguments, single-asset and batch execution, recurring schedules, execution status polling, and exit-code interpretation.
How do I install SuperOps Runbooks?
The source record exposes this install command: npx skills add https://github.com/WYRE-AI/msp-claude-plugins --skill "msp-claude-plugins/superops/superops-ai/skills/runbooks". Inspect the command and pinned source before running it.
Alternatives
Compare before choosing
garrytan/gbrain
bulk-ingestion
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
app-store-optimization
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
migrate-vstest-to-mtp
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing
oaustegard/claude-skills
featuring
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre