Skill: yogesharc/supalytics (version 1.0.1)

--- name: supalytics description: Query web analytics data using the Supalytics CLI. Use when the user wants to check pageviews, visitors, top pages, traffic sources, referrers, countries, revenue metrics, conversions, funnels, events, or realtime visitors. metadata: {"openclaw":{"emoji":"📊","requires":{"bins":["supalytics"]},"homepage":"https://supalytics.co"}} --- # Supalytics CLI Query web analytics data from [Supalytics](https://supalytics.co) - simple, fast, GDPR-compliant analytics with revenue attribution. ## Installation **Requires [Bun](https://bun.sh) runtime** (not Node.js): ```bash # Install Bun first curl -fsSL https://bun.sh/install | bash export PATH="$HOME/.bun/bin:$PATH" # Install Supalytics CLI bun add -g @supalytics/cli ``` ## Authentication ### Important: OAuth in Agent Contexts The `supalytics login` command uses OAuth device flow which requires user interaction in a browser. In agent contexts (OpenClaw, etc.), the process may be killed before OAuth completes. **Solution for OpenClaw:** Use `background: true` mode: ```javascript await exec({ command: 'supalytics login', background: true, yieldMs: 2000 // Wait 2s to capture the verification URL }); ``` The agent should: 1. Run login in background mode 2. Extract and present the verification URL to the user 3. Wait for user to complete browser authorization 4. Poll background session to check completion ### Quick Setup ```bash supalytics init # Opens browser, creates site, shows tracking snippet ``` ### Manual Setup ```bash supalytics login # Opens browser for OAuth supalytics sites add # Create a new site ``` ## Commands ### Quick Stats ```bash supalytics stats # Last 30 days (default) supalytics stats today # Today only supalytics stats yesterday # Yesterday supalytics stats week # This week supalytics stats month # This month supalytics stats 7d # Last 7 days supalytics stats --all # Include breakdowns (pages, referrers, countries, etc.) ``` ### Realtime Visitors ```bash supalytics realtime # Current visitors on site supalytics realtime --watch # Auto-refresh every 30s ``` ### Trend (Time Series) ```bash supalytics trend # Daily visitor trend with bar chart supalytics trend --period 7d # Last 7 days supalytics trend --compact # Sparkline only ``` ### Breakdowns ```bash supalytics pages # Top pages by visitors supalytics referrers # Top referrers supalytics countries # Traffic by country ``` ### Events ```bash supalytics events # List all custom events supalytics events signup # Properties for specific event supalytics events signup --property plan # Breakdown by property value ``` ### Custom Queries The `query` command is the most flexible: ```bash # Top pages with revenue supalytics query -d page -m visitors,revenue # Traffic by country and device supalytics query -d country,device -m visitors # Blog traffic from US only supalytics query -d page -f "page:contains:/blog" -f "country:is:US" # Hourly breakdown supalytics query -d hour -m visitors -p 7d # UTM campaign performance supalytics query -d utm_source,utm_campaign -m visitors,revenue # Sort by revenue descending supalytics query -d page --sort revenue:desc # Pages visited by users who signed up supalytics query -d page -f "event:is:signup" # Filter by event property supalytics query -d country -f "event_property:is:plan:premium" ``` **Available metrics:** `visitors`, `pageviews`, `bounce_rate`, `avg_session_duration`, `revenue`, `conversions`, `conversion_rate` **Available dimensions:** `page`, `referrer`, `country`, `region`, `city`, `browser`, `os`, `device`, `date`, `hour`, `event`, `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content` ### Site Management ```bash supalytics sites # List all sites supalytics sites add example.com # Create site supalytics sites update my-site -d example.com # Update domain supalytics default example.com # Set default site supalytics remove example.com # Remove site ``` ## Global Options All analytics commands support: | Option | Description | |--------|-------------| | `-s, --site <domain>` | Query specific site (otherwise uses default) | | `-p, --period <period>` | Time period: `7d`, `14d`, `30d`, `90d`, `12mo`, `all` | | `--start <date>` | Start date (YYYY-MM-DD) | | `--end <date>` | End date (YYYY-MM-DD) | | `-f, --filter <filter>` | Filter: `field:operator:value` | | `--json` | Output raw JSON (for programmatic use) | | `--no-revenue` | Exclude revenue metrics | | `-t, --test` | Query localhost/test data | ## Filter Syntax Format: `field:operator:value` **Operators:** `is`, `is_not`, `contains`, `not_contains`, `starts_with` **Examples:** ```bash -f "country:is:US" -f "page:contains:/blog" -f "device:is:mobile" -f "referrer:is:twitter.com" -f "utm_source:is:newsletter" -f "event:is:signup" -f "event_property:is:plan:premium" ``` ## Output Formats **Human-readable (default):** Formatted tables with colors **JSON (`--json`):** Raw JSON for parsing - use this when you need to process the data programmatically: ```bash supalytics stats --json | jq '.data[0].metrics.visitors' supalytics query -d page -m visitors --json ``` ## Examples by Use Case ### "How's my site doing?" ```bash supalytics stats ``` ### "What are my top traffic sources?" ```bash supalytics referrers # or with revenue supalytics query -d referrer -m visitors,revenue ``` ### "Which pages generate the most revenue?" ```bash supalytics query -d page -m revenue --sort revenue:desc ``` ### "How's my newsletter campaign performing?" ```bash supalytics query -d utm_campaign -f "utm_source:is:newsletter" -m visitors,conversions,revenue ``` ### "Who's on my site right now?" ```bash supalytics realtime ``` ### "Show me the visitor trend this week" ```bash supalytics trend --period 7d ``` ## Troubleshooting | Issue | Solution | |-------|----------| | `command not found: supalytics` | Ensure Bun is installed and `~/.bun/bin` is in PATH, or symlink to system path (see below) | | `No site specified` | Run `supalytics default <domain>` to set default site | | `Unauthorized` | Run `supalytics login` to re-authenticate | | No data returned | Check site has tracking installed, try `-t` for test mode | ### OpenClaw / Daemon Usage Bun installs to `~/.bun/bin` which isn't in PATH for daemon processes like OpenClaw. After installation, symlink to system path: ```bash sudo ln -sf ~/.bun/bin/bun /usr/local/bin/bun sudo ln -sf ~/.bun/bin/supalytics /usr/local/bin/supalytics ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)