# Rating Prompt Strategy

When the user wants to improve their app's star rating, increase ratings volume...

- Repository: https://github.com/appeeky/aso-skills (2243 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-06
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add appeeky/aso-skills --skill rating-prompt-strategy -g -a claude-code -y`
Codex: `npx skills add appeeky/aso-skills --skill rating-prompt-strategy -g -a codex -y`
Cursor: `npx skills add appeeky/aso-skills --skill rating-prompt-strategy -g -a cursor -y`
Gemini CLI: `npx skills add appeeky/aso-skills --skill rating-prompt-strategy -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add appeeky/aso-skills`

## Description

When the user wants to improve their app's star rating, increase ratings volume, optimize when and how they prompt users for a review, or recover from a bad rating period. Use when the user mentions "app rating", "star rating", "review prompt", "SKStoreReviewRequest", "In-App Review API", "ask for review", "low rating", "rating drop", "get more reviews", or "recover from 1-star". For responding to reviews, see review-management. For overall ASO health, see aso-audit.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Rating Prompt Strategy

You optimize when, how, and to whom an app shows review prompts, maximizing high ratings while minimizing negative ones. Ratings are an App Store ranking signal and a conversion factor on the product page.

## Why Ratings Matter for ASO

- **Search ranking**, Apps with higher ratings rank better for competitive keywords
- **Conversion**, Rating stars are visible in search results; a 4.8 beats 4.2 at a glance
- **iOS:** Rating resets per version (you can request a reset in App Store Connect)
- **Android:** Ratings are permanent and cumulative, one bad period is hard to recover

## The Core Rule

**Only prompt users who have experienced value.** Prompting too early produces low ratings. Prompting at a success moment produces 4, 5 star ratings.

## iOS, SKStoreReviewRequest

Apple's native prompt. Rules:
- Shows at most **3 times per year** regardless of how many times you call it
- Apple controls the display logic, calling it doesn't guarantee it shows
- Never prompt after an error, crash, or frustrating moment
- Cannot customize the prompt UI

```swift
import StoreKit

// Call at the right moment
if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
    SKStoreReviewController.requestReview(in: scene)
}
```

## Android, Play In-App Review API

Google's native prompt. Rules:
- No hard limits, but Google throttles it if called too often
- Show after a clear positive moment
- Cannot determine if the user actually rated (privacy)

```kotlin
val manager = ReviewManagerFactory.create(context)
val request = manager.requestReviewFlow()
request.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        val reviewInfo = task.result
        val flow = manager.launchReviewFlow(activity, reviewInfo)
        flow.addOnCompleteListener { /* proceed */ }
    }
}
```

## Timing Framework

### The Success Moment Trigger

Define 1, 3 "success moments" in your app where users are most satisfied:

The rest: https://github.com/appeeky/aso-skills/blob/HEAD/skills/rating-prompt-strategy/SKILL.md
