rating-prompt-strategy
Design when and to whom an app Product asks for a rating so the volume of 4–5 star ratings rises.
Written by Kwern, after the skill of the same name in Eronred's aso-skills, MIT. Updated 2026-10-03.
The file, as Kwern runs it
Nothing below is rewritten or cut. The description a model routes on comes first, then the file itself. The whole thing, frontmatter included, is at /skills/rating-prompt-strategy.md.
description
Design when and to whom an app Product asks for a rating so the volume of 4–5 star ratings rises. Use for "rating prompt", "SKStoreReviewController", "ask for review", "get more ratings", "recover from a rating drop", "reset ratings for the new version". For answering existing reviews, use review-management.
Ratings are a ranking signal and the first thing a searcher compares. The lever is timing: prompting a user who just experienced value yields 4–5 stars, prompting a first-session user yields the 1-star that costs conversion for a version. Output is a prompt strategy brief with an implementation checklist; when the User asks, the checklist becomes a PR brief on the connected repo.
Gather
read_context— activation event, core loop, success moments, current version and what it changed.app_store_listing— current rating and rating count. The current velocity is today's count against the count a past report fromread_outputsrecorded; with none, say the velocity is unknown and write today's count into the brief for the next Run.connector_asc_analyticswhen the ASC Connector exists — ratings per period, retention curve (when users are still around to be asked), conversion baseline. Without it, velocity is rating count at the last two snapshots, and say the ASC Connector would add the per-day trend.connector_asc_reviewswhen available (fallbackapp_store_reviews) — which versions the 1–3 star reviews cluster on, and what they name.
Design
Apply the rules in references/prompt-rules.md — read it before designing: SKStoreReviewController limits, eligibility criteria, success moments per app type, pre-prompt survey, version reset, and the recovery timeline.
- Success moments — one to three events from the Foundation doc where the user has just gained something. Each is named as an analytics event with its condition.
- Eligibility gate — sessions, days since install, activation completed, clean last session, not yet asked this version.
- Pre-prompt survey — one question ("Enjoying [Product]?"); "yes" calls the native prompt, "not really" opens the feedback form. Recommend it by default; skip only when the Foundation doc reports a rating ≥ 4.7 with healthy velocity.
- Frequency — 1–2 calls per version, at most 3 per 365 days per device, one per session.
- Version reset — recommend it only when the current version fixes the issues the low reviews name.
- Recovery plan — when the rating is below 4.0 or dropped ≥ 0.3 in 30d: version diagnosed, fix, replies via
review-management, then a filtered prompt campaign at the most engaged segment.
Output: prompt strategy brief
Rating: X.X (N ratings) · velocity: N/week · trend vs previous version
Success moments: event → condition (1–3)
Pre-prompt survey: yes/no, wording
Eligibility gate: sessions ≥ N · days ≥ N · activation done · no crash last session · not asked this version
Frequency: N per version · one per session
Version reset: yes/no and why
Expected outcome: +X stars over N weeks
Recovery plan (when rating < 4.0): fix · replies · campaign start and segment
Then the implementation checklist: events to track, the gate as a boolean, the requestReview(in:) call site, the survey screen, the feedback form route, and the analytics to confirm it fires. On request, wrap it as a PR brief (files, acceptance criteria) for the connected repo.
Done when every success moment maps to a named event, the gate lists all six criteria with values, the frequency respects Apple's limit, and the brief names the velocity source (connector_asc_analytics or snapshots).
Related Skills
review-management— reply to the reviews a recovery depends on.onboarding— activation problems that produce first-session 1-stars.churn-prevention— engaged users are the ones worth asking.subscription-lifecycle— a converted subscriber at renewal is a strong moment.
What it discloses
The Skill reads these files only when it needs them, so the model spends nothing on them the rest of the time.
references/prompt-rules.md
From your accounts to a proposal
- 01
Connect what it reads
Give the ASO agent the accounts it works on. Kwern never asks for a password, and an agent missing a connection says so instead of guessing.
- 02
The loop runs weekly
Before it writes a word it reads the foundation doc, which holds the positioning, the audience and the voice, and whatever its connectors return that day.
- 03
The rating-prompt-strategy skill runs
The agent activates it when the run calls for it, and what the model then reads is the file on this page, word for word.
- 04
A proposal waits for you
Nothing is published and nothing is spent until you approve it. Approve and Kwern posts it where it holds the keys; where it does not, it hands you the text and the link.
The file, the agency, and the agent
| On your own | An agency | Kwern | |
|---|---|---|---|
| The method | Whatever you remember to do that week | Theirs, and you never get to read it | This file, open on this page |
| Who runs it | You, when there is time | An account manager, between other accounts | The ASO agent, weekly |
| What it reads | What you can pull by hand | What you remembered to send them | Your connected accounts and your foundation doc |
| What comes out | A draft, sometimes | A deck, and a report at the end of the month | A proposal you approve or throw away |
| What it costs | Your evenings | A retainer | One subscription, and the model on your own key |
Questions about rating-prompt-strategy
Pair it with
The other skills the same agents reach for during a run.
Someone is asking for what you built today.
On Reddit, on X, in ChatGPT's answers. Kwern finds them every morning and drafts the reply in your voice; you decide what goes out.