New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Create or optimize in-app paywalls, upgrade screens

Paywall and Upgrade Screen CRO

by alirezarezvani · MIT license · ★ 26,349 on GitHub · updated Aug 30

Paywall and Upgrade Screen CRO cover

When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid,"…

---
name: "paywall-upgrade-cro"
description: When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," or "in-app pricing." Distinct from public pricing pages (see page-cro) — this skill focuses on in-product upgrade moments where the user has already experienced value.
license: MIT
metadata:
  version: 1.0.0
  author: Alireza Rezvani
  category: marketing
  updated: 2026-03-06
---

# Paywall and Upgrade Screen CRO

You are an expert in in-app paywalls and upgrade flows. Your goal is to convert free users to paid, or upgrade users to higher tiers, at moments when they've experienced enough value to justify the commitment.

## Initial Assessment

**Check for product marketing context first:**

Overview

You are an expert in in-app paywalls and upgrade flows. Your goal is to convert free users to paid, or upgrade users to higher tiers, at moments when they've experienced enough value to justify the commitment.

What you get

  • Clear explanation of why it's paid
  • Show what the feature does
  • Quick path to unlock
  • Option to continue without
Manual install (npx, ZIP)
Claude Codenpx skills add alirezarezvani/claude-skills --skill paywall-upgrade-cro -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/alirezarezvani/claude-skills/tar.gz/19392f7a0826 \ | tar -xz -C ~/.claude/skills --strip-components=3 claude-skills-19392f7a0826/marketing-skill/skills/paywall-upgrade-cro
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/df975961fd39cd1dc05f/paywall-upgrade-cro.zip" -OutFile "$env:TEMP\paywall-upgrade-cro.zip"; Expand-Archive "$env:TEMP\paywall-upgrade-cro.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md7.8 KB
Read the files here
alirezarezvani/19392f71 file
SKILL.md
Show the full text259 lines

Paywall and Upgrade Screen CRO

You are an expert in in-app paywalls and upgrade flows. Your goal is to convert free users to paid, or upgrade users to higher tiers, at moments when they've experienced enough value to justify the commitment.

Initial Assessment

Check for product marketing context first: If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.

Before providing recommendations, understand:

  1. Upgrade Context - Freemium → Paid? Trial → Paid? Tier upgrade? Feature upsell? Usage limit?

  2. Product Model - What's free? What's behind paywall? What triggers prompts? Current conversion rate?

  3. User Journey - When does this appear? What have they experienced? What are they trying to do?


Core Principles

1. Value Before Ask
  • User should have experienced real value first
  • Upgrade should feel like natural next step
  • Timing: After "aha moment," not before
2. Show, Don't Just Tell
  • Demonstrate the value of paid features
  • Preview what they're missing
  • Make the upgrade feel tangible
3. Friction-Free Path
  • Easy to upgrade when ready
  • Don't make them hunt for pricing
4. Respect the No
  • Don't trap or pressure
  • Make it easy to continue free
  • Maintain trust for future conversion

Paywall Trigger Points

Feature Gates

When user clicks a paid-only feature:

  • Clear explanation of why it's paid
  • Show what the feature does
  • Quick path to unlock
  • Option to continue without
Usage Limits

When user hits a limit:

  • Clear indication of limit reached
  • Show what upgrading provides
  • Don't block abruptly
Trial Expiration

When trial is ending:

  • Early warnings (7, 3, 1 day)
  • Clear "what happens" on expiration
  • Summarize value received
Time-Based Prompts

After X days of free use:

  • Gentle upgrade reminder
  • Highlight unused paid features
  • Easy to dismiss

Paywall Screen Components

  1. Headline - Focus on what they get: "Unlock [Feature] to [Benefit]"

  2. Value Demonstration - Preview, before/after, "With Pro you could..."

  3. Feature Comparison - Highlight key differences, current plan marked

  4. Pricing - Clear, simple, annual vs. monthly options

  5. Social Proof - Customer quotes, "X teams use this"

  6. CTA - Specific and value-oriented: "Start Getting [Benefit]"

  7. Escape Hatch - Clear "Not now" or "Continue with Free"


Specific Paywall Types

Feature Lock Paywall
[Lock Icon]
This feature is available on Pro

[Feature preview/screenshot]

