Suede-affiliated in-product monetization design for paywall screens, feature gates, trial-expiry states, usage-limit prompts, and free-to-paid upgrade moments. Use when the user needs trigger timing, message structure, plan presentation, or experiment design after users have experienced value. NOT FOR: public pricing pages (use suede-site-alchemy), tier architecture (use suede-pricing), or cancellation and save flows (use suede-churn-prevention).
5k tokens
context cost
the whole folder, loaded on every use
4
files
instructions only
0
copies elsewhere
how many repositories repackaged it
166
stars on the repo
on the repository, not the skill itself
Install
one command, takes just this skill from the repository
Suede designs in-product monetization around a truthful entitlement boundary and a value-aware moment, not interruption volume. Define when the user has enough context to evaluate an upgrade, what the paid change actually unlocks, and how to test the prompt without obscuring price, consent, or exit.
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.
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
Task-Specific Questions
What's your current free → paid conversion rate?
What triggers upgrade prompts today?
What features are behind the paywall?
What's your "aha moment" for users?
What pricing model? (per seat, usage, flat)
Mobile app, web app, or both?
Boundaries
Do not fabricate entitlement, plan, price, conversion, trial, or usage-limit data.
Do not change billing, entitlements, app configuration, experiments, or live paywalls without explicit authorization.
Do not recommend hidden close controls, confusing consent, forced continuity, obstructive cancellation, or false urgency.
Do not decide refund, tax, legal, platform-policy, accessibility, or billing-risk terms for the user.
Routing
Use suede-churn-prevention for cancel and save flows.
Use suede-site-alchemy for public pricing pages and suede-pricing for tier architecture.
Use suede-onboarding to reach first value and suede-ab-testing to validate paywall variations.
How to use it
Copy the folder
Take jasoncolapietro/suede-paywalls from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
Check the name does not clash
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.