Skip to main content
skill CX Codex

cx-alerts — Claude Code skill: Coralogix alerts via cx CLI

A skill that lets your agent manage Coralogix alert definitions from the terminal with cx alerts. Handy when someone is triaging firing rules.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add coralogix/cx-cli --skill cx-alerts -a claude-code
Open on GitHub

What cx-alerts does

The skill documents the cx alerts commands and tells the agent when to reach for them: list, get <id>, create, delete <id>, enable <id>, disable <id>, plus events and event-stats. A separate group covers suppression-rules — list, get, create, update, delete — the rules that mute alerts during maintenance windows.

Creation runs from JSON. The agent asks what you want to alert on (logs, metrics or traces) and which priority from P1 to P5, then builds a payload under alertDefProperties. A shortcut worth knowing: pull an existing rule with cx alerts get <id> -o json, edit it, send it back. The type is a string enum such as ALERT_DEF_TYPE_LOGS_THRESHOLD, and the type config sits as a sibling field, not nested inside it.

The skill assumes a working cx CLI pointed at your Coralogix account. Without it nothing runs, so check that first. Schema details live in references/alert-schemas.md, and assembling valid JSON without it is rough.

What it helps with

  • see which alerts are currently ALERTING
  • create a threshold alert on a spike in error logs
  • disable a noisy rule and re-enable it later
  • set up suppression for a maintenance window
  • dump alert definitions as JSON for review

Example prompts for the agent

  • list every alert with ALERTING status
  • create a metric alert when CPU stays above 90 for 5 minutes
  • disable the alert with this id, it keeps firing

How to install cx-alerts

1Skills CLI (Vercel)

npx skills add coralogix/cx-cli --skill cx-alerts -a claude-code

2Manually: put the files in place

~/.claude/skills/cx-alerts/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cx-alerts/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about cx-alerts

How do I install cx-alerts in Claude?

Run npx skills add coralogix/cx-cli --skill cx-alerts -a claude-code. The skill lands in ~/.claude/skills/cx-alerts/SKILL.md.

What does cx-alerts do?

It gives the agent the cx alerts commands for Coralogix alert definitions: list, get, create, delete, enable, disable, plus suppression rules.

What do I need for it to work?

A configured cx CLI with access to your Coralogix account. Alert schemas are documented in references/alert-schemas.md.

Source text

SKILL.md · Apache-2.0
---
name: cx-alerts
description: This skill should be used when the user asks to "manage alerts", "create alert", "list alerts", "delete alert", "check alert status", "enable alert", "disable alert", "investigate firing alerts", "check which alerts are active", "find alerting rules", "set up an alert", "configure alerting", "mute an alert", "silence an alert", "see alert definitions", "check alert priority", or wants to manage Coralogix alert definitions using the cx CLI.
metadata:
  version: "0.1.0"
---

# Alert Management Skill

Use this skill to list, inspect, create, delete, enable, and disable Coralogix alert definitions using the `cx alerts` CLI commands.

## CLI Commands

| Command | Purpose | Key flags |
|---|---|---|
| `cx alerts list` | List all alert definitions | `--name <filter>` |
| `cx alerts get <id>` | Get a single alert definition by ID | - |
| `cx alerts create` | Create an alert from a JSON definition | `--from-file <path>` (default: stdin) |
| `cx alerts delete <id>` | Delete an alert | - |
| `cx alerts enable <id>` | Enable an alert | - |
| `cx alerts disable <id>` | Disable an alert | - |
| `cx alerts events` | List events; use alert-version scoped endpoint when filtering | `--alert-version-id`, `--start`, `--end` |
| `cx alerts event-stats` | Get alert event statistics | - |
| `cx alerts suppression-rules list` | List suppression rules | - |
| `cx alerts suppression-rules get <id>` | Get a suppression rule | - |
| `cx alerts suppression-rules create` | Create a suppression rule | `--from-file <path>` |
| `cx alerts suppression-rules update` | Update a suppression rule | `--from-file <path>` |
| `cx alerts suppression-rules delete <id>` | Delete a suppression rule | - |

**Output format:** append `-o json` or `-o toon` to `list`, `get`, and `create` commands for machine-readable output.

**Multi-profile:** use `-p <profile>` (repeatable) to target multiple profiles simultaneously.

## Alert Types Reference

Coralogix supports 12 alert types:

| Type enum | Human name | Description |
|---|---|---|
| `ALERT_DEF_TYPE_LOGS_IMMEDIATE` | Logs Immediate | Trigger on every matching log entry |
| `ALERT_DEF_TYPE_LOGS_THRESHOLD` | Logs Threshold | Trigger when log count exceeds a threshold in a time window |
| `ALERT_DEF_TYPE_LOGS_ANOMALY` | Logs Anomaly | ML-based anomaly detection on log volume |
| `ALERT_DEF_TYPE_LOGS_RATIO_THRESHOLD` | Logs Ratio Threshold | Trigger on ratio between two log queries |
| `ALERT_DEF_TYPE_LOGS_NEW_VALUE` | Logs New Value | Trigger when a new value appears in a field |
| `ALERT_DEF_TYPE_LOGS_UNIQUE_COUNT` | Logs Unique Count | Trigger on unique value count threshold |
| `ALERT_DEF_TYPE_LOGS_TIME_RELATIVE_THRESHOLD` | Logs Time Relative | Compare current vs past time window |
| `ALERT_DEF_TYPE_METRIC_THRESHOLD` | Metric Threshold | Trigger when a PromQL expression crosses a threshold |
| `ALERT_DEF_TYPE_METRIC_ANOMALY` | Metric Anomaly | ML-based anomaly detection on metrics |
| `ALERT_DEF_TYPE_TRACING_IMMEDIATE` | Tracing Immediate | Trigger on every matching span |
| `ALERT_DEF_TYPE_TRACING_THRESHOLD` | Tracing Threshold | Trigger when span count exceeds a threshold |
| `ALERT_DEF_TYPE_FLOW` | Flow | Sequence-based alert combining multiple conditions |

## Priority Levels

Always ask the user what priority to use when creating alerts:

| Priority | Use case |
|---|---|
| P1 | Critical - pages on-call immediately |
| P2 | High - needs attention within the hour |
| P3 | Medium - investigate during business hours |
| P4 | Low - informational, check when convenient |
| P5 | Info - logging/tracking only |

## Create Workflow

1. Ask the user what they want to alert on (logs, metrics, traces)
2. Ask for priority (P1–P5)
3. Build the JSON payload with `alertDefProperties` - use the **API wire format** (see `references/alert-schemas.md` for all enum values)
4. **Tip:** use `cx alerts get <existing-id> -o json` to get a working template, modify it, and pipe into create
5. Create using: `echo '<json>' | cx alerts create` or `cx alerts create --from-file alert.json`
6. Verify with `cx alerts list --name "<alert name>"`

**Important structural note:** The `type` field is a **string enum** (e.g. `"ALERT_DEF_TYPE_LOGS_THRESHOLD"`), and the alert type config (e.g. `"logsThreshold": {...}`) is a **sibling** field at the same level - NOT nested inside `type`.

### Example: Logs Threshold Alert

```json
{
  "alertDefProperties": {
    "name": "High Error Rate",
    "description": "Alert when error logs exceed threshold",
    "priority": "ALERT_DEF_PRIORITY_P2",
    "type": "ALERT_DEF_TYPE_LOGS_THRESHOLD",
    "enabled": true,
    "logsThreshold": {
      "logsFilter": {
        "simpleFilter": {
          "luceneQuery": "severity:ERROR",
          "labelFilters": {
            "applicationName": [
              { "operation": "LOG_FILTER_OPERATION_TYPE_IS_OR_UNSPECIFIED", "value": "my-app" }
            ]
          }
        }
      },
      "rules": [{
        "condition": {
          "conditionType": "LOGS_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
          "threshold": 100,
          "timeWindow": {
            "logsTimeWindowSpecificValue": "LOGS_TIME_WINDOW_VALUE_MINUTES_5_OR_UNSPECIFIED"
          }
        }
      }]
    }
  }
}
```

### Example: Metric Threshold Alert

```json
{
  "alertDefProperties": {
    "name": "CPU Usage Critical",
    "priority": "ALERT_DEF_PRIORITY_P1",
    "type": "ALERT_DEF_TYPE_METRIC_THRESHOLD",
    "enabled": true,
    "metricThreshold": {
      "metricFilter": { "promql": "avg(cpu_usage_percent)" },
      "rules": [{
        "condition": {
          "conditionType": "METRIC_THRESHOLD_CONDITION_TYPE_MORE_THAN_OR_UNSPECIFIED",
          "threshold": 90,
          "ofTheLast": { "dynamicDuration": "5m" },
          "forOverPct": 100
        }
      }]
    }
  }
}
```

### Example: Logs Immediate Alert

```json
{
  "alertDefProperties": {
    "name": "OOM Killer Detected",
    "description": "Alert immediately when OOM killer runs",
    "priority": "ALERT_DEF_PRIORITY_P1",
    "type": "ALERT_DEF_TYPE_LOGS_IMMEDIATE_OR_UNSPECIFIED",
    "enabled": true,
    "logsImmediate": {
      "logsFilter": {
        "simpleFilter": {
          "luceneQuery": "\"Out of memory\" OR \"OOM\"",
          "labelFilters": {}
        }
      }
    }
  }
}
```

## Investigation Workflow

### Find firing alerts

```bash
# List all alerts and look for ALERTING status
cx alerts list -o json | jq '.[] | select(.status == "ALERTING")'

# Filter by name
cx alerts list --name "error"
```

### Inspect a specific alert

```bash
cx alerts get <alert-id>
cx alerts get <alert-id> -o json
```

### Disable a noisy alert (temporary mute)

```bash
cx alerts disable <alert-id>
# Later, re-enable:
cx alerts enable <alert-id>
```

## Suppression Rules

Manage alert suppression rules that mute alerts during maintenance windows or known noisy periods.