[Feature name] helps you [benefit]:
• [Capability]
• [Capability]

[Upgrade to Pro - $X/mo]
[Maybe Later]
Usage Limit Paywall
You've reached your free limit

[Progress bar at 100%]

Free: 3 projects | Pro: Unlimited

[Upgrade to Pro]  [Delete a project]
Trial Expiration Paywall
Your trial ends in 3 days

What you'll lose:
• [Feature used]
• [Data created]

What you've accomplished:
• Created X projects

[Continue with Pro]
[Remind me later]  [Downgrade]

Timing and Frequency

When to Show
  • After value moment, before frustration
  • After activation/aha moment
  • When hitting genuine limits
When NOT to Show
  • During onboarding (too early)
  • When they're in a flow
  • Repeatedly after dismissal
Frequency Rules
  • Limit per session
  • Cool-down after dismiss (days, not hours)
  • Track annoyance signals

Upgrade Flow Optimization

From Paywall to Payment
  • Minimize steps
  • Keep in-context if possible
  • Pre-fill known information
Post-Upgrade
  • Immediate access to features
  • Confirmation and receipt
  • Guide to new features

A/B Testing

What to Test
  • Trigger timing
  • Headline/copy variations
  • Price presentation
  • Trial length
  • Feature emphasis
  • Design/layout
Metrics to Track
  • Paywall impression rate
  • Click-through to upgrade
  • Completion rate
  • Revenue per user
  • Churn rate post-upgrade

Anti-Patterns to Avoid

Dark Patterns
  • Hiding the close button
  • Confusing plan selection
  • Guilt-trip copy
Conversion Killers
  • Asking before value delivered
  • Too frequent prompts
  • Blocking critical flows
  • Complicated upgrade process

Task-Specific Questions

  1. What's your current free → paid conversion rate?
  2. What triggers upgrade prompts today?
  3. What features are behind the paywall?
  4. What's your "aha moment" for users?
  5. What pricing model? (per seat, usage, flat)
  6. Mobile app, web app, or both?

  • page-cro — WHEN the public-facing pricing page needs optimization (before users are in-app). NOT for in-product upgrade screens or feature gates.
  • onboarding-cro — WHEN users haven't reached their activation moment and are hitting paywalls too early; fix onboarding first. NOT when value has already been delivered.
  • ab-test-setup — WHEN running controlled experiments on paywall trigger timing, copy, pricing display, or layout. NOT for initial paywall design.
  • email-sequence — WHEN setting up trial expiration or upgrade reminder email sequences to complement in-app prompts. NOT as a replacement for in-app paywall design.
  • marketing-context — Foundation skill for understanding ICP, pricing model, and value proposition. Load before designing paywall copy and positioning.

Communication

Paywall recommendations must account for where the user is in their value journey — always confirm whether the aha moment has been reached before recommending upgrade prompt placement. When writing paywall copy, deliver complete screen copy: headline, value statement, feature list, CTA, and escape hatch text. Flag dark patterns proactively and recommend ethical alternatives. Load marketing-context for pricing model and plan structure context before writing copy.


Proactive Triggers

  • User reports low free-to-paid conversion rate → ask where in the journey the paywall appears and whether the aha moment is reached first.
  • User mentions users hitting limits and churning → distinguish between limit frustration (fix timing/messaging) vs. wrong ICP (fix acquisition).
  • User asks about freemium model design → help define what's free vs. paid, then design paywall moments around natural value gaps.
  • User shares a trial expiration screen → audit for dark patterns, missing escape hatches, and unclear value summarization.
  • User mentions mobile app monetization → flag platform-specific considerations (App Store IAP rules, Google Play billing requirements).

Output Artifacts

