CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

revenuecat-migrate

Migrate to RevenueCat from raw StoreKit or Google Play Billing, or upgrade the RevenueCat SDK across a major version. Use when the user says migrate to RevenueCat, switch from StoreKit to RC, upgrade RevenueCat SDK, from v4 to v5, observer mode, RevenueCat major version upgrade, or already have in app purchases and want to add RevenueCat on iOS, Android, Kotlin Multiplatform, Flutter, or React Native.

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized, appropriately concise instruction skill with a clear sequenced workflow and unusually strong verification gates. Its main defect is that the implementation sections depend on five platform files that are not present in the skill bundle, leaving the referenced path dead.

Suggestions

Include the referenced platforms/*.md files (ios, android, kmp, flutter, react-native) in the skill bundle — sections 1 and 4 direct Claude to read them, and they are currently missing, so the migration cannot proceed past detection.

Add one complete, copy-paste-ready configure call for a representative platform (e.g. full iOS Configuration.Builder setup with the observer-mode parameters in context) so the fragments have a concrete anchor.

Trim the opening paragraph, which duplicates the frontmatter description almost verbatim, and fold the 'identify the path before touching code' instruction into section 2.

DimensionReasoningScore

Conciseness

Largely efficient and RC-specific (observer-mode semantics, double-acknowledgment risk, deliberately not duplicating per-version diffs), but the opening paragraph restates the frontmatter description and a few transitions ("These two paths share some concepts but have different risks") could be trimmed.

4 / 5

Actionability

Concrete, mostly copy-paste-ready guidance: per-platform observer-mode config ("purchasesAreCompletedBy: .myApp together with storeKitVersion: .storeKit1", "PurchasesAreCompletedByMyApp(storeKitVersion: StoreKitVersion.storeKit2)", the React Native configure object), precise detection rules, and concrete migration-guide search patterns. Minor gaps: no complete configure call example, and Path B implementation detail is fully delegated to external GitHub repos.

4 / 5

Workflow Clarity

Clear numbered sequence (detect platform → identify path → shared concepts → implementation → verify) with explicit validation checkpoints and feedback loops: "Fix compile errors using the CHANGELOG deprecations", "Fix runtime behavior by reading the SDK logs", and the hard gate "Do not declare migration done until" a sandbox purchase, an existing subscriber's entitlement state, and dashboard ingestion are all verified.

5 / 5

Progressive Disclosure

The in-file structure is good — clearly signaled, one-level-deep references to platforms/ios.md, platforms/android.md, platforms/kmp.md, platforms/flutter.md, and platforms/react-native.md with a per-platform mapping in section 4 — but none of these referenced files exist in the bundle (no platforms/, references/, scripts/, or assets/ directories are present), so the core navigation of sections 1 and 4 dangles and cannot be followed.

3 / 5

Total

16

/

20

Passed

Description

95%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete dual-purpose capability statement, an explicit 'Use when' clause rich with natural user phrasings and synonyms, and a well-defined niche. The only weakness is that action coverage is narrow (three actions) relative to a maximal 5-anchor example.

DimensionReasoningScore

Specificity

Lists three concrete actions ("Migrate to RevenueCat from raw StoreKit", "or Google Play Billing", "upgrade the RevenueCat SDK across a major version"), which goes beyond the 1-2 actions of anchor 3 but stops short of anchor 5's comprehensive multi-action coverage.

4 / 5

Completeness

Explicitly answers both what ("Migrate to RevenueCat from raw StoreKit or Google Play Billing, or upgrade the RevenueCat SDK across a major version") and when ("Use when the user says migrate to RevenueCat, switch from StoreKit to RC...") with concrete trigger phrases; nothing vague or merely implied.

5 / 5

Trigger Term Quality

Comprehensive natural trigger coverage including synonyms ("migrate to RevenueCat", "switch from StoreKit to RC"), version phrasings ("from v4 to v5", "RevenueCat major version upgrade"), "observer mode", and all five platform names (iOS, Android, Kotlin Multiplatform, Flutter, React Native).

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (RevenueCat adoption/upgrade) with distinct product-specific triggers ("observer mode", "StoreKit", "Google Play Billing"); minimal overlap risk with any other skill.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

RevenueCat/ai-toolkit

Path

revenuecat/skills/revenuecat-migrate/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.