revenuecat-troubleshoot

revenuecat-troubleshoot is a skill for Claude Code from RevenueCat/ai-toolkit. It costs 101 tokens per session (3,320 once invoked), scanned A, original, MIT.

A troubleshooting guide for RevenueCat integrations. It investigates problems such as missing products, empty purchase options, inactive access after payment, paywall loading failures, and sandbox transactions that do not appear.

In plain words
What is it for?
Use it to inspect debug logs and RevenueCat apps, products, entitlements, offerings, and webhooks while diagnosing purchase and subscription issues.
Why use it?
It combines checks in the app’s code and RevenueCat’s project configuration, helping identify whether the problem is on either side.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the revenuecat plugin — 18 skills, 1 MCP server shipped together

not rated 65repo 10d ago A scan Socket: passSnyk: passSkillSpector: pass 101 tokens original MIT

Good fit Use it to inspect debug logs and RevenueCat apps, products, entitlements, offerings, and webhooks while diagnosing purchase and subscription issues.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/revenuecat/ai-toolkit/revenuecat-troubleshoot
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add RevenueCat/ai-toolkit --skill revenuecat-troubleshoot
Clone the repo
git clone --depth 1 https://github.com/RevenueCat/ai-toolkit

Made for: Claude Code.

Or install revenuecat, the plugin that ships this one along with the rest of its 18 skills, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for revenuecat-troubleshoot

