coralogix-single-case
Skill137 starsChanged 10 days agoApache-2.0View on GitHub
Deep single-case investigation. Load when the user asks about one specific case by ID (UUID or readable id like "CASE-123") — e.g. summarize comments, explain who was notified where, judge whether the trigger reflects a real incident, walk the lifecycle. The `coralogix-alerts` skill should be loaded alongside this skill.
In this repository72 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- agentcore-observability-setupSkill
- agentcore-ops-reviewSkill
- aiml-access-diagnosticsSkill
- aiml-gpu-training-cluster-investigationSkill
- analytics-opensearch-expertiseSkill
- aws-backup-coverage-reviewSkill
- aws-eks-healthdashboardSkill
- aws-eks-operations-reviewSkill
- aws-fsxn-operations-reviewSkill
- aws-health-eventsSkill
- aws-natgw-traffic-analysisSkill
- aws-routingSkill
- aws-vpc-dns-investigationSkill
- bedrock-adoption-readinessSkill
- bedrock-operation-reviewSkill
- bronto-dataset-discoverySkill
- bronto-error-investigationSkill
- bronto-log-searchSkill
- cloudtrail-cost-optimizationSkill
- config-cost-optimizationSkill
- coralogix-ai-centerSkill
- coralogix-alertsSkill
- coralogix-case-analyticsSkill
- coralogix-case-managementSkill
- coralogix-casesSkill
- coralogix-dashboardsSkill
- coralogix-dataprimeSkill
- coralogix-datasetsSkill
- coralogix-data-usageSkill
- coralogix-docsSkill
- coralogix-infrastructureSkill
- coralogix-logsSkill
- coralogix-metrics-querySkill
- coralogix-ollySkill
- coralogix-rumSkill
- coralogix-service-catalogSkill
- coralogix-spansSkill
- coralogix-viewsSkill
- crm-production-investigation-guidelinesSkill
- database-migration-service-expertiseSkill
- database-rds-devopsSkill
- devops-agent-cost-insightsSkill
- ecs-operation-reviewSkill
- eks-upgrade-readinessSkill
- enrich-with-aws-security-agentSkill
- eos-cost-analysisSkill
- firehose-operation-reviewSkill
- grafana-cloud-investigationSkill
- guardduty-cost-optimizationSkill
- honeycomb-create-boardSkill
- honeycomb-metrics-queriesSkill
- honeycomb-observability-fundamentalsSkill
- honeycomb-production-investigationSkill
- honeycomb-query-patternsSkill
- honeycomb-slos-and-triggersSkill
- honeycomb-verify-recent-traceSkill
- investigation-cost-guardrailSkill
- live-streaming-event-readiness-reviewSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 34
When summarizing for a user, lead with status + priority + title + the open alert indicators, then drill into details as needed.
- Very specific: line 48
Fetch the alert definition: Always use latest_alert_version_id with get_alerts_object — this provides the exact alert definition that …
- Distinctive: line 49
Inspect the query and threshold: Read the type-specific definition.
- Distinctive: line 55
Schedule sanity check: If the alert definition has a schedule, confirm the trigger happened inside intended hours.
- Distinctive: line 69
When the user asks to summarize comments on a case:
- Very specific: line 70
Call get_case_events with the case ID and event_type="comment" (page through with offset/limit if has_more is true) — this reliably returns …
- Distinctive: line 73
If a comment is from slack, note that the discussion is mirrored from a Slack thread — the captured comments may be a subset of the live …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Case Investigation Skill — Drill into a single Case
This skill describes how to investigate one specific case end-to-end.
Mission
- Build a complete picture of a single case: lifecycle, indicators, comments, KPI breaches, notification outcomes.
- Distinguish a real incident from noise / misconfiguration / suppression by inspecting the alert(s) that opened the case.
Scope
Use this skill ONLY for questions about one specific case. Focus on a single case ID (UUID or readable id such as CASE-123).
The case ID must come from user input or from tools outputs (get_alerts_object or search_alert_definitions).
Tools
Reuse the tools already exposed by the coralogix-alerts skill.
Response to user
When summarizing for a user, lead with status + priority + title + the open alert indicators, then drill into details as needed. Don't dump the whole record.
kpi_breaches and impacted_entities are only returned when get_alerts_object is called with is_verbose=True. Re-fetch the case with verbose mode when the user asks about KPI SLA breaches or impacted APM services/databases.
Judging "is this a real incident?"
This is the core judgment when a user asks "is this a real incident", "is this just noise", or "is this a false positive". You answer it by examining the alert(s) that opened the case, not the case itself.
The alert-side analysis lives in the
coralogix-alertsskill. The steps here are the case→alert handoff, not a replacement.
For each AlertIndicator:
- Fetch the alert definition. Always use
latest_alert_version_idwithget_alerts_object— this provides the exact alert definition that created the case.alert_idwill return the current definition which may have changed since the case was created. - Inspect the query and threshold. Read the type-specific definition. The query + threshold + window tell you what "fires" actually means here. A "high error rate" alert whose query matches
level:DEBUGor whose threshold is>= 1over 5m is almost certainly noise. - Pull the actual triggering evidence. For logs use
get_alerts_objectwithget_watch_data=Trueto get the logs that triggered the case. In other cases or if it's not enough, use the alert query to fetch the data from the correct time frame. This is the most direct evidence — quote real numbers, not just thresholds. - Permutations: the list of label combinations that fired. Many permutations on a low-cardinality grouping → broad impact; one permutation on a single label combination → localized issue. Cross-reference with
impacted_entities. - State and resolve_time.
state == INDICATOR_STATE_RESOLVEDwith a shortresolve_time - trigger_timedelta typically indicates a transient spike.state == INDICATOR_STATE_NO_DATAmeans the underlying signal stopped reporting (often infra-side, not a product incident).state == INDICATOR_STATE_TRIGGEREDwith no resolve → still firing. - Suppression / muted. If the
AlertIndicatoroutput includes asuppressionkey, the trigger was suppressed but the case still opened. Checksuppression.type:active_suppression_rulesmeans a suppression rule was active;alert_definition_mutedmeans the alert itself was muted.suppression.suppressed_timetells you when suppression took effect. Users often miss this — surface it explicitly. - Grouping type.
grouping.type == GROUPING_TYPE_COMPOSITE_ALERTandgrouping.type == GROUPING_TYPE_COMBINATION_ALERTmean correlations — the meaningful signal is the combination, not any single sub-condition. Identify which sub-conditions contributed. - Schedule sanity check. If the alert definition has a schedule, confirm the trigger happened inside intended hours. A fire outside intended hours is often a config smell.
Conclude with one of: real incident (with the supporting numbers), noisy / misconfigured query (with the specific issue — bad threshold, wrong filter, missing schedule), infrastructure / data-pipeline issue (NO_DATA cases), or needs more info (state when evidence is genuinely thin — don't bluff).
Case event history
get_alerts_object on a Case includes the case's event history directly: full per-event detail under case_events (newest-first — comment text, actor, timestamps) when the case has 30 or fewer events, or a de-duplicated case_event_types summary ({event_type, count}) once it has more. Call get_case_events (also newest-first, optionally filtered by type and paged) when you need full event detail on a case above that threshold, or want to filter to a specific event type.
Summarizing comments
When the user asks to summarize comments on a case:
- Call
get_case_eventswith the case ID andevent_type="comment"(page through withoffset/limitifhas_moreis true) — this reliably returns full comment text regardless of case size. Events come back newest-first, so if you page through multiple pages, reverse the collected list before summarizing chronologically. - For each comment, capture: actor, timestamp, and
comment_text. - Produce a chronological summary organized by topic, not speaker. Call out: hypotheses raised, mitigations attempted, who acknowledged what, and any pointers to external tickets / PR URLs / dashboards in the text. Quote URLs verbatim — never invent them.
- If a comment is from slack, note that the discussion is mirrored from a Slack thread — the captured comments may be a subset of the live thread.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

