CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

rc-testing

Use this skill when testing a RevenueCat Android integration. Covers the RevenueCat Test Store (test_ API key prefix, in dialog choice of Test valid purchase, Test failed purchase, or Cancel), mockk based unit testing with an interface wrapper around Purchases, and a GitHub Actions CI pattern. Avoids Google Play sandbox for day to day test iteration.

Quality

91%

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

88%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 highly actionable, well-sequenced skill: discovery checklist, scenario-routing table, seven concrete execution steps, verification, and a pre-ship checklist. The only deductions are minor duplication in the reference link and gradle blocks, and the absence of any progressive-disclosure file split despite a ~200-line body.

Suggestions

Deduplicate the full-chapter link: keep it only in the References section and drop the "Full source" line in the intro.

In the mockk test example, define or briefly note mockActivity/mockPackage (e.g., `val mockActivity = mockk<Activity>()`) so the snippet is fully self-contained.

Consider moving the long-tail material (full gradle variants, CI YAML) into a reference file to shrink the SKILL.md body and improve progressive disclosure.

DimensionReasoningScore

Conciseness

Mostly lean: discovery and plan tables, tight code blocks, and no explanation of concepts Claude already knows. Minor trimmable redundancy: the "Full source" link to the revenuecat.com chapter appears twice ("Full source: see the [full chapter on revenuecat.com]" and again in "## References"), and the release buildConfigField block repeats across both Step 2 variants.

4 / 5

Actionability

Every step ships copy-paste-ready gradle, Kotlin, and YAML, with exact expected behavior spelled out ("Test failed purchase throws PurchasesTransactionException with error.code == PurchasesErrorCode.TestStoreSimulatedPurchaseError and userCancelled == false"). Specific commands like "./gradlew testDebugUnitTest" and "Store the test_... key as the RC_TEST_STORE_KEY repository secret" cover the common cases end to end.

5 / 5

Workflow Clarity

A clear phased sequence (Discovery -> Plan -> Execute Steps 1-7) with explicit validation checkpoints: a "Verification" section ("confirm the purchase, the entitlement, and the CustomerInfo JSON"), a "Pre-Ship Checklist", and per-branch error-path guidance ("Walk every branch of your error handling to verify UI states"). The conditional "If the project has none of these, start from scratch... If some exist, only fill the gaps" adds decision feedback.

5 / 5

Progressive Disclosure

Well-organized single-file skill with clear section headers and one clearly signaled one-level-deep external reference ("[Full chapter](https://www.revenuecat.com/guides/revenuecat-android-sdk/testing)"); no bundle files exist to mis-nest. It sits at the good-structure anchor rather than the top anchor because everything lives inline in a ~200-line body with no content split out, though nothing here clearly demands separation.

4 / 5

Total

18

/

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 with a clear what/when pair, concrete capability enumeration down to dialog choices and API key prefixes, and an explicit non-goal that bounds scope. The only gap is a few missing natural synonyms (e.g., in-app purchases, billing) in the trigger terms.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete actions: "the RevenueCat Test Store (test_ API key prefix, in dialog choice of Test valid purchase, Test failed purchase, or Cancel)", "mockk based unit testing with an interface wrapper around Purchases", and "a GitHub Actions CI pattern". Coverage is comprehensive for this skill's scope; it is not a vague domain label like "Processes PDF files".

5 / 5

Completeness

It explicitly answers both: what ("Covers the RevenueCat Test Store..., mockk based unit testing..., and a GitHub Actions CI pattern") and when ("Use this skill when testing a RevenueCat Android integration"). The trigger phrase is concrete and explicit, matching the anchor-5 example structure.

5 / 5

Trigger Term Quality

Natural terms users would say are present: "testing", "RevenueCat", "Android integration", "Test Store", "mockk", "GitHub Actions". Common synonyms and variations a user might naturally say, such as "in-app purchases", "billing", or "purchases SDK", are missing, so it falls just short of the comprehensive anchor.

4 / 5

Distinctiveness Conflict Risk

"RevenueCat Android integration" testing is a clear niche with distinct triggers (Test Store, mockk, Purchases wrapper), plus an explicit boundary ("Avoids Google Play sandbox for day to day test iteration"). It would essentially never trigger the wrong skill.

5 / 5

Total

19

/

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-testing/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.