Lifesight anomaly watch
Official agent skills for the Lifesight MCP — causal marketing measurement inside Claude and Claude Code. Claude Code plugin + Claude.ai bundle.
npx -y skills add lifesight/lifesight --skill lifesight-anomaly-watchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when the user wants to find what changed, broke, spiked, or dipped in their marketing recently — "what moved last week", "what should I act on", "anything weird in the data", "what's up/down", "what moved more than 2 standard deviations", "surface opportunities", "what needs my attention". Produces a ranked, act-vs-noise triage of anomalies with a recommended action for each. Routed to from the `lifesight` router after the workspace is calibrated.
SKILL.md
3.8 KB, as published. Nobody here has run it
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
- 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".
- One heavy call. Pull the movement analysis via
ask_mia(it summarizes). If you need a specific metric series, a single scopedquery_ad_datais fine — never a broad dump (lifesight-coreRule 3). - Classify and rank. Tag each anomaly act/noise; rank the act items by causal materiality (impact on incremental revenue/efficiency), not by raw % change.
Judgment checks (mandatory)
- Significance before size. A big % swing on a tiny-spend channel rarely matters; a small shift on a major channel can. Rank by impact, not drama.
- Platform vs causal. A platform-reported ROAS dip may be measurement noise, not a real outcome change. Flag which basis the movement is on.
- Explainable ≠ anomaly. Seasonality, a known launch, or a deliberate budget change is context — present it as the explanation, don't raise it as an alarm.
- Every "act" needs an action. Don't just flag — say what to do (cut, scale, investigate, run a test), and route to the right next skill.
Output shape
Lead with the single most material item, then the rest, tight:
Act on (2):
- TikTok Prospecting — efficiency down 18% wk/wk (causal). Past its saturation knee; trim ~15% and watch. → channel-deep-dive
- Influencers — incremental revenue +31%. Real, under-saturated; room to scale.
Noise / explained (3): Linear TV dip = known flight gap · Pinterest swing within normal variance · Google Branded up = brand campaign you launched Tuesday.
Clean channel names, signed/formatted numbers, causal language throughout.
Next steps to offer
"Deep-dive the channel that moved" (→ channel-deep-dive) · "Re-optimize given these shifts" (→ budget-optimization) · "Set this up as a recurring check".
Red flags — STOP
- Listing every movement without an act/noise tag → triage, don't dump
- Ranking by raw % change instead of causal impact
- Raising a known/seasonal change as an alarm → it's context
- Treating a platform-reported wobble as a real outcome shift → name the basis
- A scan with no recommended action on the "act" items