library/specializations/product-management/skills/product-analytics/SKILL.md
Deep integration with product analytics platforms for metrics, funnels, retention, and experimentation. Query Amplitude/Mixpanel/Heap data, generate retention curves, calculate conversion metrics, and build dashboard configurations.
npx skillsauth add a5c-ai/babysitter product-analyticsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Query and analyze product analytics data for metrics definition, funnel analysis, retention curves, and experiment tracking.
This skill provides comprehensive capabilities for working with product analytics platforms. It enables data-driven product decisions through metric queries, funnel analysis, cohort retention tracking, and dashboard generation.
Supported Platforms:
- Amplitude (API key required)
- Mixpanel (service account)
- Heap (API access)
- Google Analytics 4 (BigQuery export)
- Posthog (API key)
{
"platform": "amplitude",
"credentials": {
"api_key": "${AMPLITUDE_API_KEY}",
"secret_key": "${AMPLITUDE_SECRET_KEY}"
},
"project_id": "123456",
"timezone": "America/Los_Angeles"
}
## Funnel Definition
### Funnel: Signup to First Value
**Steps**:
1. Page View: /signup
2. Event: signup_started
3. Event: signup_completed
4. Event: first_action_completed
**Filters**:
- Platform: web
- Date range: last 30 days
- New users only
**Segmentation**:
- By traffic source
- By device type
# Funnel analysis query
funnel_config = {
"events": [
{"event_type": "signup_started"},
{"event_type": "signup_completed"},
{"event_type": "onboarding_completed"},
{"event_type": "first_value_action"}
],
"filters": {
"platform": ["web", "ios", "android"],
"date_range": {
"start": "2026-01-01",
"end": "2026-01-24"
}
},
"conversion_window": "7 days",
"group_by": ["platform", "utm_source"]
}
# Expected output format
funnel_results = {
"overall": {
"step_1": {"users": 10000, "rate": 1.0},
"step_2": {"users": 6500, "rate": 0.65},
"step_3": {"users": 4200, "rate": 0.65},
"step_4": {"users": 2100, "rate": 0.50}
},
"overall_conversion": 0.21,
"segments": {
"web": {"conversion": 0.18},
"ios": {"conversion": 0.25},
"android": {"conversion": 0.19}
}
}
## Retention Query
### Cohort Definition
- **Cohort by**: signup_date (weekly)
- **Retention event**: any_active_event
- **Time periods**: Day 1, 7, 14, 30, 60, 90
### Output: Retention Matrix
| Cohort Week | Users | D1 | D7 | D14 | D30 | D60 | D90 |
|-------------|-------|-----|-----|-----|-----|-----|-----|
| Jan 1-7 | 1000 | 45% | 30% | 25% | 20% | 15% | 12% |
| Jan 8-14 | 1200 | 48% | 32% | 27% | 22% | - | - |
| Jan 15-21 | 1100 | 46% | 31% | - | - | - | - |
# Retention analysis configuration
retention_config = {
"cohort_definition": {
"event": "signup_completed",
"grouping": "week"
},
"retention_event": {
"event_type": "any_active",
"conditions": ["page_view", "feature_used", "content_created"]
},
"periods": [1, 7, 14, 30, 60, 90],
"date_range": {
"start": "2025-10-01",
"end": "2026-01-24"
},
"segments": ["subscription_tier", "signup_source"]
}
# Expected output
retention_results = {
"retention_matrix": [
{
"cohort": "2025-W40",
"cohort_size": 1000,
"retention": {
"D1": 0.45,
"D7": 0.30,
"D14": 0.25,
"D30": 0.20,
"D60": 0.15,
"D90": 0.12
}
}
],
"averages": {
"D1": 0.46,
"D7": 0.31,
"D14": 0.26,
"D30": 0.21,
"D60": 0.16,
"D90": 0.13
},
"trends": {
"D30_trend": "+2%", # vs previous period
"D7_trend": "-1%"
}
}
## Metric Specification Template
### Metric: Weekly Active Users (WAU)
**Definition**: Unique users who performed at least one qualifying action in a 7-day period.
**Calculation**:
```sql
SELECT COUNT(DISTINCT user_id)
FROM events
WHERE event_type IN ('page_view', 'feature_used', 'content_created')
AND event_timestamp >= CURRENT_DATE - INTERVAL '7 days'
Qualifying Events:
Exclusions:
Segments:
Alerts:
### Event Tracking Specification
```json
{
"event_name": "feature_used",
"description": "User interacted with a product feature",
"category": "engagement",
"properties": {
"feature_name": {
"type": "string",
"required": true,
"description": "Name of the feature used",
"examples": ["search", "export", "share"]
},
"feature_version": {
"type": "string",
"required": false,
"description": "Version of the feature"
},
"action": {
"type": "string",
"required": true,
"enum": ["click", "view", "complete", "cancel"]
},
"duration_ms": {
"type": "integer",
"required": false,
"description": "Time spent on feature"
}
},
"user_properties": {
"subscription_tier": "string",
"signup_date": "date"
}
}
const analyticsQueryTask = defineTask({
name: 'analytics-query',
description: 'Query product analytics data',
inputs: {
queryType: { type: 'string', required: true }, // funnel, retention, metric
config: { type: 'object', required: true },
platform: { type: 'string', default: 'amplitude' },
dateRange: { type: 'object', required: true }
},
outputs: {
results: { type: 'object' },
visualizations: { type: 'array' },
insights: { type: 'array' }
},
async run(inputs, taskCtx) {
return {
kind: 'skill',
title: `Run ${inputs.queryType} analysis`,
skill: {
name: 'product-analytics',
context: {
operation: inputs.queryType,
config: inputs.config,
platform: inputs.platform,
dateRange: inputs.dateRange
}
},
io: {
inputJsonPath: `tasks/${taskCtx.effectId}/input.json`,
outputJsonPath: `tasks/${taskCtx.effectId}/result.json`
}
};
}
});
{
"dashboard_name": "Product Health Dashboard",
"refresh_interval": "1h",
"layout": {
"columns": 3,
"rows": 4
},
"widgets": [
{
"id": "wau_trend",
"type": "line_chart",
"position": {"row": 1, "col": 1, "width": 2},
"metric": "weekly_active_users",
"time_range": "90d",
"comparison": "previous_period"
},
{
"id": "retention_heatmap",
"type": "heatmap",
"position": {"row": 1, "col": 3, "width": 1},
"metric": "cohort_retention",
"periods": [1, 7, 30]
},
{
"id": "funnel_chart",
"type": "funnel",
"position": {"row": 2, "col": 1, "width": 3},
"funnel_id": "signup_to_activation",
"segments": ["platform"]
}
],
"alerts": [
{
"metric": "weekly_active_users",
"condition": "decrease_percent > 5",
"severity": "warning",
"notification": "slack"
}
]
}
# Funnel Analysis Report: Signup to First Value
## Overview
- **Period**: January 1-24, 2026
- **Total Users**: 10,000
- **Overall Conversion**: 21%
## Step-by-Step Analysis
| Step | Event | Users | Conv Rate | Drop-off |
|------|-------|-------|-----------|----------|
| 1 | signup_started | 10,000 | 100% | - |
| 2 | signup_completed | 6,500 | 65% | 35% |
| 3 | onboarding_completed | 4,200 | 65% | 35% |
| 4 | first_value_action | 2,100 | 50% | 50% |
## Key Insights
1. **Biggest Drop-off**: Step 4 (onboarding to first value) - 50% drop
2. **Best Performing Segment**: iOS users (25% overall conversion)
3. **Opportunity**: Mobile onboarding flow optimization
## Recommendations
1. Simplify first value action guidance
2. Add progress indicators in onboarding
3. Implement re-engagement for drop-offs at step 3
development
Model documentation skill for generating model cards following Google's model card framework.
development
MLflow integration skill for experiment tracking, model registry, and artifact management. Enables LLMs to log experiments, compare runs, manage model lifecycle, and retrieve artifacts through the MLflow API.
data-ai
LIME-based local explanation skill for individual predictions across tabular, text, and image data.
devops
Kubeflow Pipelines skill for ML workflow orchestration, component management, and Kubernetes-native ML.