CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

rc-revenuecat-vs-raw-billing

Use this skill to decide whether to use RevenueCat or raw Google Play Billing on Android. Provides a side by side reference of what RevenueCat handles versus what remains your responsibility at both client and backend layers.

Quality

78%

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

Fix and improve this skill with Tessl

tessl review fix ./revenuecat-play-billing/skills/rc-revenuecat-vs-raw-billing/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 tight, well-structured decision-reference skill: information-dense tables, concrete API and endpoint names, and a clear phase-by-phase workflow ending in explicit recommendation rules. The only real gaps are minor — a slightly redundant Phase 0 question list, a couple of version-pinned facts, and no worked example of applying the heuristics.

DimensionReasoningScore

Conciseness

The body is dominated by dense, load-bearing tables and named APIs ('awaitOfferings() / awaitGetProducts()', 'POST /v1/subscribers/{app_user_id}/subscriptions/{product_identifier}/defer') with almost no explanation of concepts Claude already knows. Minor trimming opportunities exist — the Phase 0 bullet list of 'Typical questions this skill answers' partly restates the preceding paragraph, and version-pinned facts ('RevenueCat SDK (10.27.1)', 'PBL 8') are time-sensitive — so it is efficient but not the fully lean anchor 5.

4 / 5

Actionability

For an instruction-only comparison skill, the guidance is highly concrete: exact method names, REST endpoints, dashboard settings ('showInAppMessagesAutomatically = true'), and numbered decision rules plus a 'Quick gate' block. It falls short of anchor 5's copy-paste-ready coverage because there is no worked example applying the Phase 3 heuristics and the defer/revoke endpoints appear without auth or setup context.

4 / 5

Workflow Clarity

The phased workflow (Phase 0 intent → Phase 1 bucket routing via a 'Go to' table → Phase 2 reference tables → Phase 3 recommendation rules) is clearly sequenced, and rules 4-5 ('Always confirm the "remains your responsibility" row items are staffed', 'map every requirement to a row in one of the three tables') act as explicit checkpoints. No destructive or batch operations are involved, so the validation cap does not apply; it stays below anchor 5 only because there are no feedback/error-recovery loops, which a decision skill does not strictly need.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), and the single external link is clearly signaled under 'References: [Full chapter]'. Content is appropriately placed — the tables are the working substance of a comparison skill and belong inline — with clean section headers and an in-body routing table for navigation. It does not meet the anchor-5 / under-50-line simple-skill exception (the body is ~100 lines), and the one bare external URL is not described beyond 'Full chapter', so anchor 4 fits best.

4 / 5

Total

16

/

20

Passed

Description

73%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 well-targeted description with an explicit use-when clause, concrete domain naming, and minimal conflict risk. Its main limitation is that it names only one or two capabilities and omits common trigger synonyms like 'Play Billing Library', 'subscriptions', or 'in-app purchases'.

Suggestions

List a second concrete capability in the description, e.g. 'Compares client-side setup, receipt verification, RTDN processing, and subscription state handling side by side', to raise specificity from one-to-two actions to several.

Add natural trigger variants users would say, such as 'Play Billing Library', 'Android subscriptions', or 'in-app purchases', so the skill fires on a broader range of phrasings.

DimensionReasoningScore

Specificity

The description names the domain precisely ('decide whether to use RevenueCat or raw Google Play Billing on Android') and one concrete capability ('Provides a side by side reference... at both client and backend layers'), but stops at 1-2 actions rather than listing several. It is well above anchor 2 (generic actions) because the domain and deliverable are concrete, but below anchor 4, which expects several specific actions.

3 / 5

Completeness

Both parts are present: 'what' ('Provides a side by side reference of what RevenueCat handles versus what remains your responsibility') and an explicit 'when' ('Use this skill to decide whether to use RevenueCat or raw Google Play Billing on Android'). It sits below anchor 5 because the trigger covers a single decision condition without concrete phrasing variants a user might use, but is well above anchor 3, where 'when' is only weakly implied.

4 / 5

Trigger Term Quality

Strong natural keywords: 'RevenueCat', 'raw Google Play Billing', 'Android', 'client and backend layers' — exactly the terms a user weighing this decision would say. A few common variants are missing ('Play Billing Library', 'PBL', 'subscriptions', 'in-app purchases', 'receipt validation'), keeping it below the comprehensive anchor 5 but clearly above anchor 3's partial coverage.

4 / 5

Distinctiveness Conflict Risk

Naming both 'RevenueCat' and 'raw Google Play Billing' carves out a clear niche with distinct triggers; virtually no other skill would fire on this query. Matches anchor 5 (clear niche, minimal conflict risk); anchor 4's 'minor overlap risk with closely related skills' does not apply.

5 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 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

Total

14

/

16

Passed

Repository

RevenueCat/ai-toolkit

Path

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