agentCLAWHUBUnverified

veeam-aiops

Use this skill whenever the user needs to operate Veeam Backup & Replication — a one-shot health overview, read-only diagnostics / RCA (triage failed backup-job sessions and flag repositories low on space), list/inspect/start/stop/retry backup jobs, enable/disable jobs, list restore points and start a VM restore, list backup repositories with capacity, list stored backups and their objects, inventory backup infrastructure (managed servers, proxies), and poll/stop async sessions for job/restore progress. Always use this skill for "list veeam jobs", "run veeam backup", "start veeam job", "veeam restore", "veeam repository", "veeam backup status", or "veeam session" when the context is explicitly Veeam / Veeam Backup & Replication / VBR. Do NOT use when the target is not Veeam Backup & Replication (other backup products, hypervisor lifecycle, or cloud providers are out of scope). Common Veeam B&R operations with a built-in governance harness (audit, policy, token budget, undo, risk-tiers).

OpenClaw

Rank

62

Safety

84

Downloads

2.0k

Updated

Oct 9, 2026

Version

0.16.1

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 2K downloads reported by the source. Last updated 10/9/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 9, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 9, 2026
Adoption signal
2K downloadsadoption · observed Oct 9, 2026
Latest release
0.16.1release · observed Sep 15, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:veeam-aiops
  1. Install using `clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:veeam-aiops` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/zw008/veeam-aiops before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-zw008-veeam-aiops/snapshot"

Documentation

CLAWHUB

150,787 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: veeam-aiops
slug: veeam-aiops
displayName: "Veeam AIops"
summary: "Governed Veeam Backup & Replication ops — 27 MCP tools with audit, budget, undo guards."
license: MIT
homepage: https://github.com/AIops-tools/Veeam-AIops
tags: [aiops, mcp, governance, veeam]
description: >
  Use this skill whenever the user needs to operate Veeam Backup & Replication — a one-shot health overview, read-only diagnostics / RCA (triage failed backup-job sessions and flag repositories low on space), list/inspect/start/stop/retry backup jobs, enable/disable jobs, list restore points and start a VM restore, list backup repositories with capacity, list stored backups and their objects, inventory backup infrastructure (managed servers, proxies), and poll/stop async sessions for job/restore progress.
  Always use this skill for "list veeam jobs", "run veeam backup", "start veeam job", "veeam restore", "veeam repository", "veeam backup status", or "veeam session" when the context is explicitly Veeam / Veeam Backup & Replication / VBR.
  Do NOT use when the target is not Veeam Backup & Replication (other backup products, hypervisor lifecycle, or cloud providers are out of scope).
  Common Veeam B&R operations with a built-in governance harness (audit, policy, token budget, undo, risk-tiers).
installer:
  kind: uv
  package: veeam-aiops
argument-hint: "[job id or describe your Veeam task]"
allowed-tools:
  - Bash
metadata: {"openclaw":{"requires":{"anyBins":["veeam-aiops","uvx"]},"optional":{"env":["VEEAM_AIOPS_CONFIG","VEEAM_AIOPS_MASTER_PASSWORD"]},"homepage":"https://github.com/AIops-tools/Veeam-AIops","emoji":"💾","os":["macos","linux"]}}
compatibility: >
  Standalone, self-governed Veeam Backup & Replication operations. The governance harness (audit, policy, token/runaway budget, undo, risk-tiers) is bundled in the package — no external skill-family dependency.
  All write operations are audited to a local SQLite DB under ~/.veeam-aiops/ (relocatable via VEEAM_AIOPS_HOME).
  Credentials: Each Veeam target's login password is stored ENCRYPTED in ~/.veeam-aiops/secrets.enc (Fernet/AES-128 + scrypt-derived key) — never plaintext on disk. Run 'veeam-aiops init' to onboard, or 'veeam-aiops secret set <target>' to add one. The store is unlocked by a master password from VEEAM_AIOPS_MASTER_PASSWORD (non-interactive/MCP/CI) or an interactive prompt (CLI on a TTY). A legacy plaintext env var VEEAM_<TARGET_NAME_UPPER>_PASSWORD is still honoured as a fallback with a deprecation warning (migrate with 'veeam-aiops secret migrate'). The password is exchanged for a short-lived OAuth2 bearer token at connect time and held only in memory; passwords/tokens are never logged or echoed.
  Destructive operations (job stop, session stop, restore start) require double confirmation at the CLI layer and support --dry-run. A dry_run MAY read (that is how it can tell you the call would be refused) but never writes, records no undo, and is audited like any other governed call; the CLI --d

_meta.json

{
  "ownerId": "kn7b067awq2s97bn3d7p5qfhw5827pxc",
  "slug": "veeam-aiops",
  "version": "0.16.1",
  "publishedAt": 1789453369149
}

