Skill: ivangdavila/mobile-app-analytics (version 1.0.0)

--- name: Mobile App Analytics slug: mobile-app-analytics version: 1.0.0 homepage: https://clawic.com/skills/mobile-app-analytics description: Track mobile app metrics with Firebase, App Store Connect, Play Console, retention, funnels, and cohort analysis. metadata: {"clawdbot":{"emoji":"📱","requires":{"bins":[]},"os":["linux","darwin","win32"]}} --- ## Setup On first use, read `setup.md` for integration guidelines. Create `~/mobile-app-analytics/` if it doesn't exist. ## When to Use User needs to track, analyze, or optimize mobile app performance metrics. Agent handles Firebase Analytics queries, App Store Connect data, Play Console reports, retention analysis, funnel debugging, and cohort comparisons. ## Architecture Memory lives in `~/mobile-app-analytics/`. See `memory-template.md` for setup. ``` ~/mobile-app-analytics/ ├── memory.md # Apps tracked, goals, alerts ├── apps/ # Per-app analytics configs │ └── {app-name}.md # Events, funnels, KPIs per app └── benchmarks.md # Industry benchmarks reference ``` ## Quick Reference | Topic | File | |-------|------| | Setup process | `setup.md` | | Memory template | `memory-template.md` | | Firebase Analytics | `firebase.md` | | App Store Connect | `app-store.md` | | Play Console | `play-console.md` | | Core metrics | `metrics.md` | ## Core Rules ### 1. Platform Detection Detect from context which platform(s) the app targets: - iOS only → focus on App Store Connect + Firebase - Android only → focus on Play Console + Firebase - Cross-platform → cover both stores + unified Firebase ### 2. Metric Hierarchy Always prioritize metrics in this order: 1. **Revenue metrics** (LTV, ARPU, conversion) — what pays the bills 2. **Retention metrics** (D1, D7, D30) — determines long-term success 3. **Engagement metrics** (DAU/MAU, session length) — leading indicators 4. **Acquisition metrics** (installs, sources) — growth levers ### 3. Cohort-First Analysis Never report aggregate numbers alone. Always segment by: - Install cohort (when users joined) - Acquisition source (organic, paid, referral) - User tier (free, trial, paid) - Platform (iOS vs Android) ### 4. Alert Thresholds Proactively flag anomalies: | Metric | Alert if | |--------|----------| | D1 retention | < 25% (below industry floor) | | Crash-free rate | < 99% | | DAU/MAU ratio | Drops > 10% week-over-week | | LTV:CAC ratio | < 3:1 | ### 5. Data Freshness Know platform data delays: | Source | Typical Delay | |--------|---------------| | Firebase real-time | Minutes | | Firebase daily reports | 24-48h for full data | | App Store Connect | 24-48h | | Play Console | 24-48h | ### 6. Privacy Compliance - Never track PII in custom events - Respect ATT (iOS) and consent requirements - User properties: demographics OK, personal identifiers NOT OK - GDPR: support data deletion requests ### 7. Event Naming Conventions Enforce consistent naming across platforms: ``` {verb}_{noun}[_{qualifier}] Examples: - view_screen_home - tap_button_subscribe - complete_purchase_annual - start_onboarding_step1 ``` ## Common Traps - **Vanity metrics obsession** → Total downloads means nothing; track active users and retention instead - **Ignoring platform differences** → iOS users often have 20-30% higher LTV; don't merge data blindly - **Wrong attribution window** → 7-day attribution misses subscription conversions; use 30-day for subscriptions - **Survivorship bias** → Analyzing only current users ignores why churned users left - **Timezone mismatches** → Firebase uses UTC by default; App Store uses your configured timezone ## External Endpoints | Endpoint | Data Sent | Purpose | |----------|-----------|---------| | Firebase Analytics API | App ID, date range | Fetch metrics | | App Store Connect API | App ID, credentials | iOS analytics | | Play Console API | App ID, credentials | Android analytics | No other data is sent externally. ## Security & Privacy **Data that leaves your machine:** - Analytics queries to Firebase/Apple/Google APIs when you provide credentials **Data that stays local:** - Your tracked apps and goals in `~/mobile-app-analytics/` - Benchmark comparisons and notes **This skill does NOT:** - Store credentials (use your platform's standard credential methods) - Access files outside `~/mobile-app-analytics/` - Make requests to undeclared endpoints ## Scope This skill ONLY: - Provides guidance on mobile app analytics platforms - Stores your app configurations in `~/mobile-app-analytics/` - Queries Firebase, App Store Connect, and Play Console when you provide credentials This skill NEVER: - Stores credentials in files (use environment variables) - Accesses files outside `~/mobile-app-analytics/` - Makes requests to undeclared endpoints - Modifies global agent memory or other skills ## Related Skills Install with `clawhub install <slug>` if user confirms: - `app-store-connect` — iOS App Store management - `flutter` — Cross-platform app development - `saas` — SaaS business metrics and growth ## Feedback - If useful: `clawhub star mobile-app-analytics` - Stay updated: `clawhub sync`

