CtrlK
BlogDocsLog inGet started
Tessl Logo

rc-payment-recovery

Use this skill when handling failed renewals on Android with RevenueCat. Covers how Grace Period and Account Hold are reflected in CustomerInfo automatically, when to prompt the user, and how to trigger Google's in app messaging via showInAppMessages.

71

Quality

88%

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.

The body is a tight, actionable guide with executable Kotlin and a clear four-phase workflow culminating in a verification checklist. Minor conciseness and progressive-disclosure refinements keep it just short of top marks.

Suggestions

Collapse the opening paragraph into the state table or a one-line framing to remove the slight overlap with the 'Understand' table.

If the full chapter link is the only external pointer, consider labeling it explicitly as the canonical reference and noting that no bundle files are needed, so the structure intent is unambiguous.

DimensionReasoningScore

Conciseness

Lean and assumes competence with no padding about what RevenueCat or subscriptions are; the opening conceptual paragraph slightly overlaps the state table and could be trimmed.

4 / 5

Actionability

Fully executable, copy-paste Kotlin for the default config, manual trigger, custom grace-period UI branching, and the managementURL deep link, covering the common cases.

5 / 5

Workflow Clarity

Phases 1–4 (Understand, Plan, Execute, Verify) are clearly sequenced, and Phase 4 is an explicit per-transition validation checklist with expected signal values.

5 / 5

Progressive Disclosure

Well-organized into focused sections with a single clearly signaled one-level reference to the full chapter; no bundle files exist, so structure carries the score.

4 / 5

Total

18

/

20

Passed

Description

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

The description is well-scoped, specific, and explicitly covers both what the skill does and when to invoke it, with strong domain trigger terms. It is among the better examples, held back only by a couple of common synonyms.

DimensionReasoningScore

Specificity

Lists several concrete capabilities ('how Grace Period and Account Hold are reflected in CustomerInfo', 'when to prompt the user', 'trigger Google's in app messaging via showInAppMessages') with only minor coverage gaps.

4 / 5

Completeness

Explicitly answers both what (the recovery capabilities enumerated) and when ('Use this skill when handling failed renewals on Android with RevenueCat') with a concrete trigger phrase.

5 / 5

Trigger Term Quality

Strong natural domain terms ('failed renewals', 'Android', 'RevenueCat', 'Grace Period', 'Account Hold', 'in app messaging', 'showInAppMessages'), though common synonyms like 'subscription' or 'billing' are absent.

4 / 5

Distinctiveness Conflict Risk

Scoped to RevenueCat Android payment recovery, a clear niche with distinct triggers and minimal overlap with other skills.

5 / 5

Total

18

/

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.