Agent skill

product-analytics

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.

Stars 514
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/a5c-ai/babysitter/tree/main/library/specializations/product-management/skills/product-analytics

SKILL.md

Product Analytics Skill

Query and analyze product analytics data for metrics definition, funnel analysis, retention curves, and experiment tracking.

Overview

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.

Capabilities

Analytics Platform Integration

  • Query Amplitude, Mixpanel, Heap, GA4 data
  • Execute custom event queries
  • Pull predefined report data
  • Sync metric definitions

Funnel Analysis

  • Define and calculate conversion funnels
  • Identify drop-off points and friction
  • Segment funnels by user attributes
  • Compare funnel performance over time

Retention Analysis

  • Generate retention curves and matrices
  • Calculate cohort retention rates
  • Analyze retention by user segment
  • Identify retention drivers and predictors

Metric Definition

  • Define North Star and supporting metrics
  • Create event tracking specifications
  • Document metric calculations
  • Build metric hierarchies (trees)

Dashboard Configuration

  • Generate dashboard layouts
  • Configure chart specifications
  • Define alert thresholds
  • Export dashboard configs

Prerequisites

Analytics Platform Access

yaml
Supported Platforms:
  - Amplitude (API key required)
  - Mixpanel (service account)
  - Heap (API access)
  - Google Analytics 4 (BigQuery export)
  - Posthog (API key)

Configuration

json
{
  "platform": "amplitude",
  "credentials": {
    "api_key": "${AMPLITUDE_API_KEY}",
    "secret_key": "${AMPLITUDE_SECRET_KEY}"
  },
  "project_id": "123456",
  "timezone": "America/Los_Angeles"
}

Usage Patterns

Funnel Analysis Query

markdown
## 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 Query Example (Amplitude-style)

python
# 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 Analysis

markdown
## 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 Query Example

python
# 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 Definition Specification

markdown
## 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:

  • page_view (any page)
  • feature_used
  • content_created
  • content_shared

Exclusions:

  • Bot traffic (user_agent filter)
  • Internal users (email domain filter)

Segments:

  • By platform (web, ios, android)
  • By subscription tier
  • By signup cohort

Alerts:

  • Warning: >5% week-over-week decline
  • Critical: >10% week-over-week decline

### 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"
  }
}

Integration with Babysitter SDK

Task Definition Example

javascript
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 Configuration

Dashboard Specification

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"
    }
  ]
}

Output Formats

Funnel Analysis Report

markdown
# 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

Best Practices

  1. Define Metrics Clearly: Document calculation logic and edge cases
  2. Use Consistent Time Zones: Align all queries to single timezone
  3. Segment Everything: Always analyze by key user segments
  4. Validate Data Quality: Check for tracking gaps and anomalies
  5. Version Event Schemas: Track changes to event definitions
  6. Set Appropriate Alerts: Avoid alert fatigue with meaningful thresholds

References

Expand your agent's capabilities with these related and highly-rated skills.

a5c-ai/babysitter

gsd-tools

Central utility skill for GSD operations. Provides config parsing, slug generation, timestamps, path operations, and orchestrates calls to other specialized skills. Acts as the unified entry point that the original gsd-tools.cjs provided via its lib/ modules (commands, config, core, init).

514 31
Explore
a5c-ai/babysitter

model-profile-resolution

Resolve model profile (quality/balanced/budget) at orchestration start and map agents to specific models. Enables cost/quality tradeoffs by selecting appropriate AI models for each agent role.

514 31
Explore
a5c-ai/babysitter

verification-suite

Plan structure validation, phase completeness checks, reference integrity verification, and artifact existence confirmation. Provides the structured verification layer ensuring GSD artifacts are well-formed and complete.

514 31
Explore
a5c-ai/babysitter

state-management

STATE.md reading, writing, and field-level updates. Provides cross-session state persistence via .planning/STATE.md with structured fields for current task, completed phases, blockers, decisions, and quick tasks.

514 31
Explore
a5c-ai/babysitter

git-integration

Git commit patterns, formats, and conventions for GSD methodology. Provides atomic commits per task, structured commit messages, planning file commits, branch management, and milestone tag operations.

514 31
Explore
a5c-ai/babysitter

frontmatter-parsing

YAML frontmatter parsing and manipulation for .planning/ documents. Provides read, write, update, query, and validation operations on frontmatter blocks in GSD markdown artifacts.

514 31
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results