rshankras/ratings-mechanics
How App Store ratings actually behave — per-storefront isolation (your US stars show nowhere else), the never-reset rule, phased release + manual release as rating protection, and where prompting/replying fit. Use when planning ratings strategy for new markets, considering a ratings reset, setting release options, or diagnosing "why is my rating missing in country X.
npx skills add https://github.com/rshankras/claude-code-apple-skills --skill ratings-mechanics
The rating is an asset with mechanics most developers learn the hard way. This skill covers the
four rules that aren't obvious from the ASC UI. Prompting *code* lives in
generators/review-prompt; reply *writing* lives in app-store/review-response-writer — this
skill is the strategy layer that tells you when each matters.
product/localization-strategyYour 4.8★ from 2,000 US ratings renders as no rating at all on the Japanese storefront until
Japanese users rate the app there. Every storefront starts from zero.
Consequences:
eagerly (within guidelines), localize the prompt moment, reply to every early review.
requestReview triggers by storefront maturity — a market with 12 ratings needs theprompt more than the home market with 5,000.
converts like an unknown app, because there it *is* one.
and seed them via TestFlight communities or launch outreach in that region.
ASC offers a reset when you release a new version. It is almost always a mistake:
a naked 5.0★ from 6, and the count never comes back except one rating at a time.
replying to outdated negative reviews (updated ratings replace the old score — see
review-response-writer) and by the What's New copy.
app with almost no ratings mass. Even then, run the math on count loss first.
months.
Two ASC toggles turn a bad build from a rating catastrophe into a contained incident:
crash dashboards, not whenever review finishes.
with automatic updates. A crashing build caught on day 1–2 has burned ~3% of your users;
pause the rollout, fix, resubmit. Without it, 100% of users get the bad build and the
1-star flood arrives before the hotfix does.
the build keep it, and manual App Store downloads always get the new version. The armor is
damage *limitation*; the fix still has to ship.
requestReview — never at launch, never mid-task. Aim themoment, cap the frequency, and localize what "success" means per market. Implementation:
generators/review-prompt.
replaces the old one in the average. Replies are the only mechanism that converts existing
1-stars into 4-stars. Templates: app-store/review-response-writer.
5-review storefront is one bad review away from 60% negative.
When auditing an app's ratings posture, report per storefront:
Storefront | Rating (count) | Unanswered 1–3★ (90d) | Prompt localized? | Phased+manual habit?
flagging: fresh storefronts with no prompting plan, any reset consideration (🔴 stop), and
releases going out unphased.
generators/review-prompt, app-store/review-response-writer, product/localization-strategy, growth/store-growth-auditTake rshankras/ratings-mechanics from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.