paywall-rules
Installation
SKILL.md
Paywall rules for agents
Use this while you write or change a paywall or onboarding screen, not after. It has three parts: what the stores require (a screen that breaks these gets rejected or flagged), what won in published A/B tests, and what lost. Results are what other apps saw, not a forecast for this app.
Sources: Apple's App Review Guidelines (3.1.2 and 5.6, updated October 16, 2026), Apple's auto-renewable subscriptions page, Apple's HIG on in-app purchase, and Google Play's subscriptions policy. Test results come from public case studies, linked on each line. Rules dated November 7, 2026.
Before you start
- Where does this paywall appear? At the end of onboarding, or inside the app (a locked feature, a settings upgrade)? Some results flip with placement (section 3). If the user hasn't said and it matters for what they asked, ask in one line.
- If the code you were given is incomplete or doesn't compile, say so first, then judge what is there.
- Building from scratch? A ready-made store view covers most of R1–R5: Apple's
SubscriptionStoreViewin SwiftUI, or the paywall component of the subscription SDK the app already uses (RevenueCat Paywalls, Superwall, Adapty Paywall Builder) in React Native and Flutter. Use it unless the user wants a custom layout.
1. Must have (store rules)
Build these in from the start. "Enforced" = a written rule that leads to rejection or a policy strike. "Discretion" = the reviewer decides; the row lowers the risk.