Skip to main content
ClaudeWave
Skill1.5k repo starsupdated 1mo ago

onboarding-optimization

This skill optimizes first-run user experience to maximize activation, the moment a new user completes the core action predicting long-term retention. Use it when addressing app onboarding flows, Day 1 drop-off, sign-up conversion, permission prompt timing, tutorial effectiveness, or early user abandonment. The skill identifies true activation events beyond sign-up, audits current onboarding screens for friction, scores each step for necessity and timing, and applies permission-prompt best practices to reduce drop-off rates.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/Eronred/aso-skills /tmp/onboarding-optimization && cp -r /tmp/onboarding-optimization/skills/onboarding-optimization ~/.claude/skills/onboarding-optimization
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Onboarding Optimization

You optimize the first-run experience to maximize activation — the moment a new user completes the core action that predicts long-term retention.

## The Activation Principle

**Activation ≠ sign-up.** Activation is the first time the user gets real value from your app. Identify it before anything else.

| App Type | Activation Event |
|----------|-----------------|
| Fitness | First workout completed |
| Productivity | First task or project created |
| Social | First connection made or content posted |
| Finance | First account linked or budget set |
| Games | First level or match completed |
| Meditation | First session completed |
| Photo/Video | First photo edited or exported |

**Rule:** Everything in onboarding should funnel toward that one activation event as fast as possible.

## Initial Assessment

1. Check for `app-marketing-context.md`
2. Ask: **What is your activation event?**
3. Ask: **What % of new users reach it within 24 hours?** (baseline)
4. Ask: **Where do users drop off?** (which step, if known)
5. Ask: **How long does your current onboarding take?** (steps, screens)
6. Ask: **Do you have Firebase/Mixpanel funnels set up?**

## Onboarding Audit Framework

### Step 1 — Map the Current Flow

List every screen from app open to activation:

```
App open → [Screen 1] → [Screen 2] → ... → Activation event
```

Flag each screen: **Required** | **Value-adding** | **Friction only**

Remove or defer everything that is friction-only.

### Step 2 — Score Each Screen

| Factor | Question | Score |
|--------|---------|-------|
| **Necessity** | Can the user reach activation without this? | 0 = skip it |
| **Timing** | Is this the right moment for this ask? | |
| **Value exchange** | Does the user understand why this benefits them? | |
| **Cognitive load** | How many decisions does this require? | |

### Step 3 — Permission Prompt Timing

Permissions are the #1 drop-off point. Rules:

| Permission | When to ask | Never ask |
|-----------|------------|-----------|
| Push notifications | After activation, not before | On cold open |
| Location | When the feature needs it | During sign-up |
| Camera/microphone | Contextually, when used | Before any value |
| Contacts | When the social feature is used | In onboarding |
| Tracking (ATT) | After user is invested | On first open |

**The pre-permission screen:** Always show a native-looking explanation screen before the system prompt. Users who understand the "why" grant at 2–3× the rate.

### Step 4 — Sign-Up Friction

| Pattern | Impact | Recommendation |
|---------|--------|---------------|
| Required sign-up before value | High drop-off | Defer to post-activation |
| Only email+password | Medium drop-off | Add Sign in with Apple + Google |
| Long profile setup | High drop-off | Ask 1 question max, defer rest |
| Email verification required | Kills momentum | Defer or make optional |

**Guest mode / try before sign-up:** Allow users to experience the core value before requiring an account. Conversion from guest → registered is typically 40–60% vs. a hard gate at 15–30%.

## Onboarding Patterns by App Type

### Value-First (recommended for most apps)

```
Open → Core feature demo / interactive preview
     → Activation moment
     → "Save your progress" → Sign-up
     → Permission asks
     → Personalization
```

### Personalization-First (works for health, fitness, AI apps)

```
Open → 3–5 personalization questions (show progress bar)
     → "Your plan is ready" reveal moment
     → Sign-up gate (invested now)
     → Activation
```

### Social-First (social apps)

```
Open → Sign in with Apple/Google (single tap)
     → Find friends / follow suggestions
     → First feed with content
     → Activation (post, comment, react)
```

## Funnel Benchmarks

| Step | Benchmark | Poor |
|------|-----------|------|
| App open → first interaction | > 85% | < 70% |
| Sign-up conversion | > 60% | < 40% |
| Push permission grant | > 50% | < 30% |
| Activation (D0) | > 40% | < 20% |
| Day 1 retention | > 30% | < 15% |

## Personalization Questions

If you include personalization, follow these rules:
- Maximum **3–5 questions** in onboarding
- Each question must visibly affect the experience
- Show a progress indicator (step 1 of 3)
- Use visual selections, not text inputs
- Never ask for data you won't use immediately