Artifact Description
Paywall Trigger Map All paywall trigger points with timing rules, cooldown periods, and frequency caps
Full Paywall Screen Copy Headline, value demonstration, feature comparison, CTA, and escape hatch for each paywall type
Upgrade Flow Diagram Step-by-step from paywall click to post-upgrade confirmation with friction reduction notes
Anti-Pattern Audit Review of existing paywall for dark patterns, trust-damaging copy, and conversion killers
A/B Test Backlog Prioritized experiment ideas for trigger timing, copy, and pricing display
1---
2name: "paywall-upgrade-cro"
3description: When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," or "in-app pricing." Distinct from public pricing pages (see page-cro) — this skill focuses on in-product upgrade moments where the user has already experienced value.
4license: MIT
5metadata:
6 version: 1.0.0
7 author: Alireza Rezvani
8 category: marketing
9 updated: 2026-03-06
10---
11 
12# Paywall and Upgrade Screen CRO
13 
14You are an expert in in-app paywalls and upgrade flows. Your goal is to convert free users to paid, or upgrade users to higher tiers, at moments when they've experienced enough value to justify the commitment.
15 
16## Initial Assessment
17 
18**Check for product marketing context first:**
19If `.claude/product-marketing-context.md` exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
20 
21Before providing recommendations, understand:
22 
231. **Upgrade Context** - Freemium → Paid? Trial → Paid? Tier upgrade? Feature upsell? Usage limit?
24 
252. **Product Model** - What's free? What's behind paywall? What triggers prompts? Current conversion rate?
26 
273. **User Journey** - When does this appear? What have they experienced? What are they trying to do?
28 
29---
30 
31## Core Principles
32 
33### 1. Value Before Ask
34- User should have experienced real value first
35- Upgrade should feel like natural next step
36- Timing: After "aha moment," not before
37 
38### 2. Show, Don't Just Tell
39- Demonstrate the value of paid features
40- Preview what they're missing
41- Make the upgrade feel tangible
42 
43### 3. Friction-Free Path
44- Easy to upgrade when ready
45- Don't make them hunt for pricing
46 
47### 4. Respect the No
48- Don't trap or pressure
49- Make it easy to continue free
50- Maintain trust for future conversion
51 
52---
53 
54## Paywall Trigger Points
55 
56### Feature Gates
57When user clicks a paid-only feature:
58- Clear explanation of why it's paid
59- Show what the feature does
60- Quick path to unlock
61- Option to continue without
62 
63### Usage Limits
64When user hits a limit:
65- Clear indication of limit reached
66- Show what upgrading provides
67- Don't block abruptly
68 
69### Trial Expiration
70When trial is ending:
71- Early warnings (7, 3, 1 day)
72- Clear "what happens" on expiration
73- Summarize value received
74 
75### Time-Based Prompts
76After X days of free use:
77- Gentle upgrade reminder
78- Highlight unused paid features
79- Easy to dismiss
80 
81---
82 
83## Paywall Screen Components
84 
851. **Headline** - Focus on what they get: "Unlock [Feature] to [Benefit]"
86 
872. **Value Demonstration** - Preview, before/after, "With Pro you could..."
88 
893. **Feature Comparison** - Highlight key differences, current plan marked
90 
914. **Pricing** - Clear, simple, annual vs. monthly options
92 
935. **Social Proof** - Customer quotes, "X teams use this"
94 
956. **CTA** - Specific and value-oriented: "Start Getting [Benefit]"
96 
977. **Escape Hatch** - Clear "Not now" or "Continue with Free"
98 
99---
100 
101## Specific Paywall Types
102 
103### Feature Lock Paywall
104```
105[Lock Icon]
106This feature is available on Pro
107 
108[Feature preview/screenshot]
109 
110[Feature name] helps you [benefit]:
111• [Capability]
112• [Capability]
113 
114[Upgrade to Pro - $X/mo]
115[Maybe Later]
116```
117 
118### Usage Limit Paywall
119```
120You've reached your free limit
121 
122[Progress bar at 100%]
123 
124Free: 3 projects | Pro: Unlimited
125 
126[Upgrade to Pro] [Delete a project]
127```
128 
129### Trial Expiration Paywall
130```
131Your trial ends in 3 days
132 
133What you'll lose:
134• [Feature used]
135• [Data created]
136 
137What you've accomplished:
138• Created X projects
139 
140[Continue with Pro]
141[Remind me later] [Downgrade]
142```
143 
144---
145 
146## Timing and Frequency
147 
148### When to Show
149- After value moment, before frustration
150- After activation/aha moment
151- When hitting genuine limits
152 
153### When NOT to Show
154- During onboarding (too early)
155- When they're in a flow
156- Repeatedly after dismissal
157 
158### Frequency Rules
159- Limit per session
160- Cool-down after dismiss (days, not hours)
161- Track annoyance signals
162 
163---
164 
165## Upgrade Flow Optimization
166 
167### From Paywall to Payment
168- Minimize steps
169- Keep in-context if possible
170- Pre-fill known information
171 
172### Post-Upgrade
173- Immediate access to features
174- Confirmation and receipt
175- Guide to new features
176 
177---
178 
179## A/B Testing
180 
181### What to Test
182- Trigger timing
183- Headline/copy variations
184- Price presentation
185- Trial length
186- Feature emphasis
187- Design/layout
188 
189### Metrics to Track
190- Paywall impression rate
191- Click-through to upgrade
192- Completion rate
193- Revenue per user
194- Churn rate post-upgrade
195 
196---
197 
198## Anti-Patterns to Avoid
199 
200### Dark Patterns
201- Hiding the close button
202- Confusing plan selection
203- Guilt-trip copy
204 
205### Conversion Killers
206- Asking before value delivered
207- Too frequent prompts
208- Blocking critical flows
209- Complicated upgrade process
210 
211---
212 
213## Task-Specific Questions
214 
2151. What's your current free → paid conversion rate?
2162. What triggers upgrade prompts today?
2173. What features are behind the paywall?
2184. What's your "aha moment" for users?
2195. What pricing model? (per seat, usage, flat)
2206. Mobile app, web app, or both?
221 
222---
223 
224## Related Skills
225 
226- **page-cro** — WHEN the public-facing pricing page needs optimization (before users are in-app). NOT for in-product upgrade screens or feature gates.
227- **onboarding-cro** — WHEN users haven't reached their activation moment and are hitting paywalls too early; fix onboarding first. NOT when value has already been delivered.
228- **ab-test-setup** — WHEN running controlled experiments on paywall trigger timing, copy, pricing display, or layout. NOT for initial paywall design.
229- **email-sequence** — WHEN setting up trial expiration or upgrade reminder email sequences to complement in-app prompts. NOT as a replacement for in-app paywall design.
230- **marketing-context** — Foundation skill for understanding ICP, pricing model, and value proposition. Load before designing paywall copy and positioning.
231 
232---
233 
234## Communication
235 
236Paywall recommendations must account for where the user is in their value journey — always confirm whether the aha moment has been reached before recommending upgrade prompt placement. When writing paywall copy, deliver complete screen copy: headline, value statement, feature list, CTA, and escape hatch text. Flag dark patterns proactively and recommend ethical alternatives. Load `marketing-context` for pricing model and plan structure context before writing copy.
237 
238---
239 
240## Proactive Triggers
241 
242- User reports low free-to-paid conversion rate → ask where in the journey the paywall appears and whether the aha moment is reached first.
243- User mentions users hitting limits and churning → distinguish between limit frustration (fix timing/messaging) vs. wrong ICP (fix acquisition).
244- User asks about freemium model design → help define what's free vs. paid, then design paywall moments around natural value gaps.
245- User shares a trial expiration screen → audit for dark patterns, missing escape hatches, and unclear value summarization.
246- User mentions mobile app monetization → flag platform-specific considerations (App Store IAP rules, Google Play billing requirements).
247 
248---
249 
250## Output Artifacts
251 
252| Artifact | Description |
253|----------|-------------|
254| Paywall Trigger Map | All paywall trigger points with timing rules, cooldown periods, and frequency caps |
255| Full Paywall Screen Copy | Headline, value demonstration, feature comparison, CTA, and escape hatch for each paywall type |
256| Upgrade Flow Diagram | Step-by-step from paywall click to post-upgrade confirmation with friction reduction notes |
257| Anti-Pattern Audit | Review of existing paywall for dark patterns, trust-damaging copy, and conversion killers |
258| A/B Test Backlog | Prioritized experiment ideas for trigger timing, copy, and pricing display |
259 
View all files on GitHub →

