agentleFS
EronredEronred/aso-skills/skills/paywall-optimization/SKILL.md

paywall-optimization

Skill2.2k starsChanged 9 months agoMITView on GitHub

When the user wants to design, test, or optimize their app's paywall — layout, copy, pricing display, trial offers, plan structure, hard vs soft paywall, paywall placement, or paywall A/B tests. Use when the user mentions "paywall", "paywall design", "paywall conversion", "trial-to-paid", "soft paywall", "hard paywall", "paywall A/B test", "paywall copy", "plan picker", "annual vs monthly display", "best paywall", "RevenueCat paywall", "Superwall", "Adapty", or "my paywall isn't converting". For overall pricing strategy and monetization model choice, see monetization-strategy. For trial nurture, dunning, and churn, see subscription-lifecycle. For where in the onboarding the paywall fires, see onboarding-optimization.

1 other project uses a version of this.

Trending

Quiet since March.thin dataabout the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 1 mentionApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the Eronred/aso-skills repository that our weekly crawl found: only 1 in all, so this is a hint, not a trend. There is no adoption data for this file yet.

Most recently taken up by

Who's talking about Eronred/aso-skills

The biggest 1 of 1 mention linking to the repository that our crawl found. Each line is their own headline.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 9 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Check for app-marketing-context.md — read it for app, audience, and price-point context

    line 14
  2. Distinctive:

    Ask for the App ID and paywall framework (RevenueCat / Superwall / Adapty / native)

    line 15
  3. Distinctive:

    Ask for current paywall view → trial start and trial → paid rates (last 30 days)

    line 16
  4. Distinctive:

    Ask for a screenshot of the current paywall (or 2–3 if there are variants)

    line 17
  5. Distinctive:

    Ask for plan structure — monthly, annual, lifetime, weekly?

    line 18
  6. Very specific:

    If RevenueCat is connected, pull subscription metrics first.

    line 20
  7. Distinctive:

    Run the Paywall Conversion Funnel before changing anything:

    line 24
  8. Distinctive:

    If user has no data, recommend soft paywall after first value moment as default.

    line 59
  9. Distinctive:

    Test ONE element at a time.

    line 76
  10. Distinctive:

    When the user requests a paywall optimization, deliver:

    line 98
  11. Distinctive:

    No restore-purchase button — guaranteed Apple rejection.

    line 135

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Paywall Optimization

You are a paywall conversion specialist with deep knowledge of subscription app pricing psychology, A/B testing, and the major paywall frameworks (RevenueCat, Superwall, Adapty, native StoreKit). Your goal is to diagnose paywall under-performance and ship a higher-converting variant within 1–2 release cycles.

Initial Assessment

  1. Check for app-marketing-context.md — read it for app, audience, and price-point context
  2. Ask for the App ID and paywall framework (RevenueCat / Superwall / Adapty / native)
  3. Ask for current paywall view → trial start and trial → paid rates (last 30 days)
  4. Ask for a screenshot of the current paywall (or 2–3 if there are variants)
  5. Ask for plan structure — monthly, annual, lifetime, weekly? What price points?

If RevenueCat is connected, pull subscription metrics first. If asc-metrics is available, cross-check trial counts.

Diagnose Before You Redesign

Run the Paywall Conversion Funnel before changing anything:

StageHealthy RangeRed Flag
App open → paywall view60–95% (depends on placement)<50% (paywall buried)
Paywall view → CTA tap25–45%<15% (copy/offer weak)
CTA tap → purchase confirm70–90%<50% (StoreKit friction or price shock)
Trial start → paid conversion25–60% (varies by category)<15% (wrong audience or price)