references/agent-guardrails.md

# Agent guardrails — running veeam-aiops with a smaller / local model

If you drive these tools with a local model (Llama, Qwen, Mistral … via Goose,
Ollama, LM Studio, or any OpenAI-compatible runtime), you will get noticeably
better results with a short system prompt. This page gives you one, and — more
importantly — tells you which guardrails you **no longer need to write**, because
the tool now enforces them itself.

The distinction matters. A guardrail in a prompt is a request. A guardrail in the
harness is a guarantee. Anything below that we could move into the harness, we did.

## Authorization is not this tool's job — decide it where it belongs

Whether a write should happen is your decision, or the account's. The tool does
not gate it — there is no read-only switch and no approval prompt to configure.
The two right places to control read vs write:

- **The account you connect with.** Give the Veeam account you connect with a
  read-only or restricted role on the VBR server. A write then fails at the
  server, which is the only place the permission actually lives — a revoked
  permission cannot be argued around by a model, but a skill-side flag can.
- **Your agent's system prompt.** If you want an observe-only session, tell the
  model not to call the write tools (they are clearly tagged `[WRITE]`).

What the tool *does* guarantee is that you can always see what happened:

## What the tool enforces — do not waste prompt budget on these

| You might be tempted to prompt | Why you don't need to |
|---|---|
| "Don't invent a value when a field is missing" | A field the VBR API did not return comes back as `null`, never as `""`. A job with no `lastResult` yet, a session with no verdict, a proxy with no reported host — all report `null`, and only a genuinely empty upstream value comes back as `""`. Absent and empty are distinguishable in the payload. |
| "Tell me if the output was cut off" | The reads that can be too large to return whole — `restore_list_points`, `session_list`, `undo_list`, and `backup_storage_ranking` — return an envelope such as `{"restorePoints": [...], "returned": N, "limit": L, "truncated": true/false}` (the ranking also says `scoped` / `backupsTruncated` when it covers only a selection or a scanned subset), newest first where time matters. Truncation is measured (one extra row is fetched), not guessed from a length coincidence. Every other list read pages through the whole collection — the VBR server may cap a page at 200 items (Veeam's spec default from revision 1.3) — and refuses with an error rather than returning a partial list if the server stops short. |
| "Preserve the ordering / tell me what's most urgent" | `job_failure_rca` and `repository_capacity_rca` findings carry an explicit 1-based `rank`, worst-first. Priority is in the payload, not implied by list position. |
| "Explain why you flagged that repository / job" | Every finding carries the measured signal that tripped it — the session `result` and the matc

references/capabilities.md

# veeam-aiops capabilities

27 MCP tools (19 read, 8 write), each wrapped with the bundled `@governed_tool`
harness. Typical response token estimates assume a small/medium environment.

## Overview (1 — read)

| Tool | R/W | Risk | Typical response tokens |
|------|:---:|:----:|:----------------------:|
| `overview` | R | low | ~150 |

Fan-out health summary: jobs grouped by last result, repositories at/above 85%
used, and currently-running sessions. Call this first to triage an environment.

## Diagnostics / RCA (2 — read)

| Tool | R/W | Risk | Typical response tokens |
|------|:---:|:----:|:----------------------:|
| `job_failure_rca` | R | low | ~200–600 |
| `repository_capacity_rca` | R | low | ~150 |

`job_failure_rca` scans the newest `limit` sessions (default 100, newest first by
`creationTime`; `sessionsTruncated` says older ones exist) — pass `since_hours=24`
to make the window "the last day" instead — flags every Failed/Warning run, and
categorizes the likely cause (repository full, source/guest unreachable,
credential/VSS failure, retry exhaustion) from the failing log records — each
finding cites the session result + matched error substring, worst-first.
`repository_capacity_rca` flags repositories under the free-space thresholds
(<15% warn, <10% critical), citing the measured free% and free bytes.

## Backup Jobs (7 — 2 read, 5 write)

| Tool | R/W | Risk | Undo | Typical response tokens |
|------|:---:|:----:|------|:----------------------:|
| `job_list` | R | low | — | 150–600 (depends on job count) |
| `job_get` | R | low | — | ~120 |
| `job_start` | W | medium | `job_stop` | ~50 |
| `job_stop` | W | medium | `job_start` | ~50 |
| `job_retry` | W | medium | `job_stop` | ~50 |
| `job_enable` | W | medium | `job_disable` | ~40 |
| `job_disable` | W | medium | `job_enable` | ~40 |

REST endpoints: `GET /api/v1/jobs`, `GET /api/v1/jobs/{id}`,
`POST /api/v1/jobs/{id}/{start|stop|retry|enable|disable}`. The write tools
capture the job's prior status/lastResult for context.

## Restore (2 — 1 read, 1 write)

| Tool | R/W | Risk | Undo | Typical response tokens |
|------|:---:|:----:|------|:----------------------:|
| `restore_list_points` | R | low | — | 150–800 |
| `start_vm_restore` | W | high | **none — irreversible** | ~40 |

`restore_list_points` returns the newest `limit` points (default 100, max 1000) as
`{"restorePoints", "returned", "limit", "truncated", "order"}` — an estate's restore
points are far too many to return whole. With `backup_id`, a point from another
backup coming back means the server ignored the filter, and that is refused.

REST endpoints: `GET /api/v1/restorePoints` (`orderColumn=CreationTime&orderAsc=false`,
optional `backupIdFilter`),
`GET /api/v1/restorePoints/{id}` (to name what a restore would overwrite),
`POST /api/v1/restore/vm`. `start_vm_restore` is a documented skeleton: the
exact restore endpoint and payload vary by restore type and Veeam version.

The payload carries **no target mapping**, so it is

references/cli-reference.md

# veeam-aiops CLI reference

Global options on most commands: `--target / -t <name>` selects a configured
target (default: first target in `config.yaml`).

## Onboarding & secrets

```bash
veeam-aiops init                           # interactive wizard: connection + encrypted password
veeam-aiops secret set <target>            # store/replace a password (prompts hidden)
veeam-aiops secret list                    # names only; values never shown
veeam-aiops secret rm <target>             # delete a stored password
veeam-aiops secret migrate                 # import a legacy plaintext .env into the encrypted store
veeam-aiops secret rotate-password         # re-encrypt the store under a new master password
```

## Overview

```bash
veeam-aiops overview                       # jobs by last result, repos near full, running sessions
```

## Backup jobs

```bash
veeam-aiops job list                       # id, name, type, status, lastResult
veeam-aiops job get <job_id>               # detail for one job (incl. schedule)
veeam-aiops job start <job_id>             # start a backup job (async session)
veeam-aiops job stop <job_id> [--dry-run]  # stop a running job — double confirm
veeam-aiops job retry <job_id>             # retry failed objects (async session)
veeam-aiops job enable <job_id>            # enable the job schedule
veeam-aiops job disable <job_id>           # disable the job schedule
```

## Restore

```bash
veeam-aiops restore list-points [--backup-id <id>] [--limit 100]  # newest restore points first
veeam-aiops restore start --restore-point-id <id> [--dry-run]
                                           # IRREVERSIBLE — double confirm
```

## Repositories

```bash
veeam-aiops repository list                # id, name, type, path
veeam-aiops repository get <repo_id>       # detail incl. capacity/free/used
veeam-aiops repository state               # capacity summary for all repos (used%)
```

## Backups

```bash
veeam-aiops backup list                    # stored backups: id, name, type, time
veeam-aiops backup objects <backup_id>     # protected objects inside a backup
veeam-aiops backup usage <name> [--json]   # backup storage one VM consumes, per backup (VBR 12.3+)
veeam-aiops backup ranking [--limit 20] [--max-backups 100] [--backup <id|name> ...] \
    [--repository <id|name>] [--concurrency 1] [--json]  # largest consumers first; progress on stderr
```

## Infrastructure

```bash
veeam-aiops infra servers                  # managed servers: id, name, type
veeam-aiops infra proxies                  # backup proxies: id, name, type, server
```

## Sessions (async progress)

```bash
veeam-aiops session list [--limit 100]     # newest sessions first: state, result
veeam-aiops session get <session_id>       # poll one session (progressPercent)
veeam-aiops session log <session_id>       # log records (events) of a session
veeam-aiops session stop <session_id> [--dry-run]   # cancel — double confirm
```

## Diagnostics / RCA (read-only)

```
Github ReposUpdated 7h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/zw008/skills/veeam-aiops",
      "sourceUrl": "https://clawhub.ai/zw008/skills/veeam-aiops",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T20:26:39.439Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-veeam-aiops/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-veeam-aiops/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-09T20:26:39.439Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "2K downloads",
      "href": "https://clawhub.ai/zw008/veeam-aiops",
      "sourceUrl": "https://clawhub.ai/zw008/veeam-aiops",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T20:26:39.439Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "0.16.1",
      "href": "https://clawhub.ai/zw008/veeam-aiops",
      "sourceUrl": "https://clawhub.ai/zw008/veeam-aiops",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-15T06:22:49.149Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-veeam-aiops/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-zw008-veeam-aiops/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 0.16.1",
      "description": "## veeam-aiops 0.16.1 Changelog - Removed the sample file: `skill-card.md`. - No user-facing changes to functionality or API. - Internal documentation cleanup only.",
      "href": "https://clawhub.ai/zw008/veeam-aiops",
      "sourceUrl": "https://clawhub.ai/zw008/veeam-aiops",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-15T06:22:49.149Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to veeam-aiops and adjacent AI workflows.