Index of every page on this site: llms.txt
All skills
tristanmanchester avatar

/expo-revenuecat-superwall-integration

@3323bc9
Run it yourself

Integrate or repair RevenueCat and Superwall together in an Expo React Native app. Use for their shared purchase ownership, Android offer selection, billing identity, entitlement sync, restore, or migration flows; not for web billing or unrelated paywall providers.

Use this Skill: https://skilld.dev/gh/tristanmanchester/agent-skills/expo-revenuecat-superwall-integration

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

referencestesting-matrix.md

≈807 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Testing Matrix

Do not ship based on one successful sandbox purchase.

Build setup checks

Before purchase testing:

  • development build works on iOS and Android
  • public SDK keys load correctly per platform
  • app compiles with the chosen architecture
  • at least one placement is active in Superwall
  • products and entitlements exist in RevenueCat
  • test users are ready in sandbox or test store as needed

Recommended environments

Early code validation

Use:

  • development builds
  • RevenueCat Test Store when appropriate
  • mocked or internal analytics

Pre-release validation

Use:

  • iOS sandbox or TestFlight test accounts
  • Google Play internal testing or closed testing
  • real purchase flows through store sandboxes
  • backend logging if server notifications or webhooks matter

Scenario matrix

A. App startup

  1. cold start without auth
  2. cold start with known authenticated user
  3. cold start after reinstall
  4. full restart after changing Superwall placements or campaigns

Expected results:

  • providers initialise once
  • no duplicate purchase listeners
  • no placement-not-found surprises after a restart
  • entitlement sync runs once

B. Purchase flows

  1. successful purchase on iOS
  2. successful purchase on Android
  3. user-cancelled purchase
  4. network or store failure
  5. pending Android purchase
  6. purchase completes but entitlement is misconfigured

Expected results:

  • success unlocks the correct entitlement
  • cancellation is not shown as success
  • pending does not falsely unlock premium access
  • misconfigured entitlements are visible in logs and UI state

C. Restore flows

  1. explicit Restore Purchases button tapped by a guest user
  2. restore on a signed-in user
  3. restore after reinstall
  4. restore when transfer behaviour matters across two accounts

Expected results:

  • restore is user-triggered
  • entitlement state updates correctly
  • account ownership behaviour matches the chosen RevenueCat restore policy

D. Identity transitions

  1. guest uses app, then logs in
  2. user A signs out to guest state
  3. user A switches directly to user B
  4. login-first app launches with custom ID from the start

Expected results:

  • same ID is used in RevenueCat and Superwall
  • direct account switch does not create unnecessary anonymous IDs
  • support can inspect the active billing identity

E. Webhook and attribution checks

Only for projects that need them.

  1. make a fresh purchase after identify()
  2. inspect backend webhook or server-notification payload
  3. compare app identity, RevenueCat App User ID, and server-observed identifier
  4. repeat with Android if Play-side identifier passthrough matters

Expected results:

  • backend identifiers match the intended user model
  • UUID expectations are met on iOS
  • historical purchases made before the identity fix are understood and documented

Release gate

Before sign-off, the project should be able to answer:

  • which architecture is in use and why
  • whether guest purchases are allowed
  • which restore behaviour is configured in RevenueCat
  • whether webhooks and server notifications rely on UUID billing IDs
  • which entitlements unlock which features
  • how support staff can find a user's App User ID

Source: SKILL.md on GitHub

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

No alerts1mo4 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    The expo-revenuecat-superwall-integration skill is a professional integration guide for React Native Expo applications. It provides structured architectural choices, implementation playbooks, and a local validation script to ensure a secure and production-ready monetisation stack. The skill adheres to security best practices, such as using public API keys and avoiding PII for identifiers, and contains no malicious code or exfiltration patterns.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

  • ZeroLeaks6mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 3323bc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Steadyupdated last month
metadata
{
  "version": "3.0.0",
  "reviewed": "2026-09-13"
}
Other metadata
compatibility
Expo development builds on iOS/Android, expo-superwall's current provider API, and react-native-purchases 9.7 or newer. Resolve native platform requirements from the installed Expo and SDK versions. Offline checks need Python 3.10+, Node.js, and TypeScript.

README badge

README badge for tristanmanchester/agent-skills/expo-revenuecat-superwall-integration