ab-test-store-listing
When the user wants to A/B test App Store product page elements to improve conversion rate. Also use when the user mentions "A/B…
When the user wants to optimize their subscription business end-to-end — from trial start through renewal, cancellation, and win-back. Use when the user mentions "subscription lifecycle", "trial conversion", "churn", "cancellation", "win-back", "lapsed subscribers", "dunning",
Claude Code
$ npx -y skills add appeeky/aso-skills --skill subscription-lifecycle --agent claude-code
Codex
$ npx skills add appeeky/aso-skills --skill subscription-lifecycle -a codex -y
Cursor
$ npx skills add appeeky/aso-skills --skill subscription-lifecycle -a cursor -y
Gemini CLI
$ npx skills add appeeky/aso-skills --skill subscription-lifecycle -a gemini-cli -y
GitHub Copilot
$ npx skills add appeeky/aso-skills --skill subscription-lifecycle -a github-copilot -y
OpenCode
$ npx skills add appeeky/aso-skills --skill subscription-lifecycle -a opencode -y
Windsurf
$ npx skills add appeeky/aso-skills --skill subscription-lifecycle -a windsurf -y
name: subscription-lifecycle description: When the user wants to optimize their subscription business end-to-end — from trial start through renewal, cancellation, and win-back. Use when the user mentions "subscription lifecycle", "trial conversion", "churn", "cancellation", "win-back", "lapsed subscribers", "dunning", "billing retry", "grace period", "renewal rate", "subscriber LTV", or "resubscribe". For paywall design and pricing strategy, see monetization-strategy. For subscription analytics dashboards, see app-analytics. metadata: version: 1.0.0
You optimize every stage of the subscription journey: trial → paid → renewal → cancellation recovery → win-back.
Install → Trial start → [Trial period] → Conversion → Renewal → ... → Cancel → Win-back
↓ ↓ ↓ ↓
No convert Voluntary Involuntary Lapsed
(nurture) (exit survey) (dunning) (campaign)| Stage | Metric | Formula | Benchmark | |-------|--------|---------|-----------| | Trial | Trial start rate | Trials / Downloads | > 20% | | Trial | Trial-to-paid | Conversions / Trials | 25–40% strong | | Retention | Month 1 renewal | M1 renewals / Subscribers | > 70% | | Retention | Month 6 renewal | M6 renewals / Subscribers | > 50% | | Churn | Monthly churn | Lost subs / Start subs | < 5% good; < 2% excellent | | Revenue | MRR | Active subs × monthly price | — | | Revenue | LTV | ARPU / Monthly churn rate | — | | Recovery | Dunning recovery | Recovered / Failed payments | > 30% | | Win-back | Resubscribe rate | Returns / Lapsed | 5–15% |
| App Type | Recommended trial | Notes | |----------|------------------|-------| | Simple utility | 3–7 days | Value obvious quickly | | Health/fitness | 7–14 days | Habit formation needs time | | Productivity | 7–14 days | Workflow integration | | Education | 7–14 days | First lesson completion | | Entertainment | 7 days | Binge behavior |
**Test:** Monthly apps with a 7-day trial vs. 14-day trial — conversion rate may drop slightly but LTV often increases.
Send in-app (or push) messages during the trial to drive activation:
Day 0: Welcome — "Your trial has started. Here's how to get the most from it." Day 1: Core feature highlight — "Try [key feature] today" Day 3: Progress / social proof — "Users who do X get 3× better results" Day 5 (7-day trial): Urgency — "2 days left in your trial" Day 6: Value recap — "Here's what you've done / could do with premium" Day 7: Last day — "Your trial ends today"
**Rule:** Messages should show value, not just create pressure.
At trial end, show a paywall that:
See `monetization-strategy` for paywall design details.
| Reason | Signal | Fix | |--------|--------|-----| | Forgot they subscribed | Low sessions, no activation | Improve onboarding + notification strategy | | Not enough value | Low feature usage | Push underused high-value features | | Too expensive | Price sensitivity | Introduce lower-tier or pause option | | Problem with app | 1-star reviews | Fix the bug, reply to reviews | | Found alternative | — | Monitor competitor installs | | Seasonal use | Churns at same time yearly | Offer a pause option |
When a user initiates cancellation (iOS — `ManagedSubscriptionGroup`):
1. **Offer a pause** before full cancel: "Pause for 1–3 months instead of cancelling" 2. **Show value recap**: "You've used [feature] X times this month" 3. **Offer a discount**: Only as last resort — 20–30% off for 3 months 4. **Exit survey**: Always ask "Why are you cancelling?" (1 tap, not an essay)
**Cancellation exit survey options:**
Users at high churn risk:
Trigger a re-engagement push or in-app message before they cancel.
Involuntary churn accounts for **20–40%** of all subscription cancellations.
| Day | Action | |-----|--------| | 0 | Payment fails silently — Apple/Google retry | | 3 | Apple/Google retry #2 | | 7 | Apple/Google retry #3 — show in-app "Update payment method" banner | | 10 | Send push: "Your subscription couldn't be renewed — tap to update" | | 14 | Grace period ends — subscription suspended | | 15 | Final in-app message: "Reactivate to keep access" |
**Grace period:**
Maximize grace period length — every extra day recovers more subscribers.
RevenueCat handles dunning automatically. Key settings:
See `revenuecat.md` integration guide.
Target lapsed subscribers (cancelled or expired in last 30–90 days).
Start with the softest offer; escalate only if no response:
Week 1 after lapse: "We miss you" — highlight new features added since they left Week 3: "Come back for 30% off your first month back" Week 6: "3 months at 50% off — best offer we'll m
AI agent skills for App Store Optimization (ASO) and mobile app marketing. Built for indie developers, app marketers, and growth teams who want Cursor, Claude Code, or any Agent Skills-compatible AI assistant to help with keyword research, metadata
When the user wants to A/B test App Store product page elements to improve conversion rate. Also use when the user mentions "A/B…
When the user wants to optimize their Google Play Store listing — title, short description, full description, keywords, ratings,…
When the user wants to set up, interpret, or improve their app analytics and tracking. Also use when the user mentions…
When the user wants to implement, optimize, or use App Clips for app discovery and conversion. Use when the user mentions "App…
When the user wants to design, test, or improve their app icon to increase tap-through rate and conversions in App Store search…
When the user wants to plan a launch strategy for a new app or major update. Also use when the user mentions "app launch",…
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…