lifesight-anomaly-watchlisted
Install: claude install-skill lifesight/lifesight
# Lifesight Anomaly Watch
Tell the user what actually moved and what to do about it — separating real,
actionable shifts from noise. **The value is the triage, not the list.** A dump of
every wobble is worse than useless; the job is to say "act on these two, ignore the
rest, here's why."
**Prerequisites (router handles):** workspace calibrated, profile loaded. Operate
under `lifesight-core`; present under `lifesight-rendering`. Load both.
## The core judgment: act vs noise
Every flagged movement gets a tag. A movement is **act**-worthy only if it is BOTH:
- **Statistically real** — beyond normal variance (e.g. >2σ), not a one-day blip.
- **Causally material** — it reflects a real efficiency/outcome shift, not a
platform-reporting artifact, a known seasonal pattern, or a change the user already
made (a campaign launch, a budget change). If it's explainable, it's context, not an alarm.
Everything else is **noise** — name it as noise so the user can stop worrying about it.
## Flow
1. **Scope the window and surface.** Default to the period the user names ("last
week") or the most recent complete week. Don't scan "everything, all time".
2. **One heavy call.** Pull the movement analysis via `ask_mia` (it summarizes). If
you need a specific metric series, a single scoped `query_ad_data` is fine — never
a broad dump (`lifesight-core` Rule 3).
3. **Classify and rank.** Tag each anomaly act/noise; rank the act items by causal
materiality (impact on incremental re