<!-- AUTO-GENERATED by export-skills.py — DO NOT EDIT -->
---
applyTo: '**/*.md'
---

# app-store-optimization

> Optimize mobile app listings for iOS App Store and Google Play — keyword research, screenshot design, rating management, and conversion optimization. Use when launching a mobile app, improving app store rankings, or optimizing download conversion rates.

# App Store Optimization (ASO)

Comprehensive ASO framework for iOS App Store and Google Play — keyword research, listing optimization, visual asset strategy, rating management, and A/B testing store pages. The mobile equivalent of SEO.

## Use this skill when

- Launching a new mobile app on iOS or Google Play
- Optimizing an existing app listing to improve rankings
- Conducting keyword research for app store visibility
- Designing or testing screenshots and app preview videos
- Managing app ratings and reviews strategically
- Comparing performance across Apple and Google platforms
- Preparing ASO audit reports

## Do not use this skill when

- Optimizing a website for Google search (use `seo-audit`)
- Running paid user acquisition campaigns (use `campaign-analytics`)
- Designing the app's UX/UI itself (use UX/frontend skills)
- Building the app's technical architecture (use engineering skills)

## Instructions

1. **Research keywords** using the ASO Keyword Research Framework.
2. **Optimize listing elements** — title, subtitle, description, category.
3. **Design visual assets** — screenshots, preview video, icon.
4. **Set up rating management** — review response templates and prompt strategy.
5. **Run store listing experiments** — A/B test on Google Play, Product Page Optimization on iOS.
6. **Produce the ASO Audit Report** with keyword priority matrix.

---

## Platform Differences: Apple vs. Google

Understanding these differences is critical — ASO strategy must be platform-specific:

| Factor | Apple App Store | Google Play |
|--------|----------------|-------------|
| **Title** | 30 characters | 30 characters |
| **Subtitle** | 30 characters | N/A (use short description) |
| **Short Description** | N/A | 80 characters |
| **Long Description** | Not indexed for search | **Indexed for search** — keywords matter here |
| **Keyword Field** | 100 characters (hidden, comma-separated) | N/A — keywords from title + description |
| **Category** | Primary + secondary | Primary + secondary + tags |
| **Screenshots** | Up to 10 per device | Up to 8 per device |
| **Preview Video** | Up to 3 (30 sec, auto-play muted) | 1 (auto-play on listing) |
| **A/B Testing** | Product Page Optimization (3 treatments) | Store Listing Experiments (5 variants) |
| **Rating Reset** | Can reset on major version | Cannot reset — cumulative |
| **Review Response** | Developer can respond | Developer can respond |

---

## ASO Keyword Research Framework

### Step 1: Keyword Discovery

| Source | Method | What You Get |
|--------|--------|-------------|
| **Competitor analysis** | Analyze top 10 competitors' titles, subtitles, descriptions | High-value keywords proven in your category |
| **Auto-suggest mining** | Type partial keywords in store search | Real user search patterns |
| **Related searches** | Check "You might also like" and related apps | Adjacent keyword opportunities |
| **Review mining** | Analyze your and competitors' reviews for language | Words real users use (not marketing speak) |
| **Web keyword tools** | Google Keyword Planner, Sensor Tower, App Annie | Volume estimates (directional, not exact) |

### Step 2: Keyword Scoring

| Keyword | Search Volume (1-10) | Relevance (1-10) | Difficulty (1-10) | Score | Priority |
|---------|---------------------|-------------------|-------------------|-------|----------|
| | | | | Vol x Rel / Diff | |

**Priority Rules:**
- Score >7: Primary keywords — must be in title or subtitle
- Score 4-7: Secondary keywords — keyword field (iOS) or description (Android)
- Score <4: Monitor — don't optimize for these yet

### Step 3: Keyword Placement Strategy

| Placement | Impact on Ranking | Character Limit | Strategy |
|-----------|------------------|-----------------|----------|
| **App Title** | Highest | 30 chars | Brand name + #1 primary keyword |
| **Subtitle (iOS)** | High | 30 chars | 2-3 secondary keywords, natural phrasing |
| **Keyword Field (iOS)** | High | 100 chars | Comma-separated, no spaces after commas, no duplicates from title/subtitle |
| **Short Description (Android)** | Medium | 80 chars | Primary CTA + 1-2 keywords |
| **Long Description (Android)** | Medium | 4000 chars | Natural keyword density, mention keywords 3-5 times |
| **In-App Purchase Names** | Low | — | Additional keyword surface area |

