Best for
- Also use when
dpearson2699/swift-ios-skills/skills/app-store-optimization/SKILL.md
Optimize 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 with assigned search keywords, In-App Events, Product Page Optimization tests, localized metadata, ratings/review strategy, and in-app review prompt timing with RequestReviewAction or AppStore.requestReview. Also use when
Decision brief
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 met…
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/dpearson2699/swift-ios-skills --skill "skills/app-store-optimization"Inspect the Agent Skill "app-store-optimization" from https://github.com/dpearson2699/swift-ios-skills/blob/90c9573272531337962fbb3505036d61ed23389a/skills/app-store-optimization/SKILL.md at commit 90c9573272531337962fbb3505036d61ed23389a. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Split recommendations into Visibility (indexed metadata, localization, ratings, events) and Conversion (message, assets, variants, experiments). 2. Name the evidence, owner, target metric, and validation checkpoint for each. 3. Apply the Review Checklist.
StoreKit provides RequestReviewAction for SwiftUI and AppStore.requestReview(in:) for UIKit. Use this section for timing strategy; for the full StoreKit API surface, see the storekit skill.
For a settings screen or "Rate us" option, link directly to the App Store review page using the URL format:
See: references/product-page-variants.md for setup details, URL structure, and campaign mapping strategy.
Ratings and reviews appear on the product page and in search results, influence App Store search ranking, and affect conversion. The strategy is to earn more positive, recent feedback by prompting only after successful user moments and by responding constructively to issues.
Permission review
The documentation includes network, browsing, or remote request actions.
https://apps.apple.com/app/id{APP_ID}?action=write-reviewEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 78/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 933 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
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.
| Work | Owner |
|---|---|
| Listing, keyword/message fit, assets, page variants, localization, events, ratings strategy | This skill |
| Submission compliance, privacy manifest/labels, ATT wording, rejection risk | app-store-review |
| Purchases, paywalls, entitlements, subscription mechanics | storekit |
Apple indexes the app name and subtitle for search. Together they provide 60 characters (30 + 30) of indexed, high-visibility keyword real estate.
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.
App Store Connect accepts up to 100 UTF-8 bytes in the keyword field (some Apple overview pages summarize this as 100 characters). Use comma-separated terms with no spaces after commas; each term must be longer than two characters.
Rank candidate keywords by three factors:
| Factor | Weight | Signal |
|---|---|---|
| Relevance | Highest | Does the keyword describe what the app actually does? |
| Search volume | Medium | Are users actually searching for this term? |
| Competition | Lower | How many apps target this keyword? |
Prioritize user intent and metadata fit. Account for the primary category alongside the app name, subtitle, and keyword field; do not repeat it.
See: references/keyword-research-methodology.md for the full research process, scoring framework, and indexing details.
Validation checkpoint: Render the final name, subtitle, and keyword field together. Count its UTF-8 bytes, split it on commas, reject blank, space-prefixed, or two-character-or-shorter tokens, compare normalized words across the three indexed fields and primary category, and require a relevance or demand signal for every retained term. Revise the field and repeat the check until every token earns its space.
Apple's search guidance centers text relevance on the app name, subtitle, keywords, and primary category, plus behavior signals such as downloads, ratings, and reviews. Treat the description as conversion copy, not a place to stuff extra search terms: users who expand it are evaluating whether to download.
Promotional text appears above the description, is limited to 170 characters, and can be updated at any time without submitting a new app version.
Update promotional text for feature launches, seasonal moments, awards or press, promotions, and in-app events. Do not leave it static across releases; if there is nothing timely to promote, rotate between the app's strongest selling points.
Most users never scroll past the first 3 visible screenshots. These slots determine whether a user engages with the full product page or moves on.
Use slot 1 for the primary value proposition, slot 2 for the core differentiator, slot 3 for the next strongest feature, and later slots for supporting features, social proof, or edge cases.
If a preview video is present, it occupies the first slot. The first frame becomes the poster image when autoplay is disabled -- choose a frame that works as a standalone screenshot.
For screenshot device requirements and compliance rules, see the app-store-review skill.
Validation checkpoint: Preview each localized product page at first-fold size. Confirm that the first three visible assets communicate distinct benefits, that captions match the UI and public claims, and that the ordering answers the same intent targeted by the page's metadata. Replace or reorder any asset that fails, then review the first fold again as a set.
StoreKit provides RequestReviewAction for SwiftUI and AppStore.requestReview(in:) for UIKit. Use this section for timing strategy; for the full StoreKit API surface, see the storekit skill.
Good triggers include completing a meaningful task, achieving a milestone or streak, a positive in-app moment, or several active sessions. Bad triggers include first launch, onboarding, errors, crashes, failed transactions, or direct button-tap pre-screens. Do not gate the prompt behind a "Rate this app?" dialog -- Apple discourages intercepting the system prompt and may reject apps that pre-screen.
For a settings screen or "Rate us" option, link directly to the App Store review page using the URL format:
https://apps.apple.com/app/id{APP_ID}?action=write-review
This opens the review writing screen directly and is not subject to the 3x/year system limit.
Custom Product Pages allow up to 70 variant product pages per app. Each variant can have different screenshots, app preview videos, promotional text, and assigned search keywords -- tailored to a specific audience or acquisition channel.
When recommending Custom Product Pages, explicitly mention both the 70-page capacity and assigned-keyword search visibility, then map each page to a distinct audience, message, keyword/ad intent, and measurement plan.
Use separate pages for paid search ad groups, social campaigns, feature-specific landings, seasonal campaigns, and other acquisition paths where the first screenshot or promotional text should match a distinct user intent.
See: references/product-page-variants.md for setup details, URL structure, and campaign mapping strategy.
In-app events surface in App Store search results, on the Today tab, and in personalized recommendations. They increase visibility during the event window and can re-engage lapsed users.
Choose the Apple event badge that matches the actual in-app experience: Challenge, Competition, Live Event, Major Update, New Season, Premiere, or Special Event. Do not manufacture events without real time-bound content.
Event name is 30 characters, short description 50, long description 120, and the event card image is required at 16:9 (1920x1080 or similar).
See: references/product-page-variants.md for event scheduling templates.
App Store Connect provides native testing for product page elements.
Each test can include up to three treatments against the original product page, which serves as the default baseline.
Ratings and reviews appear on the product page and in search results, influence App Store search ranking, and affect conversion. The strategy is to earn more positive, recent feedback by prompting only after successful user moments and by responding constructively to issues.
When submitting a new version, you can choose to reset the displayed rating. Use this strategically:
Reset only when the displayed rating is significantly below the app's current quality after major improvements. Do not reset a strong, representative rating; do not reset for ordinary bug fixes; and wait for stabilization after a risky redesign.
Localizing ASO is not the same as translating the app UI. Keyword strategy, descriptions, and screenshot captions must be researched and written per market, not machine-translated from the primary locale.
For in-app string localization (String Catalogs, FormatStyle, right-to-left layout), see the ios-localization skill.
app-store-review compliance checklistAlternatives
event4u-app/agent-config
Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.
K-Dense-AI/scientific-agent-skills
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.