$npx -y skills add dpearson2699/swift-ios-skills --skill app-store-optimizationOptimize App Store product pages for search visibility and conversion. Use for App Store Optimization (ASO), keyword research, app name/subtitle/keyword-field strategy, conversion-focused descriptions and promotional text, screenshot captions and ordering, Custom Product Pages wi
| 1 | # App Store Optimization (ASO) |
| 2 | |
| 3 | Search visibility and conversion optimization for App Store product pages. This skill covers strategic metadata decisions -- which keywords to target, how to structure descriptions for conversion, and how to use Custom Product Pages and in-app events for discoverability. For metadata compliance rules (character limits, screenshot device requirements, rejection triggers), see the `app-store-review` skill. |
| 4 | |
| 5 | ## Contents |
| 6 | |
| 7 | - [Workflow and Boundaries](#workflow-and-boundaries) |
| 8 | - [Title and Subtitle Strategy](#title-and-subtitle-strategy) |
| 9 | - [Keyword Field Strategy](#keyword-field-strategy) |
| 10 | - [Description Structure](#description-structure) |
| 11 | - [Promotional Text](#promotional-text) |
| 12 | - [Screenshot and Preview Optimization](#screenshot-and-preview-optimization) |
| 13 | - [In-App Review Prompts](#in-app-review-prompts) |
| 14 | - [Custom Product Pages](#custom-product-pages) |
| 15 | - [In-App Events](#in-app-events) |
| 16 | - [Product Page Optimization](#product-page-optimization) |
| 17 | - [Ratings and Review Management](#ratings-and-review-management) |
| 18 | - [Localized Metadata Optimization](#localized-metadata-optimization) |
| 19 | - [Common Mistakes](#common-mistakes) |
| 20 | - [Review Checklist](#review-checklist) |
| 21 | - [References](#references) |
| 22 | |
| 23 | ## Workflow and Boundaries |
| 24 | |
| 25 | 1. Split recommendations into **Visibility** (indexed metadata, localization, |
| 26 | ratings, events) and **Conversion** (message, assets, variants, experiments). |
| 27 | 2. Name the evidence, owner, target metric, and validation checkpoint for each. |
| 28 | 3. Apply the [Review Checklist](#review-checklist). |
| 29 | |
| 30 | | Work | Owner | |
| 31 | |---|---| |
| 32 | | Listing, keyword/message fit, assets, page variants, localization, events, ratings strategy | This skill | |
| 33 | | Submission compliance, privacy manifest/labels, ATT wording, rejection risk | `app-store-review` | |
| 34 | | Purchases, paywalls, entitlements, subscription mechanics | `storekit` | |
| 35 | |
| 36 | ## Title and Subtitle Strategy |
| 37 | |
| 38 | Apple indexes the app name and subtitle for search. Together they provide 60 characters (30 + 30) of indexed, high-visibility keyword real estate. |
| 39 | |
| 40 | ### Positioning framework |
| 41 | |
| 42 | Use **Brand -- Keyword** when the brand already has recognition, **Keyword -- Brand** when a new app must compete on category terms, and a blended name when the brand naturally contains a relevant keyword. |
| 43 | |
| 44 | ### Rules |
| 45 | |
| 46 | - Do not repeat words between the name and subtitle -- Apple indexes both, so duplicates waste characters. |
| 47 | - Front-load the highest-value keyword in whichever field has more room. |
| 48 | - Avoid generic filler words ("the", "best", "app") -- they consume space without search value. |
| 49 | - The subtitle should communicate the primary value proposition, not a tagline. |
| 50 | |
| 51 | ## Keyword Field Strategy |
| 52 | |
| 53 | App Store Connect accepts up to 100 UTF-8 bytes in the keyword field (some |
| 54 | Apple overview pages summarize this as 100 characters). Use comma-separated |
| 55 | terms with no spaces after commas; each term must be longer than two |
| 56 | characters. |
| 57 | |
| 58 | ### Prioritization |
| 59 | |
| 60 | Rank candidate keywords by three factors: |
| 61 | |
| 62 | | Factor | Weight | Signal | |
| 63 | |--------|--------|--------| |
| 64 | | **Relevance** | Highest | Does the keyword describe what the app actually does? | |
| 65 | | **Search volume** | Medium | Are users actually searching for this term? | |
| 66 | | **Competition** | Lower | How many apps target this keyword? | |
| 67 | |
| 68 | Prioritize user intent and metadata fit. Account for the primary category |
| 69 | alongside the app name, subtitle, and keyword field; do not repeat it. |
| 70 | |
| 71 | ### Tactical rules |
| 72 | |
| 73 | - Deduplicate against title and subtitle -- Apple already indexes those words. |
| 74 | - Do not include both singular and plural forms of the same term; Apple treats |
| 75 | them as duplicates. |
| 76 | - Omit the category name -- Apple adds the app's primary category to search automatically. |
| 77 | - Omit spaces after commas -- they count against the 100-character limit. |
| 78 | - Consider abbreviations and common misspellings if they are genuine search terms. |
| 79 | - Reserve space for the most relevant, highest-intent terms; do not spend characters on terms that only weakly describe the app. |
| 80 | |
| 81 | **See:** [references/keyword-research-methodology.md](references/keyword-research-methodology.md) for the full research process, scoring framework, and indexing details. |
| 82 | |
| 83 | **Validation checkpoint:** Render the final name, subtitle, and keyword field |
| 84 | together. Count its UTF-8 bytes, split it on commas, reject blank, |
| 85 | space-prefixed, or two-character-or-shorter tokens, compare normalized words |