CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

rc-backend

Use this skill when your backend needs to read or update RevenueCat state on Android. Covers the RevenueCat REST API (v1 subscribers endpoint, grant/revoke entitlements, attributes), secret vs public SDK API key usage, and why you do not build a receipt verification backend with RevenueCat.

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Quality

Content

68%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, mostly executable guide to consuming RevenueCat state from a backend, with accurate endpoint and API-key guidance and a useful 'what not to build' section. Its main weakness is the absence of verification steps around destructive grant/revoke operations, and the webhook handoff target cannot be verified in this bundle.

Suggestions

Add a validation checkpoint after the grant/revoke examples, e.g. 'After granting or revoking, re-issue GET /v1/subscribers/{app_user_id} and confirm the entitlement's expires_date changed before reporting success' — this would lift workflow clarity past the destructive-operation cap.

Complete the Kotlin example with response handling (parse subscriber.entitlements and check expires_date against request_date) so the primary language example is as copy-paste ready as the HTTP snippets.

Move SDK-version-sensitive details (e.g. 'EntitlementVerificationMode.INFORMATIONAL, on by default since SDK 8.11.0') into a clearly labeled version-notes or compatibility line so they read as dated context rather than evergreen guidance.

DimensionReasoningScore

Conciseness

The body is largely lean and decision-focused (endpoint tables, key rules, 'what not to build'), with little padding and no explanation of generic concepts. Minor instances of over-explanation or time-sensitive detail keep it below level 5: the 'on by default since SDK 8.11.0' version pin is not confined to a deprecated/old-patterns note, though the deprecated 'duration' field is handled correctly.

4 / 5

Actionability

Concrete, near copy-paste-ready HTTP requests for the two main REST operations (GET subscriber with Authorization header, POST promotional with JSON body), a use-case-to-endpoint mapping table, and a Kotlin snippet. Minor gaps: the Kotlin example has no response handling, and the webhook use case is delegated to a sibling skill rather than shown, so it falls just short of fully covering the common cases at level 5.

4 / 5

Workflow Clarity

The Discovery → Plan → Execute phases are clearly sequenced and the discovery checklist acts as a pre-flight gate, but state-mutating operations (promotional grant and especially 'revoke_promotionals', which removes user access) have no verification step (e.g., re-reading the subscriber to confirm the entitlement changed). Per the rubric, missing validation for destructive operations caps workflow clarity at 3, which takes precedence over the otherwise clear sequencing.

3 / 5

Progressive Disclosure

Good single-file structure with clear section headers, a use-case table, and a one-level, clearly signaled handoff to the sibling rc-webhooks skill for webhook detail. It sits at level 4 rather than 5 because the body is over 50 lines, the ../rc-webhooks/ reference could not be verified against an actual bundle file, and a small API-reference section could live in a separate reference file.

4 / 5

Total

15

/

20

Passed

Description

92%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, domain-specific capability list with an explicit 'use when' trigger and a well-drawn boundary against building your own receipt verification backend. Only minor keyword variations (webhooks, CustomerInfo) are absent.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities within its niche: 'read or update RevenueCat state on Android', 'v1 subscribers endpoint, grant/revoke entitlements, attributes', 'secret vs public SDK API key usage', and the receipt-verification boundary. Coverage is comprehensive for the domain, matching the level-5 anchor; it is not merely naming the domain with 1-2 actions (level 3) nor leaving minor gaps (level 4).

5 / 5

Completeness

It explicitly answers both questions: 'Use this skill when your backend needs to read or update RevenueCat state on Android' gives a concrete 'when', and 'Covers the RevenueCat REST API (v1 subscribers endpoint, grant/revoke entitlements, attributes)...' gives a clear 'what'. This mirrors the level-5 anchor's explicit what-and-when with trigger phrasing; level 4 would require the 'when' to be less explicit than it is here.

5 / 5

Trigger Term Quality

Natural trigger phrases like 'backend needs to read or update RevenueCat state', 'REST API', 'grant/revoke entitlements', and 'receipt verification backend' map well to what a user would say. A few natural terms are missing (e.g., 'webhooks', 'CustomerInfo', 'subscribers'), keeping it just below the comprehensive-synonym coverage of level 5.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (server-side RevenueCat state consumption on Android, explicitly excluding receipt verification and, by omission, webhooks) so it is unlikely to fire for the wrong skill. Conflict risk with generic backend or Android skills is minimal, matching the level-5 anchor.

5 / 5

Total

19

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

relative_links

Relative link issues: 1 suspicious

Warning

Total

13

/

16

Passed

Repository

RevenueCat/ai-toolkit

Path

revenuecat-play-billing/skills/rc-backend/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.