revenuecat-entitlements-gate

Evaluate RevenueCat entitlement state to gate premium feature access.

58|5|Updated Feb 2, 2026
One-click install
npx skills add https://github.com/RevenueCat/ai-toolkit --skill revenuecat-entitlements-gate
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: revenuecat-entitlements-gate
Source: https://github.com/RevenueCat/ai-toolkit/tree/main/revenuecat/skills/revenuecat-entitlements-gate
Command: npx skills add https://github.com/RevenueCat/ai-toolkit --skill revenuecat-entitlements-gate

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you determine whether a user should be allowed to access a paid (premium) feature in your app without hardcoding product logic.

Core Features & Use Cases

  • Entitlement-based access checks: Uses RevenueCat customerInfo.entitlements.active to decide access by entitlement identifier (e.g., "premium") rather than product IDs.
  • Reactive entitlement updates: Subscribes to entitlement changes via the platform SDK listener/stream so the UI updates automatically after purchases, restores, renewals, expirations, or dashboard changes.
  • Cross-platform integration guidance: Provides implementation patterns for iOS, Android, Kotlin Multiplatform, Flutter, and React Native, including where to place the listeners and how to seed initial state.

Quick Start

Tell your AI assistant: "Check if the current user has the 'premium' entitlement and update my UI to show PremiumScreen when active and PaywallScreen when inactive."

Frequently Asked Questions about revenuecat-entitlements-gate

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check RevenueCat entitlement status to gate premium features?

Check RevenueCat entitlement status by reading `customerInfo.entitlements.active` keyed by your configured entitlement identifier to determine if a user has active access to premium features.

How do I handle reactive entitlement updates after a purchase or renewal?

Subscribe to the platform SDK listener or stream to receive reactive entitlement updates, ensuring the UI automatically refreshes after purchases, restores, renewals, expirations, or dashboard changes.

Can I use entitlement-based feature gating across iOS, Android, Flutter, and React Native?

Entitlement-based feature gating works across iOS, Android, Kotlin Multiplatform, Flutter, and React Native, providing integration patterns for placing listeners and seeding initial cached state on each platform.

What is the best way to gate premium features without hardcoding product IDs?

Gate premium features by evaluating RevenueCat entitlement state using an entitlement identifier like "premium" rather than product IDs, decoupling access logic from specific store purchases.

Why should I avoid gating premium access on expired purchase history?

Gating on expired purchase history grants unauthorized access because past transactions do not reflect current entitlements; always evaluate `customerInfo.entitlements.active` for live subscription status.