README.md
[![agentmods](https://agentmods.dev/badge/skills/revenuecat/ai-toolkit/revenuecat-troubleshoot/github.svg)](https://agentmods.dev/skills/revenuecat/ai-toolkit/revenuecat-troubleshoot)
Your own site
<a href="https://agentmods.dev/skills/revenuecat/ai-toolkit/revenuecat-troubleshoot"><img src="https://agentmods.dev/badge/skills/revenuecat/ai-toolkit/revenuecat-troubleshoot/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for revenuecat-troubleshoot

Your own site · 80×15
<a href="https://agentmods.dev/skills/revenuecat/ai-toolkit/revenuecat-troubleshoot"><img src="https://agentmods.dev/badge/skills/revenuecat/ai-toolkit/revenuecat-troubleshoot.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 101 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,320 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket pass 8 May 2026
  • Snyk pass 8 May 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00101 $0.03320
Opus 5 $0.00051 $0.01660
Sonnet 5 $0.00020 $0.00664
Haiku 4.5 $0.00010 $0.00332

Measured 13d ago against content hash 7997c7d5f17e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

revenuecat-troubleshoot scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

revenuecat/skills/revenuecat-troubleshoot/SKILL.md · 258 lines

How it starts

The opening of the file, as written. The whole thing — 258 lines — stays where its author put it; the contents beside it link to each section on GitHub.

revenuecat-troubleshoot: diagnose RevenueCat integration problems

Use this skill when the user reports a RevenueCat behavior that does not match expectations: empty offerings, missing products, an entitlement that does not unlock after a successful purchase, a paywall that fails to render, or sandbox transactions that never reach the dashboard.

This skill combines two angles:

  1. Code-side diagnosis — turn on debug logging, walk a universal checklist, drop into platform specifics.
  2. Dashboard inspection — use the RevenueCat MCP server or the rc CLI (see the revenuecat-cli skill) to read the project, apps, products, entitlements, offerings, and webhooks, and offer fixes.

Work them in order. Most reports resolve before you reach the platform specifics.

1. Detect the platform

Inspect the working directory and pick the first match, from top to bottom:

  1. React Native: package.json has a react-native-purchases entry, or react-native as a dependency → read platforms/react-native.md. If expo is also a dependency, note it as an Expo project.
  2. Flutter: pubspec.yaml exists at the project root → read platforms/flutter.md.
  3. Kotlin Multiplatform: build.gradle.kts contains a kotlin { … } multiplatform source sets block, or depends on com.revenuecat.purchases:purchases-kmp* → read platforms/kmp.md.
  4. Android (native): build.gradle(.kts) applies com.android.application (and is not KMP) → read platforms/android.md.
  5. iOS (native): Package.swift, *.xcodeproj, *.xcworkspace, or Podfile at the project root → read platforms/ios.md.

If several match (e.g. an ios/ folder inside a Flutter project), pick the outermost project, the one that owns the build. If still ambiguous, ask the user which platform the bug reproduces on.

2. Universal code-side checklist

Walk these nine items in order. Most reports are resolved by steps 1 through 5.

  1. Turn on debug logging and reproduce. The SDK narrates what it is doing. Roughly 80% of reports are diagnosable from the log output alone. Each platform file shows how to set logLevel to debug.
  2. Verify the API key platform matches the app. iOS apps must use an appl_… public SDK key. Android apps must use goog_… (or amzn_… for Amazon). A mismatched key produces an authentication error on the first network call. On iOS this surfaces as an INVALID_CREDENTIALS error code. On Android it surfaces as PurchasesErrorCode.InvalidCredentialsError. Use the list-app-public-api-keys RevenueCat MCP tool to list the API keys for the project.
  3. Verify the bundle ID / package name matches the one set up in the RevenueCat project. List the apps using the list-apps RevenueCat MCP tool. The bundle_id (iOS / App Store) or package_name (Android / Play Store / Amazon Appstore) registered there must match the built app exactly, including capitalization. A mismatch causes offerings to come back empty because the app is not recognized.
  4. Verify offerings in the RevenueCat project. List the project's offerings using the list-offerings RevenueCat MCP tool, passing the parameter expand=items.package.product. The offering marked with is_current: true must have at least one package attached, and each package must reference a store product. An offering with zero packages returns an empty availablePackages list even though getOfferings succeeds.
  5. Verify store products are live. Products must be in "Ready to Submit" on App Store Connect or "Active" on Google Play Console. A product in a draft state will not be returned by the store, even in sandbox. If the SDK logs show offerings arriving from RevenueCat but products failing to resolve, this is almost always the cause. Use the get-product-store-state RevenueCat MCP tool to understand the state of product in App Store Connect or Google Play Console (field store_status). To fix or change the store state (not just read it), follow the revenuecat-store-state skill.
  6. Verify the testing account. iOS: the device must be signed into a Sandbox Apple ID under Settings → App Store → Sandbox Account (set on iOS 14+ after the first sandbox prompt). Android: the tester's Gmail must be added to Google Play Console → Setup → License testing, and the app must be installed via the Internal Testing opt-in link, not sideloaded.
  7. Verify the network. Corporate VPNs, captive portals, and some DNS filters silently block the RevenueCat API or the store APIs. Try a different network before digging deeper.
  8. Verify the appUserID. If logIn(appUserID) was called with an ID that does not match what the user expects, entitlements appear missing because they are attached to a different RC user. Print Purchases.shared.appUserID (iOS) / Purchases.sharedInstance.appUserID (Android) and confirm it matches.
  9. Reset and retry. Uninstall the app, re-sign into the sandbox / tester account, reinstall from the correct channel, relaunch.

Read the full file on GitHub · 258 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 13d ago First seen · 258 lines · 101 tokens per session scan A 7997c7d5f17e

Subscribe to this mod's changes

revenuecat-troubleshoot is a skill published in the GitHub repository RevenueCat/ai-toolkit (65 stars, last pushed 10d ago), licensed MIT. It adds 101 tokens to every session and 3,320 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

b2c-logs

Retrieve and search logs from B2C Commerce instances using the b2c CLI. Use this skill whenever the user needs to view server logs, search for errors, filter log entries by level or time, or monitor logs in real-time. Also use when the user reports a 500 error, broken checkout, failing job, or any server-side issue…

SalesforceCommerceCloud/b2c-developer-tooling · 100 tokens

doctor

Audits an existing PagoKit integration in the current project against the generated per-provider checklist, so it covers every provider in the catalog rather than a hardcoded few. Checks .gitignore covers .env, that env vars are present and use test-key prefixes, that the webhook secret looks valid, that the webhook…

Hainrixz/agente-pagokit · 105 tokens

wcs-health-check-processing

WooCommerce Subscriptions 8.8+ Health Check and Processing Reliability playbook for missing renewal schedules, automatic-renewal candidates, guarded Resolve actions, dedicated Action Scheduler processing, web cron, health-check tables, logs, AJAX nonces, and queue filters. Use for WCS Health Check…

Lonsdale201/wp-agent-skills · 90 tokens

sealeap-amazon-featured-offer-loss-triage

Triage loss of the Amazon Featured Offer by checking account health, order defect signals, price competitiveness, offer and fulfillment state, listing classification, unauthorized sellers, and external price evidence before escalating. Use when the Buy Box or purchase button disappears or repeatedly returns. Do not…

xjli360/sealeap-amazon-ad-skills · 80 tokens

wc-logging

Add production-safe WooCommerce logs with wcgetlogger(). Covers stable sources, severity levels and thresholds, structured JSON context, correlation IDs, sensitive-data redaction, WooCommerce 11.0 file-v2 formatting and batched retention cleanup, volume control, custom handlers, and why logs are not durable business…

Lonsdale201/wp-agent-skills · 91 tokens

sfcc-webdav-workflows

Practical guide for using WebDAV in Salesforce B2C Commerce Cloud for IMPEX transfers and log access. Use this when setting up WebDAV clients, debugging WebDAV permission issues, or designing automation that reads/writes files via WebDAV.

taurgis/sfcc-dev-mcp · 56 tokens