CtrlK
BlogDocsLog inGet started
Tessl Logo

rc-plan-changes

Use this skill when implementing subscription upgrades, downgrades, and plan switches via RevenueCat on Android. Covers GoogleProductChangeInfo, picking a Google replacement mode, and letting the SDK manage linkedPurchaseToken chaining.

72

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

90%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 dense, executable, well-sequenced skill body that assumes Claude's competence and provides copy-paste code plus a useful mistake table. The two four-scoring dimensions reflect a missing verify-retry loop and the absence of any bundle-file disclosure, both minor given the skill's focused scope.

DimensionReasoningScore

Conciseness

Lean and efficient throughout: a focused mode-selection table, one complete Kotlin example, and dense 'Common mistakes' and 'Notes' sections — no padding explaining what subscriptions or libraries are, and every paragraph carries actionable guidance.

5 / 5

Actionability

Fully executable copy-paste Kotlin using PurchaseParams.Builder, GoogleProductChangeInfo, and awaitPurchase with error handling, plus a scenario→mode table and a concrete currentProductId derivation covering the common cases.

5 / 5

Workflow Clarity

Clear four-phase sequence (Preconditions → Plan → Execute → Verify) with an explicit precondition checklist and a Verify phase, but the only error feedback loop is the purchase catch→showError path; there is no validate-then-retry loop for the verification step itself.

4 / 5

Progressive Disclosure

Well-organized into clearly headed sections with one clearly signaled, one-level-deep external reference; however the skill is a single self-contained document with no bundle files, so there is no real cross-file disclosure to reward beyond the clean in-page structure.

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, specific description that explicitly states both what it does and when to use it, with concrete trigger phrases and a well-scoped niche. The only gap is missing common synonyms (cross-grade, trial conversion) that would push trigger-term quality to fully comprehensive.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — 'subscription upgrades, downgrades, and plan switches via RevenueCat on Android', 'GoogleProductChangeInfo', 'picking a Google replacement mode', 'linkedPurchaseToken chaining' — giving comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

Opens with an explicit 'Use this skill when implementing subscription upgrades, downgrades, and plan switches via RevenueCat on Android' trigger and follows with a concrete 'Covers ...' statement of what it does, clearly answering both when and what.

5 / 5

Trigger Term Quality

Good natural keyword coverage ('upgrades, downgrades, plan switches', 'RevenueCat', 'Android') plus precise technical identifiers, but synonyms like 'cross-grade' and 'trial conversion' that appear in the body are absent from the description, so it is not fully comprehensive.

4 / 5

Distinctiveness Conflict Risk

Targets a clear niche — RevenueCat plan changes on Android — with distinct triggers ('GoogleProductChangeInfo', 'Google replacement mode', 'linkedPurchaseToken') unlikely to fire for unrelated skills.

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