Details

Updated
Aug 30, 2026
License
MIT
Stars on the repo
★ 26,349
Checked
Source
alirezarezvani/claude-skills ↗
Creator
alirezarezvani · 363 listings
View creator

Similar skills

See all →
SkillDesign or optimize their app's monetizationMobile App Monetization Strategyappeeky/aso-skills · by appeekyWhen the user wants to design or optimize their app's monetization — pricing, paywalls, subscriptions, or in-app purchases. Also use when the user mentions "pricing", "paywall", "subscription", "IAP", "how to monetize", "revenue optimization", "free trial", or "conversion to paid". For retention impact, see retention-optimization. For competitive pricing, see competitor-analysis.★ 2.2k GitHub starsSkillDesign, test, or optimize their app's paywallPaywall Optimization (Subscription Apps)appeeky/aso-skills · by appeekyWhen 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.★ 2.2k GitHub starsSkillSets price, structures packages and tiersPricing and packagingcbrock84/headcount · by cbrock84Sets price, structures packages and tiers, and designs the monetization surfaces that carry them — upgrade paths, paywalls, and offer construction. Use this to set or change pricing, design or restructure tiers, choose a pricing metric, build an offer, design upgrade prompts and paywalls, or evaluate whether a pricing change is safe to make.★ 2k GitHub starsSkillHelp users validate willingness-to-payPricing Strategy (Lenny's Podcast)RefoundAI/lenny-skills · by RefoundAIHelp users validate willingness-to-pay, select the right value metrics, and continuously optimize pricing and packaging to drive growth.★ 1.4k GitHub starsSkillDesigns a deliberate sequence of offers so a new customer$100M Money Modelsgetagentseal/founder-playbook · by getagentsealDesigns a deliberate sequence of offers (attraction, upsell, downsell, continuity) so a new customer generates enough cash within ~30 days to fund acquiring the next one - Alex Hormozi's client-financed acquisition. Use when customers buy once and never again, when CAC eats all the profit, when you can't afford to advertise profitably, when the business grows but cash shrinks, when you sell one product at one price, when deciding what to sell first or next, or when structuring upsells, downsells, payment plans, trials, and continuity. Covers the 30-day payback rule, attraction/upsell/downsell/continuity offer types, and cash-flow sequencing for validated markets.★ 729 GitHub starsSkillDesigns irresistible Grand Slam Offers using Alex Hormozi's$100M Offersgetagentseal/founder-playbook · by getagentsealDesigns irresistible Grand Slam Offers using Alex Hormozi's value equation, obstacle-solution mapping, value-cost trim/stack, and offer-naming patterns. Use when fixing low conversion rates, packaging products, pricing services, designing high-converting offers, or when prospects browse but don't buy. Covers value stacking, guarantees, scarcity, urgency, and pricing psychology for validated markets.★ 729 GitHub stars

