Memory

endpoint-aiops

Try it

Use this skill whenever the user needs to operate a managed-endpoint fleet (thin clients, VDI endpoints, centrally-managed devices) — a one-shot fleet health overview, endpoint inventory (list/get), a composite per-endpoint health score (which endpoints are worst?), login & boot sessions, login-storm analysis (detect morning login storms and rank the slowest login/boot contributors), patch/config drift (which endpoints deviate from the fleet baseline), and two guarded writes (assign a config profile, reboot an endpoint). Always use this skill for "endpoint fleet overview", "list managed endpoints", "which endpoints are worst", "endpoint health score", "rank endpoints by risk", "why is login slow this morning", "login storm", "boot time analysis", "patch drift", "config drift", "which endpoints are behind on patches", "assign a profile to an endpoint", or "reboot a thin client" when the context is an endpoint-management fleet. Do NOT use when the target is OT / industrial equipment (Mod

What it does

Use this skill whenever the user needs to operate a managed-endpoint fleet (thin clients, VDI endpoints, centrally-managed devices) — a one-shot fleet health overview, endpoint inventory (list/get), a composite per-endpoint health score (which endpoints are worst?), login & boot sessions, login-storm analysis (detect morning login storms and rank the slowest login/boot contributors), patch/config drift (which endpoints deviate from the fleet baseline), and two guarded writes (assign a config profile, reboot an endpoint). Always use this skill for "endpoint fleet overview", "list managed endpoints", "which endpoints are worst", "endpoint health score", "rank endpoints by risk", "why is login slow this morning", "login storm", "boot time analysis", "patch drift", "config drift", "which endpoints are behind on patches", "assign a profile to an endpoint", or "reboot a thin client" when the context is an endpoint-management fleet. Do NOT use when the target is OT / industrial equipment (Modbus, OPC-UA, PLCs — use industrial-aiops), a hypervisor, a storage appliance, a backup product, a Kubernetes cluster, or a network device (negative routing hints only). Covers common managed-endpoint operations with a built-in governance harness (audit, policy, token budget, undo, risk-tiers). The test suite is mock-based; not yet exercised against a live management server (see docs/VERIFICATION.md).

The skill document

Endpoint AIops

Disclaimer: Community-maintained open-source project, not affiliated with, endorsed by, or sponsored by any endpoint-management vendor. Product and trademark names belong to their owners. Source at github.com/AIops-tools/Endpoint-AIops under the MIT license.

Governed managed-endpoint operations — 13 MCP tools, every one wrapped with the bundled @governed_tool harness: a local unified audit log under ~/.endpoint-aiops/, token/runaway budget guard, undo-token recording, and descriptive risk tiers. The management-server API key is stored encrypted (~/.endpoint-aiops/secrets.enc, Fernet + scrypt) — never plaintext on disk.

Standalone: the governance harness is bundled in the package (endpoint_aiops.governance) — endpoint-aiops has no external skill-family dependency. The test suite is mock-based; a live management server has not yet been exercised (see docs/VERIFICATION.md).

What This Skill Does

CategoryToolsCountRead or Write
Overviewfleet health overview11 read
Inventoryendpoint list, get, health score33 read
Sessionssession list, login-storm analysis22 read
Driftdrift report, patch status, patch compliance33 read
Remediationassign profile (high)11 write
reboot (medium)11 write

The analysis tools (login_storm_analysis, drift_report, patch_status, patch_compliance, endpoint_health_score) accept injected records for pure/offline analysis; endpoint_health_score and patch_compliance are injected-only, the others also pull live from a configured target.

Quick Install

uv tool install endpoint-aiops
endpoint-aiops init       # interactive wizard: connection + encrypted API key
endpoint-aiops doctor

When to Use This Skill

  • Triage a fleet (overview): online/offline counts, stale endpoints, agent/patch spread
  • Rank the fleet by risk (endpoint_health_score): a composite 0-100 per-endpoint score, worst first, with every deduction cited
  • Diagnose a morning login storm (session storm / login_storm_analysis) and find the slowest login/boot contributors
  • Find endpoints drifted from the fleet baseline (drift report) or behind on patches (drift patch)
  • Assign a config profile to an endpoint (reversible) or reboot one (dry-run + double-confirm)

Do NOT use when the target is OT/industrial equipment (use industrial-aiops), a hypervisor, a storage appliance, a backup product, a container cluster, or a network device.

If the user wants…Use
Managed-endpoint fleet: login storms, drift, profilesendpoint-aiops (this skill)
OT / industrial edge (Modbus, OPC-UA, PLC, PROFINET)the industrial-aiops line
Hypervisor VM lifecycle (power, snapshot, migrate)a hypervisor ops skill
Container/cluster lifecyclea cluster ops skill

Common Workflows

"Nobody can log in this morning" — diagnose the 9am login storm

  1. endpoint-aiops overview → is this fleet-wide (offline/stale counts spiking) or confined to logins?
  2. endpoint-aiops session storm --since-hours 12 --window-s 300 --min-concurrent 10 → storm episodes with peak concurrency and distinct users/endpoints, plus slowestByLogin / slowestByBoot
  3. endpoint-aiops session list --since-hours 12 → inspect the raw sessions behind a suspicious episode (confirm the timestamps, don't trust the summary alone)
  4. endpoint-aiops drift report → cross-check the laggards; a stray agent version or divergent profile is a common cause of slow logins
  5. Failure branch: if session storm reports no episodes but users still complain, widen the window (--window-s 900) and lower --min-concurrent before concluding there is no storm; if the CLI errors on connectivity, run endpoint-aiops doctor first — the analysis is only as good as the session feed.

Bring a drifted endpoint back to the fleet baseline (reversible)

  1. endpoint-aiops drift report → the drifted endpoints and exactly which fields deviate from the fleet-majority baseline
  2. endpoint-aiops endpoint get → confirm you are about to change the right device and note its current profile
  3. endpoint-aiops endpoint assign-profile --dry-run → preview the exact POST /endpoints//profile call, changes nothing
  4. endpoint-aiops endpoint assign-profile → double confirmation; high risk. The prior profile is captured and an inverse reassign undo descriptor is recorded
  5. Failure branch: if the endpoint misbehaves on the new profile, endpoint-aiops undo list then endpoint-aiops undo apply restores the captured prior profile (not a guess); re-run drift report to confirm the fleet picture.

Patch-compliance sweep before a maintenance window

  1. endpoint-aiops drift patch --target-patch 2024-06 → distribution of patch levels plus the endpoints behind the target
  2. endpoint-aiops endpoint list → resolve the behind-target ids to hostnames/owners for the change ticket
  3. endpoint-aiops overview → check how many of those are currently offline (an offline endpoint will not take the patch)
  4. Reboot a stuck endpoint that has staged its patch: endpoint-aiops endpoint reboot --dry-run, then without --dry-run (double confirmation)
  5. Failure branch: endpoint_reboot is medium risk and declares no undo — a reboot has no safe inverse. If the endpoint does not come back, the audit record in ~/.endpoint-aiops/audit.db holds its prior online state for the incident write-up; recovery is out-of-band (console/PXE), not via this tool.

Offline post-incident analysis (no live server)

  1. Export the incident's session and endpoint records from the management server into JSON
  2. Call the analysis tools with injected records — login_storm_analysis(sessions=[...]), drift_report(endpoints=[...]), patch_compliance(endpoints=[...]), endpoint_health_score(endpoints=[...]) — no connection or credentials required
  3. endpoint_health_score returns a composite 0-100 per endpoint, worst first, with every deduction cited — use it to rank the remediation queue
  4. Failure branch: if a tool rejects the injected records, the export is missing fields the analysis needs (e.g. session start/login-duration, or endpoint patch level) — re-export rather than hand-patching the data, so the numbers stay traceable to the source.

Governance & Safety

The skill delivers reads and writes and records them; it does not decide whether a write is permitted. That is your agent's judgement, or the permission of the account you connect it with (a management-console account or API token scoped to a read-only role — writes then fail at the server). There is no read-only switch, policy file, or approval gate.

  • Audit is the guarantee, and it is not bypassable. Every operation — MCP and CLI alike — is logged to ~/.endpoint-aiops/audit.db (relocatable via ENDPOINT_AIOPS_HOME): params, result, status, duration, and the risk tier. The CLI writes the same row the MCP path does.
  • ENDPOINT_AUDIT_APPROVED_BY / ENDPOINT_AUDIT_RATIONALE are optional annotations recorded on the audit row (who/why); they are never required and never block.
  • Runaway guard — a safety backstop, not authorization: the same call looped in a tight window trips a circuit breaker. Disable with ENDPOINT_RUNAWAY_MAX=0.
  • Writes support --dry-run / dry_run=True and double confirmation at the CLI.
  • Reversible writes fetch the real before-state and record an inverse descriptor (endpoint_assign_profile→restore prior profile); the reboot (no safe inverse) records only the before-state.

References

  • references/capabilities.md — full tool + field reference
  • references/cli-reference.md — CLI command reference
  • references/setup-guide.md — onboarding, credentials, and connectivity

Related skills

Use this skill whenever the user needs to operate a self-hosted observability stack on Prometheus (HTTP API + PromQL), Alertmanager, Grafana, or Grafana Loki (logs) — a one-shot overview, PromQL instant/range queries, label + series metadata, scrape-target health (up/down + why) and dropped targets, recording/alerting rule health, firing/pending alerts, Alertmanager alerts + silences, Grafana dashboards/datasources/folders, bounded Loki LogQL log reads (labels, query, error-tail), five flagship analyses (firing-alert RCA, target-scrape-health, alert-noise/flap, log-error-burst RCA, log-volume/cardinality) plus an alert->log cross-signal, and guarded writes (create/expire silence, create annotation, update/delete dashboard, reload Prometheus config). Always use this skill for "Prometheus", "PromQL", "Alertmanager", "Grafana", "Loki", "LogQL", "logs", "which targets are down", "scrape failing", "why is this alert firing", "root cause this alert", "firing alerts", "silence this alert", "n

1 installs

Use this skill whenever the user needs to operate a GPU inference cluster — vLLM (OpenAI API + Prometheus /metrics) and Ray Serve / Ray Jobs (Ray dashboard), plus the single-process serving engines SGLang and TGI (Text Generation Inference): a one-shot cluster overview (deployments + total replicas + queue backpressure), request metrics (TTFT / TPOT / e2e latency + token totals), queue depth, KV-cache stats (utilisation, prefix-cache hit rate, preemptions), the flagship latency root-cause analysis (diagnose_latency_spike / diagnose_engine_latency) and low-utilisation RCA, engine-agnostic health + running-model inventory across vLLM/SGLang/TGI, Ray Serve autoscaling and scaling (scale up/down, scale-to-zero, drain a replica), LoRA load/unload, base-model hot-swap, deploy/undeploy/redeploy, prefix-aware routing, GPU utilisation, Ray jobs, and cost per million tokens. Always use this skill for "why is inference slow", "TTFT spike", "latency spike", "GPU underutilised", "scale down the dep

Use this skill whenever the user needs to observe or govern on-endpoint local LLMs running on Ollama, llama.cpp (llama-server), LM Studio, or a local single-node vLLM — inventory installed/running models with an allow/deny verdict (shadow-AI detection), inspect VRAM residency, model license/params/capabilities and server version, view the model policy, detect model provenance/digest drift (re-pulled or tampered weights; strong for Ollama/llama.cpp, id-only and honestly weaker for LM Studio/vLLM), scan a prompt for secrets / PII / source-code / jailbreak with a weighted risk band, route a prompt THROUGH a guard that scans + policy-gates + records + runs-if-allowed (guarded_generate / observe_chat), query the observed-usage log, and roll up anomalies (shadow models, digest drift, high-risk + blocked prompts). Always use this skill for "what local models are installed", "find shadow / unsanctioned AI models", "which model is loaded in VRAM", "scan this prompt for secrets/PII before sendin

Use this skill whenever the user needs to operate or diagnose a Ceph cluster via its ceph-mgr Dashboard REST API — decode a HEALTH_WARN/ERR state into cause + action (cluster_health), read the cluster status, inspect OSDs (tree/df/perf), placement groups (summary/stuck/scrub), pools (list/usable capacity), RBD images and snapshots, CephFS/MDS and RGW status, monitors/managers, slow ops and capacity forecast — plus governed writes (set cluster flags, reweight/mark-in/mark-out/purge OSDs, trigger scrubs, set pool quota/pg_num/autoscale/size, create/delete pools, create/delete RBD images and snapshots, throttle recovery/backfill). Always use this skill for "ceph health", "what does this HEALTH_WARN mean", "PG_DEGRADED / OSD_NEARFULL / SLOW_OPS / MON_DOWN", "ceph -s", "which OSD is most full", "drain an OSD", "purge an OSD", "stuck PGs", "overdue scrub", "pool usable capacity", "set pool size / quota", "rebalance is too slow / throttle backfill", "RBD image or snapshot", "MDS behind on tri

Use this skill whenever the user needs to operate or troubleshoot a PostgreSQL server/cluster as a DBA — a one-shot cluster health overview; server reads (version/uptime, settings, extensions, databases, roles); activity (sessions, idle-in-transaction, long-running queries, locks); query stats (pg_stat_statements top-N, EXPLAIN a statement); index health (unused indexes, missing-index hints, bloat, invalid/duplicate); table health (sizes, dead-tuple bloat, autovacuum status); replication (standby lag, replication slots, WAL); three flagship analyses — slow-query RCA (worst pg_stat_statements entry + EXPLAIN → cause/action), bloat & vacuum analysis (dead tuples + autovacuum lag → recommendation), and blocking lock-chain RCA (build the wait-for tree, name the root blocker); and guarded writes (terminate a backend, cancel a query, VACUUM/ANALYZE, create/drop an index, REINDEX, ALTER SYSTEM SET a parameter, reset query stats). Always use this skill for "postgres health check", "why is this

2 installs

Use this skill whenever the user needs to operate a Keycloak or authentik identity provider — a one-shot overview, realm settings, users with sessions/credentials/groups/lockout status, authentication and admin events, OAuth/OIDC clients, four flagship RCAs (login-failure/lockout-storm, stale access, client misconfiguration, MFA coverage), and governed writes (disable/enable a user, revoke sessions, require a password reset, replace redirect URIs, rotate a client secret). Always use this skill for "Keycloak", "authentik", "realm", "SSO users", "login failures", "brute force logins", "locked out users", "stale accounts", "service account misuse", "redirect URI", "PKCE", "implicit flow", "client secret rotation", "MFA coverage", "who has no 2FA" when the context is a Keycloak/authentik IdP. Do NOT use when the target is something other than a Keycloak/authentik identity provider (a hypervisor, storage appliance, backup product, container-orchestration cluster, firewall, database, or OT/i