alert-investigation — Claude Code skill: what it does, how to install
Analyzes triggered observability alerts, pinpoints probable root causes, and generates a structured incident summary for on-call engineers.
npx skills add launchdarkly/ai-tooling --skill alert-investigation -a claude-codeWhat alert-investigation does
The skill processes alert metadata: alert identifiers, trigger names, threshold figures, and time boundaries. Depending on the alert category, it loads a matching companion document (logs.md, traces.md, errors.md, sessions.md, or metrics.md) to guide the diagnostic workflow.
Telemetry queries run through LaunchDarkly observability MCP tools: query-logs, query-traces, query-error-groups, query-sessions, and query-aggregations. Without a running remote LaunchDarkly MCP server, the skill cannot fetch telemetry and will fail to inspect the system.
The final diagnosis follows a fixed layout: what triggered, root cause citing trace IDs or log timestamps, affected scope, and up to three direct remediation steps. When an alert falls within normal operational variance, the skill flags it as noise rather than fabricating causes.
What it helps with
- diagnose root causes behind firing observability alerts
- evaluate incident blast radius across sessions and services
- filter out benign alert noise from real operational incidents
- generate concrete next steps for on-call responders
Example prompts for the agent
- Investigate alert
alertID: 504-spike, threshold crossed between 10:00 and 10:20 UTC. - Check the latency alert for
groupValue: payment-apiusing thetraces.mdguide.
How to install alert-investigation
1Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill alert-investigation -a claude-code2Manually: put the files in place
~/.claude/skills/alert-investigation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/alert-investigation/
1Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill alert-investigation -a codex2Manually: put the files in place
.agents/skills/alert-investigation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill alert-investigation -a cursor2Manually: put the files in place
.cursor/skills/alert-investigation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install launchdarkly/ai-tooling alert-investigation2Manually: put the files in place
.github/skills/alert-investigation/SKILL.md1Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill alert-investigation -a gemini-cli2Platform CLI
gemini skills install https://github.com/launchdarkly/ai-tooling --path skills/observability/alert-investigationManually: put the files in place
.devin/skills/alert-investigation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill alert-investigation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about alert-investigation
How to install alert-investigation in Claude Code?
Run npx skills add launchdarkly/ai-tooling --skill alert-investigation -a claude-code. The file will be placed in ~/.claude/skills/alert-investigation/SKILL.md.
What does alert-investigation do?
It examines alert parameters, correlates data across logs, traces, and metrics via LaunchDarkly MCP, and produces a structured incident report.
What are the prerequisites for this skill?
It requires the remotely hosted LaunchDarkly MCP server with tools like query-logs, query-traces, and query-error-groups enabled.
Source text
SKILL.md · Apache-2.0
---
name: alert-investigation
description: "Investigates a triggered observability alert and returns a structured diagnosis with likely cause, scope, and next steps."
license: Apache-2.0
compatibility: Requires the remotely hosted LaunchDarkly MCP server
metadata:
author: launchdarkly
version: "0.1.0"
---
# Alert investigation
You are investigating a specific triggered alert. Alerts arrive with structured context — an alert ID, name, threshold, value that crossed it, and a time range. Your job is to explain *why* it fired, assess *scope*, and recommend *action*.
## Prerequisites
This skill uses the following LaunchDarkly observability MCP tools:
- `query-logs` — query log records
- `query-traces` — query distributed traces
- `query-error-groups` — query error groups
- `query-sessions` — query sessions
- `query-aggregations` — query aggregated/time-bucketed metrics
- `get-keys` — discover available attribute keys before filtering
## Workflow
1. **Parse the alert context.** The first turn of the conversation carries alert variables: `alertID`, `alertName`, `alertValue`, `group`, `groupValue`, `query`, `thresholdWindow`, `timeRange`, plus a product-specific link. Use these, don't re-derive them.
2. **Load the per-product companion.** Based on the alert's product type, load the matching companion: `logs.md`, `traces.md`, `errors.md`, `sessions.md`, or `metrics.md`. Each captures the per-product investigation shape.
3. **Run the investigation** using the methodology from the investigate skill (cross-reference logs/traces/errors/sessions/metrics; cite identifiers; aggregate before paginating). Scoped to the alert's time range and filter.
4. **Produce a structured diagnosis.** See output template below.
## Output template
Alert investigations have a consistent structure so consumers (notification channels, dashboards) can parse them.
```
## What triggered
<1-2 sentences naming the alert, the threshold, and the value that crossed it.>
## Likely cause
<Root-cause narrative citing specific evidence: trace IDs, log timestamps, error group IDs, flag keys, deploy timing.>
## Scope
<Who or what is affected. Number of users, services, sessions, error groups. Time window of impact.>
## Next steps
<1-3 concrete actions the on-call or owner should take. Prefer specifics: "roll back flag X in env Y", "restart service Z", "investigate trace <id> for the downstream failure". Avoid "investigate further" — if you don't have a root cause, say what specifically should be investigated and how.>
```
## When to load which companion
- **`logs.md`** — log alert, log pattern alert
- **`traces.md`** — latency alert, trace-error-rate alert, span-specific alert
- **`errors.md`** — error-rate alert, new-error-group alert, crash-rate alert
- **`sessions.md`** — session-health alert, user-facing-error-rate alert
- **`metrics.md`** — custom metric threshold, aggregated metric alert, composite alert
If the alert crosses product boundaries (e.g. a metric alert driven by error data), load both companions.
## Guidelines
- **Stay tight.** Alert investigations feed notifications — keep the output structured and scannable. No preamble ("Here is my analysis..."), no repeated framing.
- **Cite identifiers.** Every claim in the diagnosis should reference a specific trace ID, error group ID, session ID, or log timestamp.
- **If the alert appears to be noise**, say so explicitly — "This alert fired because of <X>, but the underlying behavior is within normal variance because <Y>". Noise is a legitimate outcome; don't invent root causes.
- **Don't redo the investigation you just did.** The diagnosis output should let the on-call act without re-querying.
© launchdarkly · Apache-2.0 · launchdarkly/ai-tooling