Agent skill

Revenuecat Testing

by evanca in evanca/flutter-ai-rules

A skill your agent uses when testing RevenueCat purchases/subscriptions, setting up sandbox testing, debugging a purchase/restore/trial, verifying entitlements or events, or writing an IAP QA plan.

MITAuto-check passedMobile

Install Revenuecat Testing

skills CLI
$ npx skills add evanca/flutter-ai-rules --skill revenuecat-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install evanca/flutter-ai-rules revenuecat-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/evanca/flutter-ai-rules.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/revenuecat-testing .claude/skills/revenuecat-testing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
revenuecat-testing
GitHub stars
650
Token cost
~1.4k tokens
SKILL.md length
692 words
Files
2 (incl. references)
Skills in repo
37
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when testing RevenueCat purchases/subscriptions, setting up sandbox testing, debugging a purchase/restore/trial, verifying entitlements or events, or writing an IAP QA plan.

  • Works in 3 steps: Get the setup facts: platform(s) (iOS /… → Establish prerequisites first — most… → Map their goal to use cases from the…
  • Testing RevenueCat purchases/subscriptions
  • SKILL.md covers How to use this skill, The five testing domains and Deliverables
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Revenuecat Testing is an agent skill from evanca/flutter-ai-rules. Use when testing RevenueCat purchases/subscriptions, setting up sandbox testing, debugging a purchase/restore/trial, verifying entitlements or events, or writing an IAP QA plan.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/use_cases.md`).

It sits in Mobile. It works with RevenueCat and Flutter. The repository describes itself as: Flutter AI Skills and Rules for Claude, Codex, Cursor, and Other AI-Powered IDEs. The licence is MIT.

When your agent uses it

  • Testing RevenueCat purchases/subscriptions
  • Setting up sandbox testing
  • Debugging a purchase/restore/trial
  • Verifying entitlements

Example prompts

  • “/revenuecat-testing”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Get the setup facts: platform(s) (iOS / Android / cross-platform / web billing), SDK (native, RN, Flutter, etc.), whether they've enabled…
  2. Establish prerequisites first — most "purchases don't work" reports are config problems visible before any purchase
  3. Map their goal to use cases from the reference and produce the plan (below).

What it can do on your machine

Read from SKILL.md and the folder at commit 7b9cce2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Revenuecat Testing loads about 1.4k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 49 tokens; SKILL.md has 692 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~49
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from evanca/flutter-ai-rules at commit 7b9cce2, republished under its MIT licence (© evanca). 692 words, ~1,371 tokens.

Download SKILL.mdSave it as .claude/skills/revenuecat-testing/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
revenuecat-testing
description
Use when testing RevenueCat purchases/subscriptions, setting up sandbox testing, debugging a purchase/restore/trial, verifying entitlements or events, or writing an IAP QA plan.
license
MIT

RevenueCat Testing

Help a developer systematically verify their RevenueCat integration works before shipping — turning "I added RevenueCat, does it actually work?" into a concrete, checkable QA plan. The full use-case matrix, methods, platform differences, and the verifiable signal for each case live in references/use_cases.md. Read it for exact event names and preconditions; this file is the operating guide.

The organizing principle: every RevenueCat behavior has a verifiable signal — a specific dashboard event (INITIAL_PURCHASE, TRANSFER, EXPIRATION, PRODUCT_CHANGE, CANCELLATION), a period_type value, or a CustomerInfo/debug-log state. A test isn't "did the app not crash"; it's "did the expected event appear in the customer's history with the right fields." Always tie a test to its signal, or it isn't really testing anything.

How to use this skill

  1. Get the setup facts: platform(s) (iOS / Android / cross-platform / web billing), SDK (native, RN, Flutter, etc.), whether they've enabled debug logs and sandbox accounts yet, and what specifically they're trying to verify or why they think something is broken.
  2. Establish prerequisites first — most "purchases don't work" reports are config problems visible before any purchase:
    • Debug logs on before configure() (iOS Purchases.logLevel = .debug; Android setLogLevel(LogLevel.DEBUG)), and check for "Invalid Product Identifiers" and error-level logs. Fix those before touching purchase flows.
    • Sandbox environment set up; multiple sandbox test IDs ready if any account-switching is in scope.
    • Point them at the debug overlay (debugRevenueCatOverlay() / DebugRevenueCatBottomSheet) to preview offerings and run test purchases quickly.
  3. Map their goal to use cases from the reference and produce the plan (below).

Reference implementation (especially for Flutter): RevenueCat ships an official Purchase Tester sample app at github.com/RevenueCat/purchases-flutter/tree/main/revenuecat_examples/purchase_tester. It's a runnable app exercising the flows this skill tests — dedicated screens for product change (product_change_testing_screen.dart), paywalls and paywall-footer, customer center, virtual currency, winback offers, and custom paywall-impression testing — plus an end-to-end integration test at integration_test/app_test.dart. Point Flutter users there to (a) run a known-good build to isolate whether a bug is in their code vs. their store/RevenueCat config, and (b) model their own integration_test widget tests on app_test.dart. For non-Flutter SDKs, RevenueCat has equivalent Purchase Tester apps in each SDK repo.

Show full SKILL.md (345 more words)Show less

The five testing domains

Pull the specific rows from references/use_cases.md; here's the shape so you know what to cover:

  1. Subscription lifecycle — purchase, free trial/intro offer (period_type = TRIAL/INTRO), renewal, upgrade/downgrade (PRODUCT_CHANGE), cancellation, expiration, refund. Platform gotcha to always flag: iOS sandbox refunds are not possible — the App Store routes users to Apple support and the CANCELLATION/CUSTOMER_SUPPORT event can take ~24h; Google Play refunds are dashboard-driven.
  2. Configuration — anonymous vs identified App User IDs (verify via debug log + CustomerInfo), offering display, and login/logout — where the key risk is unintended data merging between accounts.
  3. Restoring flow — the account-switching/transfer matrix. This is the highest-value, most-bug-prone area: syncPurchases(), restore-to-new-ID, the three-ID conflict case (transfer succeeds for the empty ID, errors for the one that already owns the sub), and transfer-disabled behavior. The signal throughout is whether a TRANSFER event fires (or correctly does not).
  4. Paywalls — display & purchase, localization (device/store-account country → language + localized price), and intro-offer eligibility display for fresh users.
  5. RevenueCat Billing (web) — purchase, trial auto-conversion, expiration.

Deliverables

  • QA test plan — a checklist of the use cases relevant to their app (skip web billing if they're mobile-only, skip trials if they have none), each row as: action → expected event/signal → where to see it. This is the primary output; make it copy-pasteable into a QA doc or issue tracker.
  • Debugging a specific failure — diagnose against the reference: is it a prereq problem (invalid product IDs, logs off, wrong sandbox account)? a wrong-signal expectation (e.g. expecting TRANSFER when transfer is disabled)? a platform difference (iOS refund can't be sandbox-tested)? Name the expected event and where it should appear, then work backward from what they actually see.
  • Restore/transfer walkthrough — when the user is confused about account switching, walk the specific ID configuration and the expected TRANSFER-or-error outcome for each ID, since this is the area the docs spend the most care on.
  • Sandbox setup guidance — the prerequisites section, adapted to their platform and SDK.

Tie every recommendation to the verifiable signal in references/use_cases.md — the event cheat-sheet at the bottom of that file maps each event to what it proves.

© evanca, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/revenuecat-testing of evanca/flutter-ai-rules.

  • SKILL.md
  • references/use_cases.md

Open the folder on GitHubat commit 7b9cce2

Compare with similar skills

Revenuecat Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Revenuecat Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Revenuecat Testing this skillevanca/flutter-ai-rules650—~1.4kAutomated safety check: PassMIT
Flutter Pub ReleaseMixinNetwork/flutter-plugins512—~1.3kAutomated safety check: PassMIT
Frb Add Contributorfzyzcjy/flutter_rust_bridge5.4k—~1.6kAutomated safety check: PassMIT
Release Pluginflutter/flutter-intellij2k—~1kAutomated safety check: PassBSD-3-Clause
Glasses AppbrilliantlabsAR/brilliant_sdk115—~1.2kAutomated safety check: PassBSD-3-Clause
Frb Develop Featurefzyzcjy/flutter_rust_bridge5.4k—~2.3kAutomated safety check: PassMIT

Similar skills

  • Flutter Pub Release

    MixinNetwork/flutter-plugins

    Prepare and draft a pub.dev release for a package in the flutter-plugins monorepo.

    512 GitHub stars~1.3k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Frb Add Contributor

    fzyzcjy/flutter_rust_bridge

    Add or reconcile flutterrustbridge contributors through all-contributors PRs.

    5.4k GitHub stars~1.6k tokensUpdated today
    MobileAuto-check passed
  • Release Plugin

    flutter/flutter-intellij

    Prepare and execute a new release for the flutter-intellij plugin, including updating dependencies, compatibility bounds, changelogs, and verification.

    2k GitHub stars~1k tokensUpdated today
    MobileAuto-check passed
  • Glasses App

    brilliantlabsAR/brilliant_sdk

    Build an app for Brilliant Labs smart glasses (Halo or Frame) with this SDK, in Python, Flutter or WebBluetooth/TypeScript.

    115 GitHub stars~1.2k tokensUpdated 4 days ago
    MobileAuto-check passed
  • Frb Develop Feature

    fzyzcjy/flutter_rust_bridge

    A skill your agent uses when fixing bugs, adding regression tests, adding new features, when compilation is slow, or when learning twin test naming conventions in flutterrustbridge

    5.4k GitHub stars~2.3k tokensUpdated today
    MobileAuto-check passed
  • Squadron Worker

    d-markey/squadron

    A skill your agent uses when building, writing, or refactoring Squadron workers, worker pools, worker services, or using squadronbuilder annotations (@SquadronService, @SquadronMethod) for…

    138 GitHub stars~1.6k tokensUpdated 17 days ago
    MobileAuto-check passed

More from evanca/flutter-ai-rules

All 37 skills in this repo
  • Code Review

    evanca/flutter-ai-rules

    A skill your agent uses when asked to review a PR, MR, branch, or diff, audit changed files, or check code quality.

    650 GitHub stars~2.4k tokensUpdated 26 days ago
    Auto-check passed
  • Developing Genkit Dart

    evanca/flutter-ai-rules

    A skill your agent uses when building AI agents in Dart, implementing Genkit flows or tools, integrating LLMs into Dart or Flutter applications, or using Genkit Dart plugins.

    650 GitHub stars~961 tokensUpdated 26 days ago
    Auto-check passed
  • Generate Images With Firebase AI

    evanca/flutter-ai-rules

    A skill your agent uses when generating or editing images from Flutter/Dart with Firebase AI Logic and a Gemini image model (Nano Banana), making the first call work, choosing Gemini Developer API…

    650 GitHub stars~2.3k tokensUpdated 26 days ago
    Auto-check passed
  • Flutter Use Column Row First

    evanca/flutter-ai-rules

    A skill your agent uses when building any Flutter screen or component to choose responsive Row, Column, Expanded, Flexible, and Spacer layouts before fixed-size or coordinate-based alternatives.

    650 GitHub stars~1.3k tokensUpdated 26 days ago
    Auto-check passed
  • Architecture Feature First

    evanca/flutter-ai-rules

    A skill your agent uses when creating a feature, designing folder structure, adding repositories/services/view models, wiring dependency injection, or deciding which layer owns logic.

    650 GitHub stars~1.9k tokensUpdated 26 days ago
    Auto-check passed
  • Bloc

    evanca/flutter-ai-rules

    A skill your agent uses when creating a Cubit or Bloc, modeling state with sealed classes or status enums, wiring BlocBuilder/BlocListener/BlocProvider, writing bloc tests, or choosing between Cubit…

    650 GitHub stars~2.8k tokensUpdated 26 days ago
    Auto-check passed

Questions about Revenuecat Testing

What does Revenuecat Testing do?

A skill your agent uses when testing RevenueCat purchases/subscriptions, setting up sandbox testing, debugging a purchase/restore/trial, verifying entitlements or events, or writing an IAP QA plan. Revenuecat Testing is an agent skill from evanca/flutter-ai-rules. Use when testing RevenueCat purchases/subscriptions, setting up sandbox testing, debugging a purchase/restore/trial, verifying entitlements or events, or writing an IAP QA plan.

When should I use Revenuecat Testing?

Revenuecat Testing fits situations like: testing RevenueCat purchases/subscriptions; setting up sandbox testing; debugging a purchase/restore/trial; verifying entitlements.

How do I install Revenuecat Testing in Claude Code?

Run `npx skills add evanca/flutter-ai-rules --skill revenuecat-testing -a claude-code`. Or copy the skill folder (skills/revenuecat-testing in evanca/flutter-ai-rules) into .claude/skills/revenuecat-testing in your project. Claude Code loads it when a task matches its description.

How do I install Revenuecat Testing in Codex?

Run `npx skills add evanca/flutter-ai-rules --skill revenuecat-testing -a codex`. Or copy the skill folder (skills/revenuecat-testing in evanca/flutter-ai-rules) into .agents/skills/revenuecat-testing in your project. Codex loads it when a task matches its description.

Can I use Revenuecat Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add evanca/flutter-ai-rules --skill revenuecat-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/revenuecat-testing, .gemini/skills/revenuecat-testing, .github/skills/revenuecat-testing and .opencode/skills/revenuecat-testing in your project.

What does Revenuecat Testing need to run?

SKILL.md names no scripts, command-line tools or credentials: Revenuecat Testing is instructions for the agent only.

Does Revenuecat Testing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Revenuecat Testing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Revenuecat Testing use?

Revenuecat Testing is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Revenuecat Testing use?

About 1.4k tokens (SKILL.md is roughly 5.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.

What are the alternatives to Revenuecat Testing?

Skills that share tags, products or a category with Revenuecat Testing: Flutter Pub Release (MixinNetwork/flutter-plugins, 512 stars), Frb Add Contributor (fzyzcjy/flutter_rust_bridge, 5.4k stars), Release Plugin (flutter/flutter-intellij, 2k stars) and Glasses App (brilliantlabsAR/brilliant_sdk, 115 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Revenuecat Testing?

evanca (a GitHub user) maintains it in evanca/flutter-ai-rules, which has 650 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on September 14, 2026.

Source: evanca/flutter-ai-rules on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.