界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

Mixpanel

Mixpanel

【效率与协作】Query Mixpanel analytics with funnels, retention, segmentation, and event tracking via REST API.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: Mixpanel slug: mixpanel version: 1.0.1 description: Query Mixpanel analytics with funnels, retention, segmentation, and event tracking via REST API. homepage: https://clawic.com/skills/mixpanel changelog: Improved security docs and env var declarations. metadata: clawdbot: emoji: 📊 requires: bins: - curl - jq env: - MP_SERVICE_ACCOUNT - MP_SERVICE_SECRET - MP_PROJECT_ID config: - ~/Clawic/data/mixpanel/ primaryEnv: MP_SERVICE_SECRET os: - linux - darwin displayName: Mixpanel

Setup

On first use, read setup.md for integration guidelines.

When to Use

User needs product analytics from Mixpanel. Agent handles event queries, funnel analysis, retention cohorts, user segmentation, and profile lookups.

Architecture

Memory lives in ~/Clawic/data/mixpanel/. See memory-template.md for structure.

~/Clawic/data/mixpanel/
├── memory.md        # Projects, saved queries, insights
└── queries/         # Saved JQL queries

Quick Reference

TopicFile
Setup processsetup.md
Memory templatememory-template.md

Core Rules

1. Authentication

Requires a Mixpanel Service Account:

export MP_SERVICE_ACCOUNT="your-service-account"
export MP_SERVICE_SECRET="your-service-secret"
export MP_PROJECT_ID="123456"

Create a service account in Mixpanel → Organization Settings → Service Accounts.

2. Query API for Analysis

Use the Query API for insights, funnels, retention:

BASE="https://mixpanel.com/api/query"
AUTH=$(echo -n "$MP_SERVICE_ACCOUNT:$MP_SERVICE_SECRET" | base64)

# Insights query (event counts)
curl -s "$BASE/insights?project_id=$MP_PROJECT_ID" \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "params": {
      "event": ["Sign Up", "Purchase"],
      "type": "general",
      "unit": "day",
      "from_date": "2024-01-01",
      "to_date": "2024-01-31"
    }
  }' | jq

3. Funnel Analysis

curl -s "$BASE/funnels?project_id=$MP_PROJECT_ID" \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "params": {
      "events": [
        {"event": "Sign Up"},
        {"event": "Complete Onboarding"},
        {"event": "First Purchase"}
      ],
      "from_date": "2024-01-01",
      "to_date": "2024-01-31",
      "unit": "day"
    }
  }' | jq '.data.meta.overall'

4. Retention Cohorts

curl -s "$BASE/retention?project_id=$MP_PROJECT_ID" \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "params": {
      "born_event": "Sign Up",
      "event": "App Open",
      "from_date": "2024-01-01",
      "to_date": "2024-01-31",
      "unit": "week",
      "retention_type": "birth"
    }
  }' | jq

5. User Profiles

curl -s "https://mixpanel.com/api/query/engage?project_id=$MP_PROJECT_ID" \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "filter_by_cohort": {"id": 12345},
    "output_properties": ["$email", "$name", "plan"]
  }' | jq

6. Export Raw Events

curl -s "https://data.mixpanel.com/api/2.0/export?project_id=$MP_PROJECT_ID" \
  -H "Authorization: Basic $AUTH" \
  -d "from_date=2024-01-01" \
  -d "to_date=2024-01-07" \
  -d "event=[\"Purchase\"]"

7. JQL for Complex Queries

// Mixpanel JQL (JavaScript Query Language)
function main() {
  return Events({
    from_date: "2024-01-01",
    to_date: "2024-01-31",
    event_selectors: [{event: "Purchase"}]
  })
  .groupByUser(["properties.$city"], mixpanel.reducer.sum("properties.amount"))
  .groupBy(["key.$city"], mixpanel.reducer.avg("value"))
  .sortDesc("value")
  .take(10);
}

Common Queries

GoalEndpointKey Params
Event counts/insightsevent, type, unit, dates
Conversion funnel/funnelsevents array, dates
User retention/retentionborn_event, event, unit
User segments/engagefilter_by_cohort, properties
Raw event export/exportdates, event filter

Mixpanel Traps

  • Wrong date format → use YYYY-MM-DD, not timestamps
  • Missing project_id → every Query API call needs it
  • Rate limits → 60 requests/hour for free tier, batch queries when possible
  • JQL timeouts → queries over 60s fail, add .take(N) to limit results

External Endpoints

EndpointData SentPurpose
mixpanel.com/api/query/*Credentials, project ID, query paramsAnalytics queries
data.mixpanel.com/api/2.0/*Credentials, project ID, date rangeRaw data export

No other data is sent externally.

Security & Privacy

Data sent to Mixpanel (over HTTPS):

  • Service account credentials for authentication
  • Query parameters (event names, date ranges, filters)
  • Project ID

Data that stays local:

  • Credentials stored ONLY in environment variables
  • Query results cached in ~/Clawic/data/mixpanel/

This skill does NOT:

  • Store credentials in memory.md or any file
  • Send data to services other than mixpanel.com
  • Modify your Mixpanel tracking code or SDK

Trust

By using this skill, analytics data is queried from Mixpanel. Only install if you trust Mixpanel with your product data.

Related Skills

More Clawic skills, get them at https://clawic.com/skills/ (install if the user confirms):

  • analytics — multi-platform analytics
  • data-analysis — data processing patterns
  • api — REST API best practices

Feedback

我的收藏