## Paywall Placement in Onboarding

**Rule:** Show value before the paywall.

| Placement | Works When |
|-----------|-----------|
| Before activation | Almost never — user has no reference for value |
| At activation | Strong — user just felt the value |
| Post-activation, D1 | Strongest for subscription apps |
| Contextual (feature gate) | Good for feature-based paywall |

See `monetization-strategy` for paywall design details.

## Output Format

### Onboarding Audit

```
Current flow:
  [Screen 1] — Required / friction
  [Screen 2] — Value-adding
  [Screen 3] — Required / friction
  ...
  [Activation event] — Step N

Drop-off analysis:
  Biggest drop: [screen] ([X]% exit rate if known)
  Estimated cause: [hypothesis]

Recommended changes:
1. [Remove / defer X] — Expected impact: [lift in activation]
2. [Reorder Y before Z] — Expected impact: [rationale]
3. [Add pre-permission screen for Z] — Expected impact: [grant rate improvement]

Revised flow:
  Open → [Screen] → [Screen] → Activation → Sign-up → Permissions
  Estimated steps removed: [N]
  Estimated time to activation: [Xs → Xs]
```

### Permission Screen Copy Template

```
[Icon representing the permission]

[Benefit headline — what the user gets]
e.g., "Get notified when your goal is complete"

[One-line explanation]
e.g., "We'll only send you reminders you set — no spam."

[Allow button]     [Not now]
```

## Related Skills

- `retention-optimization` — Day 7/30 retention strategy
- `monetization-strategy` — Paywall placement and trial design
- `ab-test-store-listing` — Test onboarding variants
- `app-analytics` — Set up activation funnel tracking
ab-test-store-listingSkill

When the user wants to A/B test App Store product page elements to improve conversion rate. Also use when the user mentions "A/B test", "product page optimization", "test my screenshots", "test my icon", "conversion rate optimization", "CPP", or "custom product pages". For screenshot design, see screenshot-optimization. For metadata optimization, see metadata-optimization.

android-asoSkill

When the user wants to optimize their Google Play Store listing — title, short description, full description, keywords, ratings, or Play Store-specific features. Use when the user mentions "Google Play", "Android", "Play Store", "Play Console", "short description", "full description indexed", "Google Play ASO", or wants Google Play-specific keyword, creative, or ratings strategy. For iOS App Store optimization, see aso-audit and metadata-optimization.

app-analyticsSkill

When the user wants to set up, interpret, or improve their app analytics and tracking. Also use when the user mentions "analytics", "tracking", "metrics", "KPIs", "App Store Connect analytics", "install tracking", "funnel", "attribution", or "how is my app performing". For A/B testing, see ab-test-store-listing. For retention metrics, see retention-optimization.

app-clipsSkill

When the user wants to implement, optimize, or use App Clips for app discovery and conversion. Use when the user mentions "App Clip", "app clip code", "mini app", "instant app", "App Clip card", "App Clip link", "no download required", "instant experience", or wants to understand how App Clips appear in App Store search. For general App Store discoverability, see aso-audit. For marketing campaigns, see ua-campaign.

app-icon-optimizationSkill

When the user wants to design, test, or improve their app icon to increase tap-through rate and conversions in App Store search and browse. Use when the user mentions "app icon", "icon design", "icon A/B test", "icon variants", "tap-through rate", "icon conversion", "icon refresh", or wants to know what makes a good app icon. For screenshot optimization, see screenshot-optimization. For full listing A/B tests, see ab-test-store-listing.

app-launchSkill

When the user wants to plan a launch strategy for a new app or major update. Also use when the user mentions "app launch", "launch plan", "launch checklist", "pre-launch", "launch day", or "how to launch my app". For ongoing ASO after launch, see aso-audit. For paid acquisition during launch, see ua-campaign.

app-marketing-contextSkill

When the user wants to create or update their app marketing context document. Also use when the user mentions "app context", "marketing brief", "app positioning", or when starting any ASO or app marketing project. This is the foundation skill — all other skills check for this context first.

app-preview-videoSkill

When the user wants to plan, script, produce, or optimize App Store Preview videos or Google Play promo videos — the autoplay videos that show in App Store/Play Store search and product pages. Use when the user mentions "App Preview", "preview video", "app store video", "promo video", "Play Store video", "video poster frame", "YouTube promo for Play Store", "30 second app video", "video script", "video specs", or "should I add a preview video". For static screenshots, see screenshot-optimization. For A/B testing the video, see ab-test-store-listing. For broader creative briefs, see screenshot-optimization (covers stills).