### Keyword Field Optimization (iOS)

```
Rules for 100-character keyword field:
- No spaces after commas (saves characters)
- No duplicates of words already in title or subtitle
- Use singular form only (Apple handles plurals)
- No prepositions (the, a, an, of) — Apple ignores them
- Include common misspellings if characters allow
- Test with Sensor Tower or AppTweak for indexing confirmation
```

---

## Store Listing Optimization

### Title Formula

```
[Brand Name] — [Primary Keyword/Value Prop]

Examples:
✅ "Notion — Notes, Docs, Tasks"
✅ "Calm — Sleep & Meditation"
✅ "Duolingo — Language Lessons"

❌ "MyApp: The Best App For Everything You Need" (too generic)
❌ "MA" (too short, no keywords)
```

### Description Structure (Google Play — indexed for search)

```
Paragraph 1: Hook + primary value proposition (include primary keywords)
Paragraph 2: Key features with benefits (include secondary keywords)
Paragraph 3: Social proof (awards, press, user count)
Paragraph 4: Call to action + differentiator
```

### Category Selection

| Decision Factor | Guidance |
|----------------|----------|
| Primary category | Choose the most specific category that fits |
| Secondary category | Choose for additional visibility (cross-category browsing) |
| Competitive density | If your primary category is overcrowded, secondary can help rank higher in a less competitive space |
| User expectation | Category affects which users find you — align with user intent |

---

## Visual Asset Optimization

### Screenshot Strategy

| Position | Purpose | Content Strategy |
|----------|---------|-----------------|
| **Screenshot 1-2** | First impression (shown in search results) | Hero benefit — the #1 reason to download |
| **Screenshot 3-4** | Feature showcase | Key features with clear benefit text |
| **Screenshot 5-6** | Social proof / differentiation | Awards, ratings, press quotes, unique features |
| **Screenshot 7-10** | Deep features | Advanced functionality for engaged browsers |

### Screenshot Design Principles

| Principle | Details |
|-----------|---------|
| **Text overlay** | Large, readable text (min 60pt equivalent) — users scan, not read |
| **Benefit-first** | Lead with outcome ("Save 2 hours daily") not feature ("Task management") |
| **Sequential story** | Screenshots should tell a story left-to-right |
| **Device frame** | Optional — some categories perform better without frames |
| **Localization** | Translate text overlays for each market (not just the app itself) |
| **Dark backgrounds** | Often outperform light in A/B tests (higher contrast on store pages) |

### App Preview Video

| Platform | Duration | Auto-Play | Best Practice |
|----------|----------|-----------|---------------|
| iOS | 15-30 seconds | Yes (muted) | First 3 seconds = hook; show core workflow; add text overlays for muted viewing |
| Android | 30 seconds - 2 minutes | Yes (with sound) | Start with benefit, demonstrate 3 key features, end with CTA |

### Icon Design

| Principle | Rationale |
|-----------|-----------|
| Simple, recognizable at 29x29px | Icon appears at many sizes — must be legible small |
| Limited color palette (2-3 colors) | Visual clarity in store browse |
| No text in icon | Unreadable at small sizes; redundant with app name |
| Test against competitors | Your icon appears alongside competitors in search results |

---

## Rating & Review Management

### Review Response Templates

**Positive Review (4-5 stars):**
```
Thank you for the kind words, [Name]! We're glad [specific feature/benefit]
is working well for you. If you have any ideas for improvement, we'd love
to hear them at [feedback channel].
```

**Negative Review — Bug Report (1-3 stars):**
```
We're sorry about this issue, [Name]. Our team is looking into [specific
problem]. Could you reach out to [support email] with your device details
so we can resolve this quickly? We want to make this right.
```

