paywalls
Helps your agent create or improve in-app payment screens and upgrade options. The goal is to convince free users to become paying customers.
What it does
This tool helps create and improve in-app payment screens (paywalls) and upgrade screens. The goal is to convince free users to pay for features or upgrade to a better plan.
When to use it
- ✓When you want free users to become paying customers.
- ✓When defining which features are available only to paying users.
- ✓To show users what they are missing by not paying.
Example of what to ask your AI
“I need to optimize the screen that appears when a user hits the free usage limit and needs to upgrade.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The AI analyzes your product's context and the user journey. It suggests how to present the value of paid features and make the upgrade process easy and clear, without pressuring the user.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add coreyhaines31/marketingskills --skill paywallsOr download just the file:
curl -L https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/paywalls/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
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 .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), 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:
Upgrade Context - Freemium → Paid? Trial → Paid? Tier upgrade? Feature upsell? Usage limit?
Product Model - What's free? What's behind paywall? What triggers prompts? Current conversion rate?
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
Headline - Focus on what they get: "Unlock [Feature] to [Benefit]"
Value Demonstration - Preview, before/after, "With Pro you could..."
Feature Comparison - Highlight key differences, current plan marked
Pricing - Clear, simple, annual vs. monthly options
Social Proof - Customer quotes, "X teams use this"
CTA - Specific and value-oriented: "Start Getting [Benefit]"
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
For comprehensive experiment ideas: See references/experiments.md
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
…
FAQ
What is a 'paywall'?
It's a barrier that restricts access to a feature or content until the user pays for it or upgrades.
What does 'CRO' mean?
CRO stands for Conversion Rate Optimization. In this context, it's about improving payment screens so more people upgrade.
When should I NOT show a paywall?
Avoid showing it right at the beginning (onboarding), when the user is in the middle of an important task, or if they have recently dismissed the offer.
Details
Original description by the author
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," "in-app pricing," "free users won't upgrade," "trial to paid conve
Popularity
- GitHub stars
- 55k
- Ranking position
- #1785
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
ab-testing
Helps your agent plan and run A/B tests. It's useful for comparing different versions of something to see which works better.
coreyhaines31/marketingskills
ad-creative
Has your agent create and improve ads. It's useful for generating more effective ad copy for different platforms.
coreyhaines31/marketingskills
ads
Helps your agent with paid advertising campaigns. It's useful for managing ads on platforms like Google and Facebook.
coreyhaines31/marketingskills
ai-seo
Helps your agent optimize content for AI searches. It's useful for getting your content to appear in AI-generated answers.
coreyhaines31/marketingskills
Similar skills
product-lens
Helps your agent validate product ideas before building. It analyzes market fit and user experience to decide if a product should proceed.
affaan-m/ECC
investor-outreach
Helps your agent write emails to investors. It creates personalized messages to ask for investment or send updates.
affaan-m/ECC
release-announcement
Helps your agent write launch announcements. It focuses on user impact and how to use new features.
paperclipai/paperclip