npx skills add ...
npx skills add https://docs.clickmax.io --skill clickmax-analytics
Use when the user asks business/revenue/KPI questions like how much
npx skills add https://docs.clickmax.io --skill clickmax-analytics
As tools abaixo aparecem com os nomes que o MCP da Clickmax registra. Se o seu cliente de IA prefixar nomes de tool (
mcp__<servidor>__,mcp_<servidor>_, ou outro), use o nome já prefixado que aparecer na sua lista de tools.
Use this skill for business/KPI questions answered by specific analytics cuts over a date range: revenue totals, period-over-period sales, lead/conversion metrics, funnel step performance, messaging engagement, campaign (broadcast) and per-channel message performance, top products, most-accessed sales pages, and recent workspace activity.
failed, canceled, refunded, chargedBack, dispute, pending) -> clickmax-payments-dashboard-analysis (the sales-overview bundle below stays here)clickmax-transaction-operationsclickmax-leads-activity-analysisclickmax-leadsclickmax-insights-dashboardsstartDate / endDate (ISO date strings); backend clamps start to two-years-ago and end to today/tomorrow, so out-of-range dates are silently trimmed.analytics_sales_metrics, analytics_leads_metrics, analytics_messages_metrics) take a current window plus a previousStartDate / previousEndDate window; set both windows explicitly for honest growth reads.projectSlugs, funnelIds, pageIds are optional array filters; empty means whole workspace.analytics_total_sales returns totalInSales (internal/native), totalExternalSales (imported platforms, with externalBreakdown per platform), and totalRevenue (sum). State which one you mean.previousPeriodGrowth (in analytics_sales_metrics) can be negative but means decline vs the prior window, not lost money.analytics_top_products limit defaults 5 (max 100); analytics_sales_pages limit defaults 5 (max 20).Sales-overview question ("como estão minhas vendas", "quanto faturei", "quanto vendi hoje", "quantas vendas", "quanto estou perdendo", "resumo das vendas", "how are my sales") = ONE complete answer, never only the literal number. Sellers expect faturado + a recuperar + why sales fail + what to do, without asking one by one.
Run in the SAME Code Mode script, same window + filters:
| Call | Gives |
|---|---|
analytics_total_sales | faturado (totalRevenue + internal/external split) |
recovery_recoverable_revenue | total a recuperar (deduplicated buckets: failed, canceled, refunded, pixPending, boletoPending, cartAbandonment) |
transactions_failure_breakdown | failures by stable code + value |
from/to (failure breakdown) and transactionPeriod (recovery) to the same startDate/endDate window.code → label + next action via the clickmax-failure-diagnosis map (activate_skill it); never print raw gateway reasons or raw code.count/value are per ATTEMPT (same buyer retrying counts N times) → label them "tentativas", never "pessoas", never sum them into the recoverable headline.dashboard_my_sales rows to hand-count failures or buyers for this answer.analytics_total_sales for the range (headline revenue: internal + external + total), or analytics_sales_metrics when they also want conversion, top product, or growth vs a prior period.analytics_leads_metrics; lead-engagement overview across lists -> analytics_leads_overview.analytics_top_products.analytics_funnel (step + aggregate stats + sales history).analytics_messages_metrics; automation reach/executions -> analytics_flows_overview.### Campaign and message performance.analytics_sales_pages; latest workspace movement -> analytics_recent_activities.salesConversionPercentage, totalViews vs totalProductsSold, negative previousPeriodGrowth (all from analytics_sales_metrics).analytics_total_sales with startDate and endDate covering the window, optionally scoped by projectSlugs; read totalRevenue plus the totalInSales / totalExternalSales split.analytics_sales_metrics with startDate/endDate for the current window and previousStartDate/previousEndDate for the prior window; read totalAmount, salesConversionPercentage, totalProductsSold, products, topConversionProduct, and previousPeriodGrowth.analytics_leads_metrics with the same window/previous-window pattern plus optional funnelIds / pageIds; read totalLeads, leadConversionPercentage, leadAveragePrice, and leadsPerMonth.analytics_leads_overview with startDate/endDate for engaged contacts, active flows, and per-list engagement.analytics_top_products with startDate/endDate, optional funnelIds or productId, and limit for how many to rank.analytics_funnel with funnelIds and/or projectSlugs plus the date window; read steps, stats, and salesHistory.analytics_messages_metrics with window + previous window; read totalMessagesSent and per-channel (mail, whatsApp, telegram) engaged percentages.analytics_flows_overview with projectSlugs and the window for activeFlows, totalExecutions, and topFlows.analytics_sales_pages with optional projectSlugs / funnelIds and limit.analytics_recent_activities with startDate/endDate and optional projectIds, funnelIds, categories.endDate = today, startDate = today − 15d; prior 15 days → previousStartDate / previousEndDate.analytics_sales_metrics (conversion, top product, previousPeriodGrowth) over the same 15 days.| Question | Tool + input | Read |
|---|---|---|
| "how did my campaigns do" / "what is my open rate" | broadcasts_list with channel = email, perPage = 20 (50 for a baseline) | each campaign's rates (open/click/bounce over sent) + volume-weighted average across sent campaigns; campaign sends only |
| "how is email/WhatsApp performing overall in a period" (campaigns + automations) | messages_metrics for the window, again for the previous window of the same length; optional platform (WhatsApp = gupshup) | per-platform total, reached, opened, failed, bounced, spamComplaints, openRate / failureRate / bounceRate, trend vs previous window |
| "why did this campaign do well/badly" / "when do people open" | broadcasts_insights with broadcastId from broadcasts_list | opensByHour, topLinks, devices, clients, geo, engagement (open/click rate + delta vs previous campaign), creditCost |
| WhatsApp template reads/clicks | gupshup_template_analytics with the template externalId from gupshup_templates_list (only templates submitted to Meta have one) | sent, delivered, read, clicked, readRate / clickRate over delivered |
messages_metrics openRate = opened / reached, first opens only; no clicks there → click rates come from broadcasts_list.broadcasts_list → messages_metrics covers campaigns + automations combined.null when the denominator is 0; show null as "no data", not 0%.cx-metric for each headline KPI (revenue, conversion, leads) and a cx-ranking for top-products / top-flows lists instead of long inline tables.cx-hero faturado (value-tone="positive") → cx-hero a recuperar (icon="database-sync", warning) → cx-ranking of failure reasons by value, every row tone="warning", hint = next action (clickmax-failure-diagnosis rules) → close with ONE opt-in next step (e.g. recovery automation for the top reason) via the question tool. No markdown tables for this data. Empty recovery → "Nada a recuperar no período 🎉".+N more.previousPeriodGrowth or a negative trend as "money lost"; it is a period-over-period delta.totalExternalSales into native-sales conclusions without labeling it; external is imported-platform revenue.recovery_recoverable_revenue.broadcasts_list, over sent) with a messages_metrics open rate (over reached, campaigns + automations) as if they were the same number: different denominators and scopes.Clickmax skill revision: a13590fbff81