**Negative Review — Feature Request (1-3 stars):**
```
Thanks for the feedback, [Name]. We hear you on [feature request] — it's
on our radar. In the meantime, you might find [workaround] helpful.
We'll update you when this ships!
```

### Rating Prompt Strategy

| Factor | Best Practice |
|--------|--------------|
| **Timing** | Prompt after a success moment (completed task, achieved goal, used for N days) |
| **Frequency** | iOS: SKStoreReviewController (3 prompts per year max, Apple enforced) |
| **Pre-screen** | Show in-app satisfaction question first; only route happy users to store rating |
| **Never** | Prompt on first launch, after an error, during onboarding, or mid-workflow |

---

## A/B Testing Store Listings

### Google Play Store Listing Experiments

| Element | Max Variants | Duration | Min Traffic |
|---------|-------------|----------|------------|
| Icon | 3 | 7+ days | 1000+ visitors per variant |
| Screenshots | 3 | 7+ days | 1000+ visitors per variant |
| Short description | 3 | 7+ days | 1000+ visitors per variant |
| Long description | 3 | 7+ days | 1000+ visitors per variant |

### Apple Product Page Optimization

| Element | Max Treatments | Duration | Notes |
|---------|---------------|----------|-------|
| Icon | 3 treatments | 90-day max | Cannot test app name or subtitle |
| Screenshots | 3 treatments | 90-day max | Can test order and content |
| App preview | 3 treatments | 90-day max | Video thumbnail and content |

### What to Test First (Priority Order)

1. **Screenshots** — highest impact on conversion; test benefit messaging and visual style
2. **Icon** — affects CTR in search results; test color and symbol variations
3. **Short description / subtitle** — affects both search ranking and conversion
4. **Long description** — lower impact but easy to test on Google Play

---

## Output Template: ASO Audit Report

```markdown
# ASO Audit Report — [App Name]

**Date:** [YYYY-MM-DD]
**Platforms:** [iOS / Android / Both]
**Current Rating:** [X.X] (iOS) / [X.X] (Android)
**Current Ranking:** #[X] in [Category]

## Keyword Analysis
| Keyword | Current Rank | Volume | Difficulty | Opportunity |
|---------|-------------|--------|------------|-------------|
| | | | | High/Med/Low |

## Listing Audit
| Element | Current | Score (1-5) | Recommendation |
|---------|---------|-------------|----------------|
| Title | | | |
| Subtitle / Short Desc | | | |
| Keywords (iOS) | | | |
| Description | | | |
| Screenshots | | | |
| Video | | | |
| Icon | | | |

## Rating Health
- **Current rating:** [X.X] ([N] reviews)
- **Recent trend:** [improving/declining/stable]
- **Top complaint themes:** [list]
- **Response rate:** [X]% of negative reviews responded

## Competitive Comparison
| Metric | Our App | Competitor A | Competitor B |
|--------|---------|-------------|-------------|
| Rating | | | |
| Reviews | | | |
| Category Rank | | | |
| Keywords Overlap | | | |

## Priority Actions
1. [Action] — Expected impact — Effort
2. [Action] — Expected impact — Effort
3. [Action] — Expected impact — Effort
```

---

## Common Mistakes

- **Keyword stuffing in titles** — "Best Free Photo Editor Camera Filter Beauty App" hurts credibility and can violate store policies
- **Ignoring localization** — app store pages should be localized for each market, not just the app strings
- **Not A/B testing screenshots** — assumptions about "good" screenshots are often wrong; test everything
- **Responding defensively to negative reviews** — public arguments hurt your brand; be empathetic and solution-oriented
- **Optimizing for downloads without considering retention** — ASO that drives low-quality installs increases churn and hurts ranking algorithms
- **Same strategy for both platforms** — Apple and Google have fundamentally different ranking factors; optimize separately
- **Ignoring seasonal opportunities** — "back to school", "new year", "holiday" keywords spike at predictable times

---

## Additional Resources

- Related skills: `seo-audit` (web SEO counterpart), `campaign-analytics` (acquisition channel analysis)
- Sensor Tower, AppTweak, App Annie — ASO tools and market intelligence
- Apple App Store Connect — Product Page Optimization documentation
- Google Play Console — Store Listing Experiments documentation