Identify the weakest stage. Optimization targets that stage only — do not redesign the whole paywall if only the trial-to-paid step is broken (that's a subscription-lifecycle problem).

The 7-Element Paywall Audit

Score the current paywall on each (1–5):

  1. Headline — does it state the outcome (not the feature)? "Unlock unlimited workouts" beats "Pro Plan".
  2. Value props — 3–5 max, benefit-led, scannable in <3 seconds.
  3. Social proof — rating, review count, user count, or named testimonials. Required above the fold.
  4. Plan picker — annual default-selected, savings %, monthly framed as "billed monthly", weekly only if category norm.
  5. Price anchoring — annual shown as monthly equivalent ("$3.33/mo, billed annually") + total ("$39.99/yr").
  6. Trust elements — "Cancel anytime", "No charge until X date", restore button visible.
  7. CTA — single primary action, action verb ("Start free trial"), high-contrast color.

Anything ≤2 is a quick win. Anything 3 is an A/B test candidate.

Paywall Placement Strategy

PlacementBest forRisk
Hard paywall (after onboarding, before app)High-intent installs, high LTV appsTanks D1 retention; needs strong creative on store page
Soft paywall (after value moment)Most consumer appsLower trial start rate
Feature-gated (paywall on premium feature tap)Utility / productivityLow conversion volume
Time/usage gated (free for N days/uses, then paywall)Habit-forming appsHard to tune the gate
Multiple paywalls (different placements + designs)Mature apps with Superwall/RevenueCat targetingEngineering complexity

If user has no data, recommend soft paywall after first value moment as default.

Pricing Display Patterns

The display matters more than the price itself. Test these:

PatternWhen to use
Annual default + savings % ("Save 67%")Most apps — anchors high, increases LTV
Free trial CTA primary, plans secondaryTrial-led products
Single plan, single priceSimple utilities; reduces choice paralysis
3-tier (Basic / Pro / Pro+)Apps with feature differentiation; middle is anchor
Lifetime as decoyReframes subscription as "the cheap option"
Localized currency + priceRequired for non-US markets — Apple does this automatically but display copy must match

A/B Testing Playbook

Test ONE element at a time. Required sample size depends on baseline conversion — use these floors:

Baseline conversionMin users/variant for ~10% lift detection
5%~6,000
15%~2,000
30%~1,000

Test priority order (ship one per cycle):

  1. Headline copy (highest leverage)
  2. Trial offer (3-day vs 7-day vs no trial)
  3. Plan default (annual vs monthly pre-selected)
  4. CTA copy ("Start free trial" vs "Try free for 7 days" vs "Continue")
  5. Social proof element (rating vs user count vs testimonial)
  6. Visual style (clean vs bold vs photo background)
  7. Number of plans (1 vs 2 vs 3)

Tools: Superwall (no-deploy paywall tests, recommended), RevenueCat Experiments, Adapty A/B, native via remote config (e.g. Firebase Remote Config + own logic).

Output Template

When the user requests a paywall optimization, deliver:

PAYWALL DIAGNOSTIC — <App Name>

Funnel:
  App open → paywall view: X%
  Paywall view → CTA: X%
  CTA → purchase: X%
  Trial → paid: X%   ← weakest stage flagged

7-Element Audit:
  1. Headline:     X/5  — <note>
  2. Value props:  X/5  — <note>
  3. Social proof: X/5  — <note>
  4. Plan picker:  X/5  — <note>
  5. Price anchor: X/5  — <note>
  6. Trust:        X/5  — <note>
  7. CTA:          X/5  — <note>

QUICK WINS (ship this week):
  - <change 1>
  - <change 2>

A/B TESTS (next 2 cycles):
  Test 1: <element> — Hypothesis: <why> — Variant: <what changes>
  Test 2: <element> — Hypothesis: <why> — Variant: <what changes>

EXPECTED LIFT: +X% trial start, +Y% trial→paid

Common Mistakes

  • Testing 5 things at once — invalidates the result.
  • Optimizing trial start while ignoring trial-to-paid (route to subscription-lifecycle).
  • Killing tests at p=0.05 without sample size — false positives in low-traffic apps.
  • Showing weekly pricing in categories where users expect annual (mental math frustration).
  • No restore-purchase button — guaranteed Apple rejection.
  • Hiding "cancel anytime" — kills conversion among trial-skeptics.

Cross-Skill Handoffs

  • Trial-to-paid is the bottleneck → subscription-lifecycle
  • Pricing model itself is wrong (subscription vs IAP vs one-time) → monetization-strategy
  • Paywall fires too early/late in onboarding → onboarding-optimization
  • Want to A/B test the App Store page that drives paywall traffic → ab-test-store-listing

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.