path: app-store.md
content: # App Store Connect Analytics — Mobile App Analytics

## When to Use

User needs iOS app performance data, App Store metrics, or Apple-specific analytics. App Store Connect is the source of truth for iOS distribution.

## Key Reports

### App Analytics

| Metric | What It Measures | Timeframe |
|--------|------------------|-----------|
| Impressions | Times app shown in search/browse | Daily |
| Product Page Views | Visits to your app page | Daily |
| Conversion Rate | Views → Downloads | Daily |
| Downloads | Total installs | Daily |
| Redownloads | Users reinstalling | Daily |
| Updates | Users updating app | Daily |

### Sales & Trends

| Metric | What It Measures |
|--------|------------------|
| Units | Downloads + in-app purchases |
| Sales | Revenue (before Apple's cut) |
| Proceeds | Revenue after Apple's 15-30% |

### Retention

App Store Connect shows retention at:
- Day 1, Day 7, Day 14, Day 28
- By app version
- By source type (App Store Search, Browse, etc.)

## Data Sources

### Source Types

| Source | Description |
|--------|-------------|
| App Store Search | User searched keywords |
| App Store Browse | Featured, Top Charts, categories |
| App Referrer | Deep link from another app |
| Web Referrer | Link from website |
| Unavailable | Can't determine source |

### Attribution Windows

- Downloads: Same-day attribution
- In-app events: 30-day window to originating source

## API Access

### App Store Connect API

Generate key in App Store Connect → Users and Access → Keys.

```bash
# Get app analytics
curl -X GET "https://api.appstoreconnect.apple.com/v1/apps/{app_id}/analyticsReportRequests" \
  -H "Authorization: Bearer {jwt_token}"
```

### JWT Generation
```python
import jwt
import time

def generate_token(key_id, issuer_id, private_key):
    payload = {
        'iss': issuer_id,
        'iat': int(time.time()),
        'exp': int(time.time()) + 1200,
        'aud': 'appstoreconnect-v1'
    }
    return jwt.encode(payload, private_key, algorithm='ES256', 
                      headers={'kid': key_id})
```

## Key Metrics to Track

### Acquisition Funnel

```
Impressions → Product Page Views → Downloads

Conversion benchmarks:
- Search impression → view: 5-15%
- View → download: 20-40% (varies by category)
```

### By Region

Top markets often differ:
- US: Highest revenue per user
- India: Highest volume, lowest ARPU
- China: Requires separate App Store account
- Europe: GDPR compliance required

## Common Issues

| Problem | Cause | Solution |
|---------|-------|----------|
| Data delayed 48h | Apple's processing | Plan for lag in dashboards |
| Missing proceeds | Currency conversion delay | Wait 3-5 days after month end |
| Wrong country data | User VPN/travel | Accept ~5% noise |
| Low conversion | Poor screenshots/description | A/B test with Product Page Optimization |

## Product Page Optimization (PPO)

Apple's native A/B testing:
- Test up to 3 treatments
- Test: icon, screenshots, preview videos, descriptions
- Minimum 7 days, 90% confidence target
- Only available in some countries

## Benchmarks by Category

| Category | Typical Conversion | D1 Retention |
|----------|-------------------|--------------|
| Games | 25-35% | 25-35% |
| Social | 20-30% | 20-30% |
| Productivity | 15-25% | 15-25% |
| Health & Fitness | 20-30% | 20-30% |
| Finance | 10-20% | 30-40% |

## Privacy Changes (iOS 14.5+)

### ATT Impact
- ~25% of users opt-in to tracking
- SKAdNetwork for attribution
- Aggregated, delayed conversion data

### SKAdNetwork
- 24-48h delay on install attribution
- Limited conversion value (0-63)
- No user-level data


path: firebase.md
content: # Firebase Analytics — Mobile App Analytics

## When to Use

User asks about Firebase Analytics, Google Analytics for Firebase, or needs real-time app metrics. Firebase is the default analytics for most mobile apps.

## Key Concepts

### Event Types

| Type | Examples | Auto-tracked? |
|------|----------|---------------|
| Automatic | first_open, session_start, app_update | Yes |
| Recommended | login, sign_up, purchase, share | Log manually |
| Custom | view_product, complete_level | Define yourself |

### User Properties

Built-in: age, gender, interests, country, device, app_version
Custom: subscription_status, user_tier, preferred_language

## Essential Reports

### Real-time
- Active users right now
- Events in last 30 minutes
- Good for: launch monitoring, campaign spikes

### Retention
- D1, D7, D30 cohort retention
- Compare by acquisition source
- Good for: onboarding optimization

### Funnel Analysis
- Multi-step conversion paths
- Drop-off between steps
- Good for: identifying friction points

### User Engagement
- DAU, WAU, MAU
- Session duration, screens per session
- Good for: feature adoption tracking

## BigQuery Export

For advanced analysis, export to BigQuery:
```sql
-- Daily active users by platform
SELECT
  DATE(TIMESTAMP_MICROS(event_timestamp)) as date,
  platform,
  COUNT(DISTINCT user_pseudo_id) as dau
FROM `project.analytics_*.events_*`
WHERE event_name = 'session_start'
GROUP BY 1, 2
ORDER BY 1 DESC
```

## Common Queries

### Check D1 Retention
```sql
-- D1 retention by install date
WITH installs AS (
  SELECT 
    user_pseudo_id,
    DATE(TIMESTAMP_MICROS(event_timestamp)) as install_date
  FROM `project.analytics_*.events_*`
  WHERE event_name = 'first_open'
),
returns AS (
  SELECT 
    user_pseudo_id,
    DATE(TIMESTAMP_MICROS(event_timestamp)) as return_date
  FROM `project.analytics_*.events_*`
  WHERE event_name = 'session_start'
)
SELECT
  i.install_date,
  COUNT(DISTINCT i.user_pseudo_id) as installs,
  COUNT(DISTINCT r.user_pseudo_id) as d1_returns,
  ROUND(COUNT(DISTINCT r.user_pseudo_id) / COUNT(DISTINCT i.user_pseudo_id) * 100, 1) as d1_retention
FROM installs i
LEFT JOIN returns r ON i.user_pseudo_id = r.user_pseudo_id
  AND r.return_date = DATE_ADD(i.install_date, INTERVAL 1 DAY)
GROUP BY 1
ORDER BY 1 DESC
```

### Revenue by Cohort
```sql
-- LTV by monthly cohort
SELECT
  FORMAT_DATE('%Y-%m', install_date) as cohort,
  COUNT(DISTINCT user_pseudo_id) as users,
  SUM(revenue) as total_revenue,
  ROUND(SUM(revenue) / COUNT(DISTINCT user_pseudo_id), 2) as arpu
FROM (
  SELECT 
    user_pseudo_id,
    MIN(DATE(TIMESTAMP_MICROS(event_timestamp))) as install_date,
    SUM((SELECT value.double_value FROM UNNEST(event_params) WHERE key = 'value')) as revenue
  FROM `project.analytics_*.events_*`
  GROUP BY 1
)
GROUP BY 1
ORDER BY 1 DESC
```

## Debugging Events

### DebugView
Enable debug mode to see events in real-time:
```bash
# iOS Simulator
adb shell setprop debug.firebase.analytics.app com.your.app

# Android
adb shell setprop debug.firebase.analytics.app com.your.app
```

### Common Issues

| Problem | Likely Cause | Fix |
|---------|--------------|-----|
| Events not appearing | 1h batching delay | Wait or use DebugView |
| Missing user properties | Not set before event | Set properties at app start |
| Wrong event counts | Duplicate logging | Check for multiple init calls |
| Revenue $0 | Currency not set | Include currency param |

## Limits

| Limit | Value |
|-------|-------|
| Custom events | 500 per app |
| Event parameters | 25 per event |
| User properties | 25 per user |
| Parameter name length | 40 chars |
| Parameter value length | 100 chars |

## Integration with Other Tools

- **BigQuery**: Free daily export, 13-month retention
- **Google Ads**: Share audiences for remarketing
- **Crashlytics**: Link crashes to user behavior
- **Remote Config**: Target by user properties


path: memory-template.md
content: # Memory Template — Mobile App Analytics

Create `~/mobile-app-analytics/memory.md` with this structure:

```markdown
# Mobile App Analytics Memory

## Status
status: ongoing
version: 1.0.0
last: YYYY-MM-DD
integration: pending | done | declined

## Apps Tracked
<!-- List each app you're helping analyze -->
<!-- app: AppName | platforms: iOS, Android | stack: Firebase, Mixpanel -->

## Current Focus
<!-- What metrics or goals are they working on right now -->

## Alert Preferences
<!-- What anomalies should trigger proactive alerts -->
<!-- e.g., D1 retention < 30%, crash rate > 1% -->

## Notes
<!-- Observations, patterns noticed, things to remember -->

---
*Updated: YYYY-MM-DD*
```

## Per-App Template

Create `~/mobile-app-analytics/apps/{app-name}.md` for each app:

```markdown
# {App Name} Analytics

## Overview
platforms: iOS | Android | both
store_ids: 
  ios: 123456789
  android: com.company.app
analytics_stack: Firebase, Mixpanel, Amplitude

## Key Events
<!-- Custom events being tracked -->
| Event | Description | Params |
|-------|-------------|--------|
| complete_onboarding | User finishes onboarding | step_count |
| start_subscription | User begins sub flow | plan_type |
| complete_purchase | Successful purchase | revenue, plan |

## Funnel Stages
<!-- Main conversion funnel -->
1. Install
2. Registration
3. Onboarding complete
4. First value moment
5. Subscription start
6. Paid conversion

## Target KPIs
| Metric | Current | Target | Status |
|--------|---------|--------|--------|
| D1 retention | 35% | 40% | 🟡 |
| D7 retention | 18% | 25% | 🔴 |
| Trial-to-paid | 8% | 12% | 🟡 |

## Recent Insights
<!-- Notable findings, trends, experiments -->

---
*Updated: YYYY-MM-DD*
```

## Status Values

| Value | Meaning | Behavior |
|-------|---------|----------|
| `ongoing` | Still learning their stack | Gather context opportunistically |
| `complete` | Has enough context | Work normally |
| `paused` | User said "not now" | Don't ask, work with what you have |

## Key Principles

- **No config keys visible** — use natural language, not technical jargon
- **Learn from behavior** — notice what metrics they ask about most
- **Store IDs are optional** — don't push for them, add when naturally shared
- Update `last` on each use


path: metrics.md
content: # Core Metrics — Mobile App Analytics

## When to Use

User asks about mobile app KPIs, needs metric definitions, or wants to understand what numbers to track. This is the reference for all standard mobile metrics.

## Engagement Metrics

### DAU / MAU

| Metric | Definition | Good Benchmark |
|--------|------------|----------------|
| DAU | Unique users opening app per day | Depends on category |
| WAU | Unique users per week | 2-3x DAU |
| MAU | Unique users per month | 3-5x WAU |
| DAU/MAU | Stickiness ratio | >20% is good |

**DAU/MAU by category:**
| Category | Typical DAU/MAU |
|----------|-----------------|
| Social | 40-60% |
| Games (casual) | 15-25% |
| Games (hardcore) | 30-50% |
| Productivity | 20-30% |
| News | 25-40% |
| Fitness | 15-25% |

### Session Metrics

| Metric | Definition | Benchmark |
|--------|------------|-----------|
| Sessions/DAU | App opens per active user | 2-5x |
| Session length | Time per session | 3-15 min |
| Session interval | Time between sessions | Varies |

## Retention Metrics

### Cohort Retention

| Day | Definition | Good Benchmark |
|-----|------------|----------------|
| D1 | % returning next day | >25% |
| D7 | % returning after 7 days | >15% |
| D30 | % returning after 30 days | >10% |
| D90 | % returning after 90 days | >5% |

**Formula:**
```
D{N} Retention = Users active on day N / Users who installed on day 0
```

### Rolling Retention

Users still active ON OR AFTER day N:
```
Rolling D7 = Users active on day 7+ / Install cohort
```

Always higher than classic retention.

### Churn Rate

```
Monthly Churn = (Lost users in month) / (Users at month start)
```

For subscriptions:
```
Subscription Churn = Cancellations / Active subscriptions
```

**Benchmarks:**
| Type | Acceptable | Good |
|------|------------|------|
| Monthly (free app) | <10% | <5% |
| Monthly (subscription) | <8% | <5% |
| Annual (subscription) | <20% | <15% |

## Revenue Metrics

### ARPU / ARPPU

| Metric | Formula | Use Case |
|--------|---------|----------|
| ARPU | Revenue / All users | Overall monetization |
| ARPPU | Revenue / Paying users | Payer value |
| ARPDAU | Revenue / DAU | Daily efficiency |

### LTV (Lifetime Value)

**Simple formula:**
```
LTV = ARPU × Average lifespan (months)
```

**Subscription formula:**
```
LTV = ARPU × (1 / Monthly churn rate)
```

**Example:**
- ARPU: $5/month
- Monthly churn: 5%
- LTV = $5 × (1 / 0.05) = $100

### LTV:CAC Ratio

```
LTV:CAC = Lifetime Value / Customer Acquisition Cost
```

| Ratio | Meaning |
|-------|---------|
| < 1:1 | Losing money |
| 1-3:1 | Unsustainable |
| 3-5:1 | Healthy |
| > 5:1 | Under-investing in growth |

### MRR / ARR

| Metric | Formula |
|--------|---------|
| MRR | Sum of all monthly subscription revenue |
| ARR | MRR × 12 |
| Net MRR | New + Expansion - Churn - Contraction |

## Acquisition Metrics

### CAC (Customer Acquisition Cost)

```
CAC = Marketing spend / New customers acquired
```

**By channel:**
| Channel | Typical CAC |
|---------|-------------|
| Organic | $0-2 |
| ASO | $0.50-2 |
| Facebook Ads | $2-10 |
| Google Ads | $1-8 |
| Influencer | $3-15 |

### Conversion Funnel

```
Impressions → Store visits → Installs → Registrations → Purchases

Track conversion rate at each step:
- Store visit rate = Visits / Impressions
- Install rate = Installs / Visits
- Registration rate = Registrations / Installs
- Purchase rate = Purchases / Registrations
```

### K-Factor (Virality)

```
K = Invites per user × Conversion rate of invites
```

| K-Factor | Meaning |
|----------|---------|
| < 1 | Not viral, need paid acquisition |
| = 1 | Self-sustaining |
| > 1 | Viral growth |

## Quality Metrics

### Crash-Free Rate

```
Crash-free = Sessions without crash / Total sessions
```

| Rate | Status |
|------|--------|
| < 99% | Critical, fix immediately |
| 99-99.5% | Needs attention |
| 99.5-99.9% | Acceptable |
| > 99.9% | Excellent |

### App Rating

| Rating | Impact |
|--------|--------|
| < 3.5 | Conversion penalty |
| 3.5-4.0 | Below average |
| 4.0-4.5 | Good |
| > 4.5 | Excellent, featured potential |

## Formulas Quick Reference

```
DAU/MAU Ratio = DAU / MAU

D1 Retention = Day 1 active / Day 0 installs

Churn Rate = Lost users / Starting users

LTV = ARPU / Churn rate

LTV:CAC = LTV / CAC

K-Factor = Invites × Invite conversion

ARPU = Revenue / Active users

ARPPU = Revenue / Paying users
```

## Metric Priorities by Stage

| Stage | Focus On |
|-------|----------|
| Pre-launch | Crash rate, early retention |
| Launch | D1/D7 retention, conversion |
| Growth | CAC, LTV:CAC, virality |
| Maturity | Churn, ARPU expansion, retention |
| Decline | Reactivation, feature usage |


path: play-console.md
content: # Google Play Console Analytics — Mobile App Analytics

## When to Use

User needs Android app performance data, Play Store metrics, or Google-specific analytics. Play Console is the source of truth for Android distribution.

## Key Reports

### Statistics Dashboard

| Metric | What It Measures |
|--------|------------------|
| Installs by user | Unique users who installed |
| Uninstalls | Users who removed app |
| Active devices | Devices with app installed |
| Update rate | % of users on latest version |
| Crashes | ANRs and crashes by version |

### Acquisition Reports

| Source | Description |
|--------|-------------|
| Play Store (organic) | Store search and browse |
| Google Ads | Paid campaigns |
| Third-party referrers | External links |
| Pre-registered | Users who pre-registered |

### User Acquisition

Tracks full funnel:
```
Store listing visitors → Installers → Buyers

With breakdown by:
- Country
- Language  
- UTM source
- Play Store placement
```

## Retention Data

Play Console provides:
- Day 1, Day 7, Day 30 retention
- By country
- By acquisition channel
- By device type

### Cohort Analysis

Compare retention across:
- App versions
- Install dates
- Countries
- Acquisition sources

## Android Vitals

Critical metrics Google uses for ranking:

| Vital | Bad Threshold | Impact |
|-------|---------------|--------|
| ANR rate | > 0.47% | Ranking penalty |
| Crash rate | > 1.09% | Ranking penalty |
| Excessive wakeups | > 10/hour | Battery warning |
| Stuck partial wake locks | > 0.10% | Battery warning |

### Fixing Vitals Issues

```kotlin
// Bad: Crash from null
val name = user.name.uppercase()

// Good: Safe handling
val name = user?.name?.uppercase() ?: "Unknown"
```

## Custom Store Listings

A/B test with Experiments:
- Test: icon, feature graphic, screenshots, description
- Up to 5 variants
- Target by country or language
- 90% confidence required

### What to Test

| Element | Impact | Test Duration |
|---------|--------|---------------|
| Icon | High | 2+ weeks |
| Feature graphic | Medium | 1-2 weeks |
| Screenshots | High | 2+ weeks |
| Short description | Medium | 1 week |
| Full description | Low | Don't bother |

## API Access

### Google Play Developer API

```bash
# Get app stats
curl -X GET \
  "https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{package}/reviews" \
  -H "Authorization: Bearer {access_token}"
```

### BigQuery Export

Enable in Play Console → Download Reports → Copy to BigQuery

```sql
-- Installs by country, last 30 days
SELECT
  date,
  country,
  SUM(daily_device_installs) as installs
FROM `play_store_stats.installs_*`
WHERE _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
GROUP BY 1, 2
ORDER BY 3 DESC
```

## Pre-Launch Reports

Before release, Play Console runs:
- Automated testing on Firebase Test Lab
- Accessibility checks
- Performance benchmarks
- Security vulnerability scan

## Pricing & Monetization

### Pricing Experiments

Test price changes:
- By country
- By user segment
- With statistical significance

### Subscription Metrics

| Metric | What to Track |
|--------|---------------|
| New subscriptions | Growth rate |
| Renewals | Retention health |
| Cancellations | Churn rate |
| Grace period recoveries | Payment failure saves |
| Subscription pause | Temporary churn |

## Country-Specific Notes

| Country | Notes |
|---------|-------|
| China | Play Store blocked, use alternatives |
| India | High volume, low ARPU, test pricing |
| Brazil | Local payment methods matter |
| Japan | High ARPU, quality expectations |

## Benchmarks

| Category | Install Rate | D1 Retention |
|----------|--------------|--------------|
| Games | 30-40% | 25-35% |
| Social | 25-35% | 20-30% |
| Tools | 35-45% | 15-25% |
| Shopping | 20-30% | 10-20% |

## Common Issues

| Problem | Cause | Solution |
|---------|-------|----------|
| Installs ≠ Firebase | Different definitions | Firebase = opened app |
| Revenue mismatch | Refunds, currency | Wait for settlement |
| Missing countries | Low volume threshold | Aggregate small markets |
| Delayed data | Processing time | 24-48h is normal |


path: setup.md
content: # Setup — Mobile App Analytics

Read this on first use when `~/mobile-app-analytics/` doesn't exist.

## Your Attitude

You're helping someone understand their app's performance. They want insights, not dashboards. Be the analyst who spots what matters.

## Priority Order

### 1. First: Integration (CRITICAL — within first 2-3 exchanges)

**This determines when the skill activates in the future.**

Early in the conversation, ask:
- "Should I jump in whenever you mention app metrics or analytics?"
- "Want me to track specific KPIs proactively, or only when you ask?"

Save their preference to `~/mobile-app-analytics/memory.md` under integration status.

### 2. Then: Understand Their App

Ask about the big picture:
- "What's your app? What platforms?" (iOS, Android, both)
- "What analytics tools do you use?" (Firebase, Mixpanel, etc.)
- "What metrics matter most to you right now?"

After each response:
- Reflect back what you understood
- Connect it to how you'll help them
- Then ask the next question

### 3. Finally: Current Goals

Once you understand the app:
- "Any specific numbers you're trying to hit?" (D1 retention, conversion rate)
- "Anything that's been concerning in the data lately?"

## What You're Saving (internally)

Create `~/mobile-app-analytics/memory.md` with:
- App name and platforms
- Analytics tools they use
- Key metrics they care about
- Current goals or concerns
- When to activate

Create `~/mobile-app-analytics/apps/{app-name}.md` for each app with:
- Platform(s)
- Analytics stack
- Key events tracked
- Funnel stages
- Target KPIs

## When "Done"

Once you know:
1. When to activate (integration)
2. Their app and analytics stack
3. What metrics matter to them

...you're ready to help. Everything else builds over time.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)