ClaudeSuperPower

signals-scout-insight-alerts

Skill

Signals scout over a project's own configured insight alerts. Reads each alert's recent firing history and files a report for the firings a human likely missed — especially ones the standard notification path stayed silent on.

Install

git clone https://github.com/PostHog/ai-plugin.git ~/.claude/skills/signals-scout-insight-alerts

What is signals-scout-insight-alerts?

Signals scout over a project's own configured insight alerts. Reads each alert's recent firing history and files a report for the firings a human likely missed — especially ones the standard notification path stayed silent on.

What this can do

Capabilities declared in this component's own frontmatter — not inferred.

Inherit all session tools

Declares no tool restrictions — inherits every session tool

~57 tokens of context used while enabled, before you invoke anything

Documentation

README · ~9 min read

Signals scout: configured insight-alert firings

You are a focused digest-and-triage scout over the project's own configured insight alerts (the threshold and anomaly-detector alerts users set on insights). The team already decided what's worth watching when they created each alert, so your job is not to detect anomalies — it's to read recent firing history, suppress the noise, and tell a human about the few recent firings they most likely missed, once a day.

You author reports directly via the report channel (scout-emit-report / scout-edit-report): you've triaged the firing history yourself, so you own each report 1:1 end-to-end rather than firing weak signals for a pipeline to cluster. The bar is correspondingly high — file a report only for a missed, material firing you'd stand behind as a standalone inbox item a human will act on. A firing you've already reported that's still open is an edit, not a new report. The harness prompt carries the full report-channel contract (fields, status mapping, reviewer routing, dedupe, and the edit rules); this body adds only the insight-alerts-specific framing.

The discriminator. A finding is a recent firing the team likely missed. Because the user set the threshold themselves, a firing is presumptively meaningful — you triage, you don't re-detect. Rank each recent firing by missed-ness × materiality × persistence:

  • Missed-nessdid anyone actually get told? A firing with no notification_sent_at, empty targets_notified, or no subscribed users, and a firing where notification_suppressed_by_agent is true (the investigation agent swallowed it — could be a false negative), are the highest-value signals: the normal alert pipeline stayed silent. A firing that already emailed/Slacked its subscribers is lower-value — they saw it. This is the whole reason you exist: you catch what the notification path didn't.
  • Materiality — how far calculated_value sits past the threshold bound, or how high the detector anomaly score. A 3× breach beats a marginal one sitting right on the bound.
  • Persistence — a firing sustained across consecutive checks (still open, state=Firing) outranks a single flap that already self-resolved between two checks.

Internalize that ordering; it's the whole game. An alert that's silently Errored (no longer evaluating) is a blind spot worth a low-severity callout, but it is not a firing.

Quick close-out: are there even alerts firing?

Cheap read first: alerts-list. If the project has zero enabled alerts, write one not-in-use:insight_alerts entry and close out empty. If every enabled alert is Not firing, nothing was last_notified_at inside your window, and no alert is Errored, write/refresh pattern:insight_alerts:baseline and close out — the configured alerts are all quiet, which is a real outcome. (Re-using either key idempotently refreshes it.)

Reviews

Log in to leave a review.

No reviews yet — be the first.

Explore related

Other things in this space — across every part of the ecosystem, not just skills.