
Rating Prompt Strategy
When the user wants to improve their app's star rating, increase ratings volume...
Install
npx skills add appeeky/aso-skills --skill rating-prompt-strategy -g -a claude-code -y- Repository
- appeeky/aso-skills2.2k
- Category
- AI and agents
- Updated
- 29d ago
- License
- MIT
- Context cost
- Mediumabout 1,500 tokens
- Runs scripts
- No, instructions only
What it does
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.
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
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)
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:

