CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

revenuecat-identify-user

Tie RevenueCat identity to your app's auth system. Use when the user asks to log in to RevenueCat, sync a user with RevenueCat, switch RevenueCat user on login, log out of RevenueCat, move a user from anonymous to identified, set appUserID, or handle account switching on iOS, Android, Kotlin Multiplatform, Flutter, or React Native.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

67%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.

The body is a tightly written, high-signal overview: excellent shared-concepts bullets, concrete platform detection, and a real verification checklist. Its critical flaw is that all five referenced platform files are missing from the bundle, which undercuts both actionability and progressive disclosure since the actual implementation guidance is unreachable.

Suggestions

Ship the five platforms/*.md files referenced in sections 1 and 3 (ios, android, kmp, flutter, react-native) so the promised logIn/logOut wiring examples are actually reachable, or inline a minimal logIn/logOut snippet per platform in SKILL.md.

Add brief error-recovery guidance to the Verify section for what to check when a verification fails (e.g., appUserID mismatch in the dashboard, or a lost anonymous purchase after logIn), turning the checklist into a feedback loop.

State the expected location or packaging of the platforms/ directory in the bundle so a reader can confirm where the referenced files live.

DimensionReasoningScore

Conciseness

The ~46-line body is lean with zero padding: no explanation of what RevenueCat or auth systems are, and every bullet conveys a non-obvious SDK behavior (anonymous-ID aliasing, logOut throwing on anonymous IDs, restore vs login) that Claude cannot be assumed to know. Not the level below (4) because there is no over-explanation to trim at all.

5 / 5

Actionability

Concrete API names, call ordering, error codes (PurchasesErrorCode.LogOutWithAnonymousUserError) and platform-detection criteria are present, but the promised executable wiring — "Each platform file shows the logIn and logOut calls wired into a typical auth state observer" — lives in platforms/*.md files that are absent from the bundle, leaving key implementation details missing. Not 4 because the gap is not minor: the entire implementation layer is unreachable.

3 / 5

Workflow Clarity

A clear numbered sequence (detect platform → shared concepts → implement → verify) with an explicit 4-item verification checklist including dashboard-level checks. Not 5 because there is no error-recovery guidance for what to do when a verification step fails (e.g., the appUserID mismatching).

4 / 5

Progressive Disclosure

The body itself is well-signaled with one-level-deep references, but every referenced path (platforms/ios.md, platforms/android.md, platforms/kmp.md, platforms/flutter.md, platforms/react-native.md) is missing from the bundle, so the disclosure structure is broken at its core — following the references fails entirely. Not 3 because references being absent is a more severe defect than references being present but poorly signaled.

2 / 5

Total

14

/

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.

An exemplary description: a crisp third-person statement of the capability followed by an explicit 'Use when' clause packed with natural trigger phrases and platform synonyms. The only nit is that the listed actions are variations of a single core capability, slightly capping specificity.

DimensionReasoningScore

Specificity

"Tie RevenueCat identity to your app's auth system" plus concrete named operations ("log in to RevenueCat", "set appUserID", "move a user from anonymous to identified") gives several specific actions, but they are largely trigger variants of one core capability rather than the comprehensive multi-action coverage of the top anchor.

4 / 5

Completeness

It explicitly answers both what ("Tie RevenueCat identity to your app's auth system") and when ("Use when the user asks to log in to RevenueCat, sync a user...") with concrete trigger phrases, matching the anchor-5 exemplar pattern exactly.

5 / 5

Trigger Term Quality

Natural phrases users would actually say are comprehensively covered — "log in to RevenueCat", "sync a user", "switch RevenueCat user", "log out of RevenueCat", "account switching", "set appUserID" — along with all five platform names as synonyms.

5 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers (RevenueCat log in/log out/account switching) that are unlikely to fire for adjacent skills like SDK setup or purchase flow; conflict risk is minimal.

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-identify-user/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.