| Command | Purpose |
|---|---|
| `cx alerts suppression-rules list` | List all suppression rules |
| `cx alerts suppression-rules get <id>` | Get a suppression rule by ID |
| `cx alerts suppression-rules create --from-file` | Create a suppression rule |
| `cx alerts suppression-rules update --from-file` | Update a suppression rule |
| `cx alerts suppression-rules delete <id>` | Delete a suppression rule |

A rule has two IDs: `unique_identifier` is its stable, addressable ID (use it for get/update/delete), while `id` is the rule version ID that changes on every update.

### Request body shape

`create` and `update` take the rule wrapped in an `alertSchedulerRule` object.

```json
{
  "alertSchedulerRule": {
    "uniqueIdentifier": "<rule-id>",
    "name": "maintenance-window",
    "filter": { "whatExpression": "source logs | filter true", "alertUniqueIds": { "value": [] } },
    "schedule": {
      "scheduleOperation": "SCHEDULE_OPERATION_MUTE",
      "oneTime": { "timeframe": { "startTime": "2026-08-10T19:30:00", "endTime": "2026-08-10T20:30:00", "timezone": "UTC" } }
    }
  }
}
```

```bash
# List suppression rules - the ID column is the unique_identifier
cx alerts suppression-rules list -o json

# Inspect one rule
cx alerts suppression-rules get <unique-identifier> -o json

# Create from a definition file (must use the alertSchedulerRule wrapper)
cx alerts suppression-rules create --from-file suppression-rule.json

# Delete
cx alerts suppression-rules delete <unique-identifier> --yes
```

## Key Principles

- **Always ask for priority** (P1–P5) when creating alerts - never assume
- **Use `--name` filter** for large accounts with many alerts
- **Use `-o json` with `jq`** for filtering and transformation
- **Use `--from-file -`** to pipe JSON from stdin when constructing alerts programmatically
- **Verify after create** - always list or get the alert after creation to confirm
- **Disable, don't delete** - prefer disabling alerts over deletion for auditability
- **Link to a specific alert** - `cx alerts list` prints only one "View in
  Coralogix" link, to the alerts overview page, not a per-alert link. To
  link a user to one specific alert, build `<base>/alerts/<alert_id>`,
  where `<base>` is the console URL already seen in a `View in Coralogix:
  <base>/...` line printed by any `cx alerts` command this session - never
  fabricate `<base>` yourself.

---

## Additional Resources

### Reference Files

- **[`references/alert-schemas.md`](references/alert-schemas.md)** - Complete JSON schema reference for all 12 alert types: field names, enum values (condition types, time windows, filter operations), common sub-objects (logs filter, tracing filter, notification groups, activity schedules), and important gotchas
- **[`references/dataprime-reference.md`](references/dataprime-reference.md)** - DataPrime query language reference for log-based and span-based alert conditions (filter syntax, operators, severity values)
- **[`references/logs-querying.md`](references/logs-querying.md)** - Log data model, field discovery, and query patterns for building log alert conditions
- **[`references/promql-guidelines.md`](references/promql-guidelines.md)** - PromQL reference for metric-based alert conditions (counters, gauges, histograms, threshold patterns)
- **[`references/spans-querying.md`](references/spans-querying.md)** - Span data model, duration units, and query patterns for building tracing alert conditions

### Related Skills

- **`cx-cases`** - triage the cases that group alert events into investigations
- **`cx-slos`** - the SLO definitions whose error-budget burn raises alerts
- **`cx-observability-setup`** - setting up notification routing and webhook integrations for alerts
- **`cx-telemetry-querying`** - investigate the telemetry behind a firing alert

© coralogix · Apache-2.0 · coralogix/cx-cli

Similar skills

Everything for DevOps and infrastructure →

From the same set16

cx-telemetry-querying A skill that routes telemetry questions to the right signal — metrics, logs, traces or RUM — and loads the reference files the agent needs before querying. CX Codex +1 4,700installs cx-search-dashboard Searches existing Coralogix dashboards and widgets by description or field path through the cx dashboards CLI. Useful when you want to check for duplicates before building a new dashboard. CX Codex +1 3,900installs coralogix-docs This skill searches and reads official Coralogix documentation through cx docs search and cx docs fetch. Handy when you need to know how the platform works or how to wire up an integration. CX Codex +1 3,700installs cx-cli Teaches coding agents how to run Coralogix CLI commands, parse structured toon output, and check for tool and skill updates. CX Codex +1 3,500installs cx-cost-optimization Guides your agent through diagnosing Coralogix spend spikes, tuning TCO policies, and moving cold telemetry to archive storage. CX Codex +1 3,300installs cx-olly This skill wires the Coralogix Observability Agent Olly into your coding agent: ask about alerts, metrics and logs, then pull the artifacts it generates. CX Codex +1 3,300installs cx-data-pipeline A skill for configuring parsing, enrichment and Events2Metrics in Coralogix through the cx CLI. Useful when logs need to become fields and metrics. CX Codex +1 3,300installs cx-observability-setup Configures the Coralogix observability stack via the CLI: sets up saved views, notification connectors, alert routing, and webhooks for new services. CX Codex +1 3,400installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor