umami

Fetch analytics from Umami. Use when the user asks about umami, analytics, website traffic, daily stats, pageviews, visitors, how is my site doing, traffic report, site performance, bounce rate, visitor count, active users, who is on my site, or website statistics.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "umami" with this command: npx skills add martinhjartmyr/skills/martinhjartmyr-skills-umami

Umami Analytics

Fetch traffic summaries and analytics data from an Umami instance.

Configuration

Set these environment variables before running:

VariableRequiredDescription
UMAMI_API_URLYesBase URL of your Umami instance (e.g. https://cloud.umami.is)
UMAMI_API_KEYOne of theseAPI key for Umami Cloud. Used as Bearer token directly.
UMAMI_USERNAMEOne of theseUsername for self-hosted login via /api/auth/login.
UMAMI_PASSWORDWith usernamePassword for self-hosted login.

If UMAMI_API_KEY is set, it takes precedence over username/password.

Workflow: Daily Traffic Summary

  1. Run the script:
    bash ~/Projects/skills/umami/scripts/umami-summary.sh
    
  2. Parse the JSON output.
  3. Format as a markdown table:
WebsiteDomainPageviewsVisitorsVisitsBouncesAvg TimeActive
My Blogblog.example.com1,234 (980)567 (510)890 (801)123 (110)45s (38s)3
Totals1,234 (980)567 (510)890 (801)123 (110)45s (38s)3
  • Show previous period values in parentheses after each metric (e.g. "1,234 (980)" means 1,234 current, 980 previous).
  • Format numbers with commas for readability.
  • Convert totaltime to human-readable duration (e.g. "1m 23s").
  • Calculate average time as totaltime / visits for each site, using prev_totaltime / prev_visits for the previous period.
  • Bold the totals row.

Workflow: Active Users Only

For "who is on my site right now?" queries, use the lightweight flag:

bash ~/Projects/skills/umami/scripts/umami-summary.sh --active-only

This skips the stats API calls and only fetches current active visitor counts. Format as a simpler table:

WebsiteDomainActive
My Blogblog.example.com3

Error Handling

The script exits non-zero and writes JSON to stderr on failure:

  • Missing env vars: {"error": "UMAMI_API_URL is not set"}
  • Auth failure: {"error": "Authentication failed (HTTP 401)"}
  • Unreachable server: {"error": "Could not connect to https://..."}

Report these errors clearly to the user with the specific message. Suggest checking their environment variables.

API Reference

For queries beyond the daily summary (time series, metrics breakdowns, custom date ranges), see references/api.md.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

nano-banana-2

Nano Banana 2 - Gemini 3.1 Flash Image Preview

Repository Source
49.5K156inferen-sh
General

qwen-image-2

Qwen-Image - Alibaba Image Generation

Repository Source
49.3K156inferen-sh
General

p-video

Pruna P-Video Generation

Repository Source
49.3K156inferen-sh
General

qwen-image-2-pro

Qwen-Image Pro - Professional Image Generation

Repository Source
49.2K156inferen-sh