npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ios-paywall-creator

v1.0.0

Published

Create production-grade iOS paywalls with StoreKit 2 integration - A Claude Code skill for generating native Swift paywall implementations

Readme

iOS Paywall Creator

A Claude Code skill that helps iOS developers create production-ready paywalls with native StoreKit 2 integration.

Transform your iOS app monetization from zero to production-ready in minutes. This skill guides you through the complete process—from App Store Connect setup to beautiful, functional paywall UI—with no placeholders or manual configuration needed.

npm version License: MIT

🎯 What This Skill Does

The iOS Paywall Creator is an interactive guide that walks you through:

  1. Product Planning - Define your subscription tiers or in-app purchases
  2. App Store Connect Setup - Step-by-step guidance for creating subscriptions/IAP
  3. ID Collection - Captures your actual product IDs and subscription group ID
  4. Design Direction - Work from inspiration images or choose from generated themes
  5. Code Generation - Produces production-ready Swift code with your actual IDs pre-configured

The Result: Copy-paste ready StoreKitManager.swift and PaywallView.swift files that work immediately—no manual editing required.

🚀 Quick Start

Installation

Option 1: Quick Install with npx (Recommended)

npx ios-paywall-creator

Option 2: Install from GitHub

npx github:krythz43/ios-paywall-creator-skill

Option 3: Global Installation

npm install -g ios-paywall-creator

Option 4: Manual Git Clone

git clone https://github.com/krythz43/ios-paywall-creator-skill.git ~/.claude/skills/ios-paywall-creator

That's it! The skill will be installed to ~/.claude/skills/ios-paywall-creator automatically.

Prerequisites

  • macOS with Xcode installed
  • Active Apple Developer account
  • App Store Connect access
  • An iOS app project (SwiftUI preferred)

Usage

Open Claude Code and say:

"Help me create a paywall for my iOS app"
"Add StoreKit subscriptions to my app"
"I need to monetize my app with in-app purchases"
"Create a paywall with weekly, monthly, and yearly subscriptions"

The skill will automatically activate and guide you through the process.

📋 Features

Comprehensive Guidance

  • No Experience Required - Step-by-step instructions for App Store Connect
  • Multiple Product Types - Supports auto-renewing subscriptions, consumable IAP, and non-consumable IAP
  • Flexible Integration - Hard paywalls, soft paywalls, feature gates, or settings pages

Design Flexibility

  • Inspiration-Based - Provide a screenshot of a paywall you like
  • Theme Generator - Choose from pre-designed aesthetic options
  • Custom Styling - Describe your vision and get matching UI code

Production-Ready Code

  • StoreKit 2 - Modern async/await patterns with proper error handling
  • Transaction Observer - Real-time subscription status updates
  • Receipt Verification - Secure transaction validation
  • Restore Purchases - Built-in restoration flow
  • Legal Compliance - Terms of Service, Privacy Policy, and required App Store text

Zero Configuration

  • Actual IDs Used - Your product IDs are inserted directly into generated code
  • No Placeholders - No "YOUR_APP_ID" or manual find-and-replace needed
  • Copy-Paste Ready - Generated files work immediately in your project

💡 Example Workflow

You: "I want to add subscriptions to my meditation app"

Claude (via skill):
1. Asks about your monetization needs (subscriptions vs IAP)
2. Helps you plan pricing tiers (weekly/monthly/yearly)
3. Guides you through App Store Connect setup
4. Collects your actual product IDs:
   - "com.yourapp.premium.weekly"
   - "com.yourapp.premium.monthly"
   - "com.yourapp.premium.yearly"
   - Subscription Group ID: "21995608"
5. Asks for design inspiration
6. Generates complete Swift files with YOUR IDs already configured

Output:

  • StoreKitManager.swift - Full StoreKit 2 implementation
  • PaywallView.swift - Custom UI matching your design
  • Integration instructions for your specific use case
  • Testing checklist

📚 What You Get

StoreKitManager.swift

  • Transaction observer for real-time updates
  • Product loading with error handling
  • Purchase flow with verification
  • Subscription status checking
  • Restore purchases functionality
  • Support for multiple tiers or IAP types

PaywallView.swift

  • Custom-designed UI based on your inspiration
  • Subscription selection interface
  • Feature comparison (if applicable)
  • Legal text (Terms, Privacy, auto-renewal notice)
  • Loading and error states
  • Restore purchases button

Integration Code

  • App initialization
  • Where to present the paywall
  • Feature gating examples
  • First-launch detection

🎨 Design Approach

The skill follows modern iOS design principles:

  • Distinctive, Not Generic - Avoids cookie-cutter templates
  • Context-Aware - Matches your app's aesthetic
  • Accessibility-First - Proper labels and hints
  • Dark Mode Support - Uses adaptive colors
  • Human-Centered - Clear value propositions, readable legal text

🔧 Advanced Features

Multiple Subscription Tiers

Generate code for Basic/Premium/Ultimate tier structures with proper upgrade/downgrade handling.

Consumable IAP

Includes token/credit purchasing with local or backend balance tracking.

Backend Integration

Optional patterns for syncing purchases with your server for cross-platform access.

Introductory Offers

Support for free trials and promotional pricing (configured in App Store Connect).

📖 Documentation

🧪 Testing

The generated code includes:

  • Sandbox testing instructions
  • StoreKit Configuration File guidance
  • Common issues and solutions
  • Testing checklist for App Store Review

🤝 Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built for Claude Code by Anthropic
  • StoreKit 2 patterns from Apple's documentation

🐛 Troubleshooting

Products Not Loading

  • Verify product IDs match exactly (case-sensitive)
  • Check that products are "Cleared for Sale" in App Store Connect
  • Ensure subscription group exists
  • Try try await AppStore.sync()

Purchase Doesn't Update Status

  • Verify transaction observer is initialized
  • Check checkPurchasedProducts() is called after purchase
  • Review Transaction.currentEntitlements logic

UI Issues on Small Screens

  • Test on iPhone SE (smallest screen)
  • Use GeometryReader for adaptive sizing
  • Add .minimumScaleFactor() to text

💬 Support

  • Open an issue on GitHub
  • Check existing issues for solutions
  • Share your experience and help others

🌟 Star History

If this skill helped you, please consider giving it a star! ⭐


Made with ❤️ for the vibe coding community