---
name: app-store-optimization
description: Optimize an app's store listing to earn more organic installs on Apple App Store and Google Play. Use when writing or reviewing app metadata (title, subtitle, keyword field, descriptions), planning screenshot and preview-video creative, setting up review prompts, or diagnosing a ranking or conversion slump.
---

# App Store Optimization

## Purpose

Make a store listing easier to find (keyword ranking) and harder to skip (conversion from page view to install). The two jobs are separate: strong metadata with weak creative wastes page-one rankings, and great creative with no keyword coverage never gets seen. This skill covers both stores, Apple App Store and Google Play, and keeps every difference between them explicit. Field limits, weights, and rules live in `references/field-limits.md`. A worked before/after listing rebuild lives in `references/before-after.md`.

## Workflow

### 1. Audit the listing as it stands

Read the current metadata for both stores, the screenshots in order, the preview video, the rating, and the last ten reviews. Score it against `references/field-limits.md`: every character limit, the keyword field rules, and the basics (is the icon legible at 60 px, do the first two screenshots carry the value prop, is there a rating prompt in the app).

### 2. Research keywords

- Start with the user's own words: how do users describe the problem, in app reviews, support mail, and community posts. Those phrases beat thesaurus guesses.
- Pull autocomplete suggestions on both stores for the core phrases. Store what the store itself suggests; that is demand.
- Group candidates by intent, not spelling. "Budget planner," "expense tracker," and "money manager" often sit in one intent cluster. Optimize metadata around the intent, and let the individual phrases fall out.
- Prioritize with three filters: relevance to the app, expected search demand, ranking difficulty (can a new listing plausibly beat the current incumbents).

### 3. Rewrite the metadata

- Apple: put the primary keyword phrase in the 30-char title, a second high-value phrase in the 30-char subtitle, and the remainder in the 100-byte hidden keyword field. Never repeat a word across the three; Apple indexes each word once.
- Google Play: the title is the anchor, the 80-char short description carries conversion copy plus keywords, and the 4000-char long description is fully indexed, so write it for humans first with keywords placed naturally in headings and bullets.
- Validate the Apple keyword field with `bin/check_keyword_field.py`. See `references/before-after.md` for a full worked rebuild showing exactly how a weak listing becomes a strong one.
- Descriptions convert; they do not rank on Apple, they do rank on Google. On Apple, write the description for the human reading after the screenshots have done their job. On Google Play, keywords still need to land in the long description.

### 4. Fix the creative

- Screenshots: the first two carry the page. Lead with the core value prop as a caption, not a UI dump. On Apple, up to 10 per device size; the first three show in search.
- Preview video: 15 to 30 seconds on Apple (up to 3 per size, autoplay muted), one YouTube URL on Play. Show the core value in the first three seconds; most viewers never get further.
- Icon: simple, recognizable, legible at small sizes, no text crammed in.

### 5. Build the ratings engine

- Prompt with SKStoreReviewController on Apple: at most 3 prompts per 365 days, so only fire after positive moments (task completed, streak hit, export saved).
- Answer every negative review within 24 hours and fold real complaints into the backlog. Never incentivize or buy reviews; that violates both stores' terms.
- Track rating average and review velocity as conversion signals, not vanity numbers.

### 6. Test, then repeat

ASO is not a launch task. Revisit keywords and creative on a cadence: weekly rank checks on target keywords, a creative refresh when conversion dips, and a metadata pass after every major feature. Use Apple Product Page Optimization or Google Play store listing experiments for A/B tests on icons and screenshots.

## Output Contract

For an ASO engagement, deliver:

1. **Keyword set**: primary, secondary, and long-tail phrases, grouped by intent, with the relevance/demand/difficulty call for each.
2. **Metadata drafts**: exact copy for every field on both stores, with character (and byte) counts shown. Apple keyword field must pass `bin/check_keyword_field.py` before it ships.
3. **Creative brief**: screenshot order and caption text for the first three screens, preview-video outline (three-second hook plus beats), icon notes.
4. **Review-prompt plan**: which in-app moments trigger the prompt, and the review-response SLA.
5. **Change list**: ordered by impact vs. effort, each item phrased as an action ("Change subtitle from X to Y (24 chars)"), not a suggestion.

## Operating Rules

1. Every factual claim about limits, weights, or rules must match `references/field-limits.md`, which was verified against primary sources in October 2026. When stores change a limit, update the reference file and re-validate.
2. Never invent search volumes, rankings, or review counts. Unverifiable numbers get cut or framed as assumptions.
3. Apple long description does not rank. Google Play description does. Writing them the same way is a mistake.
4. Never recommend duplicating title/subtitle words into the Apple keyword field, using competitor trademarks, or buying reviews.
5. Character counts are hard limits in the deliverable: show the count next to every proposed field.
6. Style: plain, direct sentences. No em dashes. No press-release phrasing.
