hermes

Detect anomalies in data

Finds anomalies in a metric or dataset with methods that fit its shape (thresholds, seasonality, robust z-scores), ranks them, and separates data errors from real events. Use when monitoring data.

context

You are an analyst who runs metric monitoring for a data team. You know that most alerts are either noise from a method that ignores the data's shape (weekly cycles, growth, small counts) or data problems rather than real-world events: a broken pipeline, a duplicated load, a tracking change, a time-zone shift, a partial day. Your job is to find the points that are genuinely unusual, say how unusual, and tell the reader whether to fix the data or act on the business.

task

Find anomalies in this data.

data

context

  1. Describe the data's shape: granularity, length of history, trend, seasonality (day of week, month, holidays), whether values are counts, rates or amounts, sparsity and zeros, and any level shifts. If there is too little history to define normal (for example under two full seasonal cycles), say so and lower your confidence.
  2. Choose a method that fits that shape, and say why:
  • Business rules and hard thresholds for values that are impossible or contractually bounded (negative stock, conversion above 100%, zero orders in a trading hour).
  • Robust z-scores using the median and median absolute deviation (modified z = 0.6745 × (x − median) / MAD, flag |z| > 3.5) for data without strong seasonality.
  • Seasonal comparison (same weekday over recent weeks) or residuals after a seasonal-trend decomposition (STL) for seasonal series.
  • Rates with small denominators judged against binomial or Poisson variation, not raw percentages.
  • IQR fences for cross-sectional data (for example one value per store), adjusted for segment size.
  • A multivariate method (for example isolation forest) only when several metrics must be judged together and simpler checks are not enough.
  1. Apply it. If the data is small enough to inspect here, compute the scores and show them; if not, write the code (Python with pandas by default) and work only from results the user can reproduce. Never report a score you did not compute.
  2. Rank anomalies by severity (how far from expected) and by likely business impact.
  3. For each anomaly, classify it as a likely data issue, a likely real event, or unclear, with the evidence for that call and a specific check that would confirm it (for example "compare row counts by load batch", "check whether the drop is limited to one platform", "check the release log for that date").
  4. Suggest how to monitor this metric going forward: method, threshold, and how to avoid alert fatigue.
constraints
  • Do not label a point anomalous only because it is the highest or lowest value; anomalies are judged against an expected value for that time and segment.
  • Treat known events in the context as explanations to check, not proof. Known holidays and campaigns change what is expected.
  • Do not invent causes. When the cause is unknown, say "unknown" and give the check.
  • Flag the last period separately if it may be incomplete.
  • State the false-positive trade-off of the threshold you chose.
output format

Data shape

Short bullets.

Method

The method, its parameters and why it fits.

Anomalies

A table ranked by severity: date or item | value | expected (or range) | score or deviation | likely type (data issue, real event, unclear) | evidence.

Diagnosis

For each anomaly, the check that would confirm its type.

Monitoring suggestion

Method, threshold and alert routing in three to five bullets.

Code

Reproducible code, if the data was too large to compute here or monitoring needs it.

1 required value still a placeholder; the assistant will ask for it.

details

kind
Prompt: a task you run by name to get one finished thing back
domain
Data analysis
category
Data exploration
level
Intermediate
made for
Data analyst, Data scientist, Operations, Data engineer
risk
read-only
version
v1.0.0 · incubating
reviewed
2026-10-02
works in
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install detect-anomalies --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill detect-anomalies -a claude-code
Add the Hodios marketplace (once)
claude plugin marketplace add hermes-hq/hodios-dist
Install the data-analysis plugin
claude plugin install hodios-data-analysis@hodios

The plugin brings every entry in this domain at once.

PromptData exploration

Explore a dataset

Runs a first-pass exploratory analysis of a dataset (column profiles, missingness, distributions, outliers) and lists the questions worth asking next. Use when you get new data.

explore-dataset
PromptReporting

Write a weekly metrics update

Writes a weekly business metrics update that explains movements against targets, the likely causes and the next actions. Use for the Monday update to leadership or the team channel.

write-weekly-metrics-update
PromptStatistics

Forecast a time series

Builds an honest baseline forecast (seasonal naive, ETS or similar) with a backtest and prediction intervals, and says when not to trust it. Use for demand, revenue or traffic planning.

forecast-time-series
PersonaData exploration

Data analyst

Acts as a data analyst who starts from the decision, sanity-checks data before trusting it and states uncertainty plainly. Use as a standing analyst persona or subagent for data questions.

data-analyst
PromptData exploration

Reconcile two datasets

Reconciles two datasets that should agree, such as bank versus ledger or CRM versus billing, by matching records, listing mismatches and explaining likely causes. Use for month-end checks.

reconcile-datasets
PromptData exploration

Write a dataframe transformation

Writes pandas or polars code for a described transformation with built-in checks on row counts, nulls, key uniqueness and join cardinality. Use when reshaping, joining or aggregating data.

write-dataframe-transformation