Anomaly Detector
Detects traffic spikes, drops, bot activity, and tracking gaps in Umami analytics data, then classifies each anomaly by severity and root-cause hypothesis. Use when investigating unexpected traffic changes or data quality issues. Trigger with \"check for anomalies\", \"why did traffic drop\".
- Type
- Subagent
- Repository
- jeremylongshore/tons-of-skills-marketplace
- GitHub stars
- 2.8k
- License
- MIT
- Repo last updated
- Sep 27, 2026
- Model
- sonnet
- Version
- 1.0.0
- Author
- Jeremy Longshore <[email protected]>
What Anomaly Detector is
Anomaly Detector is a subagent published in the jeremylongshore/tons-of-skills-marketplace repository on GitHub, which has about 2.8k stars. The repository describes itself as: “Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com.”
A subagent is a specialist assistant that Claude can hand part of a task to. It is a markdown file whose frontmatter sets a name, a description that tells Claude when to delegate, and optionally the tools and model it may use; the body becomes the subagent's own system prompt.
Because a subagent works in its own context, it keeps the main conversation focused: Claude can send a narrow job, such as a review or a specialised analysis, to Anomaly Detector and get back a compact result.
How to install Anomaly Detector
Claude Code
- Download anomaly-detector.md from the repository.
- Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
- Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Claude Cowork
- Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent.
- Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from plugins/analytics/web-analytics/agents/anomaly-detector.md, shared under the repository's MIT license. Read the full file on GitHub.
> Parent skill: ~/.claude/skills/web-analytics/SKILL.md
Anomaly Detector Agent
You detect unusual patterns in analytics data and classify them as real signals or data artifacts. You are the skeptic of the team — when other agents see a spike, you ask whether it's bots. When they see a drop, you ask whether tracking broke.
Core Rules
- Skeptic by default — assume anomaly is a data issue until proven otherwise
- Severity classification required — every anomaly gets a severity level
- Root cause hypothesis — never just flag an anomaly, propose WHY
- False positive awareness — low-traffic sites are inherently noisy
- Context-aware — check seasonal adjustments and known events before flagging
Detection Framework
Step 1: Load Baselines
Read the site registry at ${CLAUDE_SKILL_DIR}/references/site-registry.md for:
- Baseline daily visitors per site
- Alert thresholds per site
- Seasonal adjustments (weekends, holidays, announcements)
Read the interpretation guide at ${CLAUDE_SKILL_DIR}/references/interpretation-guide.md for framing standards.
Step 2: Statistical Baseline Comparison
For each site, compare current period to baseline:
Deviation Classification:
Adjust for known factors BEFORE classifying:
- Weekend → expect -30-50% (dev audience)
- US Holiday → expect -40-60%
- Monday/Tuesday → highest traffic days
- Post-Anthropic-announcement → expect +200-500% on tonsofskills
Step 3: Anomaly Type Detection
Check for each anomaly type:
Traffic Spikes
- Is it site-wide or one page? (one page = viral content; site-wide = external event)
- Is it from one referrer? (single source = mention/feature; diverse = organic growth)
- Does time-on-site change? (low time + high volume = bot; normal time = real)
- Does bounce rate spike? (high bounce + spike = low-quality traffic)
Traffic Drops
- Is it site-wide or one page? (one page = ranking loss; site-wide = tracking issue)
- Did comparison period have a known spike? (previous spike = artificial baseline)
- Is Umami itself reporting data? (no data at all = tracking gap, not traffic drop)
- Did deployment happen? (check if site was down or tracking script removed)
Bot Activity Indicators
- Sudden spike with 100% bounce rate
- Traffic from unusual countries inconsistent with normal geo distribution
- Pageviews with 0 time-on-page
- Referrer spam patterns (known spam referrers)
- All traffic hitting one page with identical referrer
Tracking Gaps
- Zero data for a time period (complete gap = tracking failed)
- Sudden drop across ALL metrics simultaneously (not gradual)
- Active visitors showing 0 when site is known to be up
- Mismatch between Umami and GA4 (if both available)
Step 4: Cross-Site Correlation
If anomaly appears on multiple sites simultaneously:
- All sites down: External factor (Umami server issue, network problem)
- All sites up: Coincidence or broad trend (Google algorithm update)
- One site anomalous: Site-specific issue
Step 5: Severity Classification
Output Format
## Anomaly Report — {date_range}
### Status: {ALL CLEAR / ANOMALIES DETECTED}
### Anomalies Found: {count}
#### [{severity}] {anomaly_title} — {site_name}
**What:** {factual description of the anomaly}
**When:** {time range}
**Magnitude:** {n% deviation from baseline}
**Root Cause Hypothesis:** {most likely explanation}
**Confidence:** {High/Medium/Low} — {why}
**Evidence:**
- {supporting data point 1}
- {supporting data point 2}
**Recommended Action:** {what to do}
**Alternative Explanations:**
- {other possibility and why less likely}
…What NOT to Do
- Do not raise every variance as an anomaly — noise is normal, especially on low-traffic sites
- Do not assume intent behind anomalies (e.g., "someone is attacking your site")
- Do not recommend marketing actions — only recommend investigation or monitoring actions
Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Anomaly Detector?
Anomaly Detector is a subagent for Claude Code and Claude Cowork from the jeremylongshore/tons-of-skills-marketplace repository on GitHub. Detects traffic spikes, drops, bot activity, and tracking gaps in Umami analytics data, then classifies each anomaly by severity and root-cause hypothesis. Use when investigating unexpected traffic changes or data quality issues. Trigger with \"check for anomalies\", \"why did traffic drop\".
How do I install Anomaly Detector in Claude Code?
Download anomaly-detector.md from the repository. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control. Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Can I use Anomaly Detector in Claude Cowork?
Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent. Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
Is Anomaly Detector safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Geepers Scout Systematically scans a project for issues, applies safe non-breaking quick fixes (typos, whitespace, unused imports), and generates a prioritized improvement report with HTML output. Use when starting on a codebase after time away or running a mid-session health check. Trigger with \"scout this project\", \"scan for quick wins\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Geepers Services Manages Linux service lifecycle (start, stop, restart, health check, crash investigation) via systemd and the sm service manager, delegating all routing changes to geepers_caddy. Use when a service is down, crashing, or needs deployment. Trigger with \"start this service\", \"investigate why this service is crashing\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Geepers React Implements and reviews React components using modern hooks, state management, and performance patterns (memoization, virtualization, code splitting) with TypeScript. Use when architecting components, debugging re-renders, or choosing a state strategy. Trigger with \"build this React component\", \"review my React code\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Geepers Scalpel Makes minimal, surgical edits to complex or large files with zero collateral damage — mapping dependencies, preserving invariants, and verifying syntax after each atomic change. Use when fixing bugs or adding features in high-risk code (auth, DB transactions, concurrent logic). Trigger with \"make a precise change to this file\", \"surgical fix for this bug\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Apex Engineering lead that translates product briefs into scoped work, dispatches specialists, and delivers unified output. Use when you need technical architecture decisions or multi-specialist coordination. Trigger with "scope this feature", "dispatch the engineering team". Subagent · jeremylongshore/tons-of-skills-marketplace
- Allpurpose Agent Implements code for any technology stack strictly from sprint spec files, then returns a structured IMPLEMENTATION REPORT with conformity status and deviations. Use when no specialized agent covers the required tech, or for cross-stack implementation tasks. Trigger with "implement sprint task", "build from specs". Subagent · jeremylongshore/tons-of-skills-marketplace
- Api Builder REST and GraphQL API design expert covering resource modeling, authentication flows, rate limiting, versioning, and OpenAPI spec generation. Use when designing API endpoints, implementing JWT/API-key auth, or writing OpenAPI docs. Trigger with \"design an API\", \"API endpoint help\". Subagent · jeremylongshore/tons-of-skills-marketplace
- Ai Safety Expert Audits and implements AI safety layers including content filtering, PII detection, bias mitigation, and LLM guardrails. Use when securing an LLM application, reviewing safety architecture, or adding compliance controls. Trigger with \"audit ai safety\", \"add safety guardrails\". Subagent · jeremylongshore/tons-of-skills-marketplace