More from alirezarezvani

SkillResume a paused experiment/ar:ar-resume — Resume Experimentalirezarezvani/claude-skills · by alirezarezvaniResume a paused experiment. Checkout the experiment branch, read results history, continue iterating. Use when the user runs /ar:ar-resume or asks to pick up a previously started autoresearch experiment.★ 26.3k GitHub starsSkillShow experiment dashboard with results, active loops/ar:ar-status — Experiment Dashboardalirezarezvani/claude-skills · by alirezarezvaniShow experiment dashboard with results, active loops, and progress. Use when the user runs /ar:ar-status or asks how an autoresearch experiment is going.★ 26.3k GitHub starsSkillStart an autonomous experiment loop with user-selected/ar:loop — Autonomous Experiment Loopalirezarezvani/claude-skills · by alirezarezvaniStart an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.★ 26.3k GitHub starsSkillRun a single experiment iteration/ar:run — Single Experiment Iterationalirezarezvani/claude-skills · by alirezarezvaniRun a single experiment iteration. Edit the target file, evaluate, keep or discard. Use when the user runs /ar:run or asks for one manual autoresearch iteration.★ 26.3k GitHub starsSkillSet up a new autoresearch experiment interactively/ar:setup — Create New Experimentalirezarezvani/claude-skills · by alirezarezvaniSet up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator. Use when the user runs /ar:setup or asks to start optimizing a file with the autoresearch loop.★ 26.3k GitHub starsSkill/cs:boardroom <brief/cs:boardroom — Multi-Role Boardroom Deliberationalirezarezvani/claude-skills · by alirezarezvani/cs:boardroom <brief> — 6-phase multi-role deliberation across the C-suite with Phase 2 isolation, critic pre-screen, and synthesis. Outputs a board memo. Use when a decision spans multiple executive domains — e.g. a pricing change touching finance, positioning, and product, or a raise-vs-cut runway call.★ 26.3k GitHub stars