| name | web-analytics |
| description | Push-based web analytics intelligence for your entire site portfolio. Fetches data from
Umami (primary) and GA4 (fallback), runs specialist analysis agents in parallel, and
delivers actionable insights. Three tiers: mini (30s pulse), medium (2min brief),
full (5min deep dive). Supports console, email, and Slack delivery.
Trigger with "/analytics", "check my analytics", "how's my traffic", "site stats",
"traffic report", "analytics brief", "daily brief".
|
| allowed-tools | Read,Glob,Grep,Bash(date:*),Bash(node:*),Bash(curl:*),Bash(python3:*),Bash(source:*),Task,AskUserQuestion |
| version | 1.4.0 |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| license | MIT |
| tags | ["analytics","umami","traffic","reporting","intelligence"] |
| argument-hint | [mini|medium|full] [--site=name] [--period=7d] [--email] [--slack] |
| compatibility | Designed for Claude Code |
Web Analytics Intelligence
Orchestrates a team of specialist agents to deliver business-grade analytics insights
across your entire site portfolio. Not a dashboard replacement โ a push-based analytics
team that surfaces what matters.
Overview
This skill routes analytics requests to the right combination of specialist agents based
on the requested tier, compiles their outputs into a cohesive narrative, and delivers
via console, email, or Slack.
Architecture: Orchestrator (this skill) โ Data Collector โ Specialist Agents (parallel) โ Reporter
Prerequisites
- Umami credentials in
~/.env (UMAMI_PASSWORD for the admin user)
- Sites configured in
${CLAUDE_SKILL_DIR}/references/site-registry.md
- For email delivery:
/email skill working
- For Slack delivery:
/slack skill working
Data Access
The skill uses direct Umami REST API calls (more reliable than MCP):
TOKEN=$(curl -s "https://analytics.intentsolutions.io/api/auth/login" \
-X POST -H "Content-Type: application/json" \
-d '{"username":"admin","password":"'"$UMAMI_PASSWORD"'"}' | \
python3 -c "import sys,json; print(json.load(sys.stdin).get('token',''))")
curl -s "https://analytics.intentsolutions.io/api/websites/{SITE_ID}/stats?startAt={START_MS}&endAt={END_MS}&compare=prev" \
-H "Authorization: Bearer $TOKEN"
curl -s "https://analytics.intentsolutions.io/api/websites/{SITE_ID}/active" \
-H "Authorization: Bearer $TOKEN"
curl -s "https://analytics.intentsolutions.io/api/websites/{SITE_ID}/pageviews?startAt={START_MS}&endAt={END_MS}&unit=day&timezone=America%2FNew_York" \
-H "Authorization: Bearer $TOKEN"
Instructions
Step 1: Parse Request