Mobile Analytics

Mobile app analytics and crash reporting integration

509 stars

Best use case

Mobile Analytics is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Mobile app analytics and crash reporting integration

Teams using Mobile Analytics should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/mobile-analytics/SKILL.md --create-dirs "https://raw.githubusercontent.com/a5c-ai/babysitter/main/library/specializations/mobile-development/skills/mobile-analytics/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/mobile-analytics/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Mobile Analytics Compares

Feature / AgentMobile AnalyticsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Mobile app analytics and crash reporting integration

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Mobile Analytics Skill

## Overview

This skill provides comprehensive capabilities for mobile app analytics and crash reporting integration. It enables configuration of Firebase Analytics, Crashlytics, Mixpanel, Amplitude, and other analytics platforms.

## Allowed Tools

- `bash` - Execute Firebase CLI and SDK commands
- `read` - Analyze analytics configurations
- `write` - Generate analytics event schemas and configurations
- `edit` - Update analytics implementations
- `glob` - Search for analytics files
- `grep` - Search for event tracking patterns

## Capabilities

### Firebase Analytics

1. **Event Configuration**
   - Configure custom events
   - Set user properties
   - Implement screen tracking
   - Configure event parameters
   - Handle default events

2. **User Segmentation**
   - Configure audiences
   - Set user IDs
   - Implement user properties
   - Handle demographics

### Firebase Crashlytics

3. **Crash Reporting**
   - Configure crash reporting
   - Implement custom keys
   - Log non-fatal errors
   - Set user identifiers
   - Configure crash alerting

4. **Debug Tools**
   - Enable debug mode
   - Configure test crashes
   - Analyze stack traces
   - Handle dSYM uploads

### Third-Party Analytics

5. **Mixpanel/Amplitude**
   - Configure SDKs
   - Implement event tracking
   - Set user profiles
   - Handle funnels

6. **Segment**
   - Configure data routing
   - Implement destinations
   - Handle identity

### A/B Testing

7. **Remote Config**
   - Configure feature flags
   - Implement experiments
   - Handle rollout percentages
   - Analyze results

## Target Processes

- `mobile-analytics-setup.js` - Analytics implementation
- `firebase-backend-integration.js` - Firebase services
- `mobile-performance-optimization.js` - Performance monitoring

## Dependencies

- Firebase SDK
- Analytics platform SDKs
- Firebase CLI

## Usage Examples

### Firebase Analytics Setup (iOS)

```swift
// AppDelegate.swift
import FirebaseCore
import FirebaseAnalytics

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        FirebaseApp.configure()
        return true
    }
}

// Analytics Helper
struct AnalyticsManager {
    static func logEvent(_ name: String, parameters: [String: Any]? = nil) {
        Analytics.logEvent(name, parameters: parameters)
    }

    static func setUserId(_ userId: String) {
        Analytics.setUserID(userId)
    }

    static func setUserProperty(_ value: String?, forName name: String) {
        Analytics.setUserProperty(value, forName: name)
    }

    static func logScreenView(screenName: String, screenClass: String) {
        Analytics.logEvent(AnalyticsEventScreenView, parameters: [
            AnalyticsParameterScreenName: screenName,
            AnalyticsParameterScreenClass: screenClass
        ])
    }
}
```

### Firebase Analytics Setup (Android)

```kotlin
// AnalyticsManager.kt
class AnalyticsManager @Inject constructor(
    private val analytics: FirebaseAnalytics
) {
    fun logEvent(name: String, params: Map<String, Any>? = null) {
        analytics.logEvent(name, params?.toBundle())
    }

    fun setUserId(userId: String?) {
        analytics.setUserId(userId)
    }

    fun setUserProperty(name: String, value: String?) {
        analytics.setUserProperty(name, value)
    }

    fun logScreenView(screenName: String, screenClass: String) {
        analytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
            param(FirebaseAnalytics.Param.SCREEN_NAME, screenName)
            param(FirebaseAnalytics.Param.SCREEN_CLASS, screenClass)
        }
    }
}

private fun Map<String, Any>.toBundle(): Bundle {
    return Bundle().apply {
        this@toBundle.forEach { (key, value) ->
            when (value) {
                is String -> putString(key, value)
                is Int -> putInt(key, value)
                is Long -> putLong(key, value)
                is Double -> putDouble(key, value)
                is Boolean -> putBoolean(key, value)
            }
        }
    }
}
```

### Event Schema

```typescript
// analytics/events.ts
export const AnalyticsEvents = {
  // User Events
  USER_SIGNED_UP: 'user_signed_up',
  USER_LOGGED_IN: 'user_logged_in',
  USER_LOGGED_OUT: 'user_logged_out',

  // Feature Events
  FEATURE_USED: 'feature_used',
  ITEM_VIEWED: 'item_viewed',
  ITEM_ADDED_TO_CART: 'item_added_to_cart',
  PURCHASE_COMPLETED: 'purchase_completed',

  // Engagement Events
  SHARE_CLICKED: 'share_clicked',
  NOTIFICATION_RECEIVED: 'notification_received',
  NOTIFICATION_OPENED: 'notification_opened',
} as const;

export interface EventParameters {
  user_signed_up: { method: 'email' | 'google' | 'apple' };
  item_viewed: { item_id: string; item_name: string; category: string };
  purchase_completed: { transaction_id: string; value: number; currency: string };
}
```

## Quality Gates

- Event naming conventions enforced
- Required parameters validated
- PII data excluded
- Consent management implemented

## Related Skills

- `firebase-mobile` - Firebase services
- `mobile-perf` - Performance monitoring

## Version History

- 1.0.0 - Initial release

Related Skills

analytics

509
from a5c-ai/babysitter

Google Analytics 4, tag management, and event tracking.

docs-analytics

509
from a5c-ai/babysitter

Documentation usage analytics and insights. Integrate with Google Analytics, Algolia analytics, and custom tracking to measure documentation effectiveness, identify content gaps, and optimize user journeys.

usage-analytics-collector

509
from a5c-ai/babysitter

Privacy-respecting SDK usage analytics collection

Appium Mobile Testing

509
from a5c-ai/babysitter

Appium mobile testing framework for iOS and Android automation

product-analytics

509
from a5c-ai/babysitter

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.

Mobile Offline Storage

509
from a5c-ai/babysitter

Cross-platform offline-first data management

Mobile Testing Frameworks

509
from a5c-ai/babysitter

Comprehensive mobile testing framework expertise

mobile-security

509
from a5c-ai/babysitter

Mobile application security skill for implementing OWASP MASVS compliance, secure storage, certificate pinning, biometric authentication, and security hardening across iOS and Android platforms.

Mobile Performance Profiling

509
from a5c-ai/babysitter

Mobile app performance analysis and optimization

GraphQL Mobile

509
from a5c-ai/babysitter

GraphQL client integration for mobile applications

Firebase Mobile

509
from a5c-ai/babysitter

Firebase backend services integration for mobile apps

Fastlane/Mobile CI-CD

509
from a5c-ai/babysitter

Automated mobile build, test, and deployment with Fastlane