CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

storekit

Implement or review in-app purchases and subscriptions with StoreKit 2, including paywalls, transactions, entitlement verification, offers, renewal state, testing, Family Sharing, Ask to Buy, refunds, and billing recovery. Route physical-goods checkout to passkit.

Quality

84%

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

85%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 lean, expert-level body that assumes competence and concentrates on non-obvious invariants, routing, and review heuristics. Workflow sequencing, validation checkpoints, and reference routing are all explicit; the only slack is mild redundancy between the invariants, mistakes, and checklist sections.

DimensionReasoningScore

Conciseness

The body is dense and imperative with no concept tutorials, e.g. "Verify every `VerificationResult` before granting access" and "Never use `unsafePayloadValue` to unlock content". Minor redundancy — the Contents TOC and a Review Checklist that restates the core invariants and common mistakes — keeps it at anchor 4 (efficient with trims available) rather than anchor 5's every-token-earns-its-place.

4 / 5

Actionability

Concrete guidance throughout: a complete executable `PurchaseResult` switch, exact APIs (`Transaction.updates`, `AppStore.sync()`, `purchase(confirmIn:options:)`), exact states (`.pending`, `.userCancelled`, `.subscribed`, `.inGracePeriod`), and a product-type entitlement table. It sits at anchor 4 rather than 5 because a few common code paths (listener setup, entitlement-set rebuild) are described but only implemented in the reference files.

4 / 5

Workflow Clarity

The 7-step Implementation workflow is clearly sequenced with explicit validation checkpoints ("Test with a StoreKit configuration... and realistic renewal/refund/revocation/Ask to Buy states"; "Verify the built paywall... with real localized product data before release"), a 14-item Review Checklist, and an error-pattern-to-fix mapping in Correction reviews. This matches anchor 5 (explicit validation steps, error recovery, checklist) rather than anchor 4's minor validation gaps.

5 / 5

Progressive Disclosure

"Route by task" explicitly signals which of the eight existing one-level-deep reference files to load per task and when not to load them ("Do not load offer, compliance, or subscription material for a narrow consumable/non-consumable task"). The 22KB recipe file stays out of the body, matching anchor 5's clear overview with well-signaled references.

5 / 5

Total

18

/

20

Passed

Description

75%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 highly specific, well-disambiguated description that names concrete actions and comprehensive domain coverage. Its main weakness is the absence of an explicit "Use when..." trigger clause, leaving the activation condition only weakly implied by the passkit routing sentence.

Suggestions

Append an explicit trigger clause such as "Use when implementing, reviewing, or debugging in-app purchases, subscriptions, paywalls, or StoreKit 2 transactions" to lift completeness from weakly-implied to explicit.

Add the common synonyms users actually say — "IAP" and "App Store purchases" — to broaden natural keyword coverage.

Mirror the body's routing to app-store-review and app-store-optimization in the description so the boundary is fully stated where skill selection happens.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions ("Implement or review", "entitlement verification", "billing recovery", "Route physical-goods checkout to passkit") with comprehensive coverage of the domain via a ten-item list (paywalls, transactions, offers, renewal state, testing, Family Sharing, Ask to Buy, refunds). It matches the anchor for comprehensive specific actions rather than anchor 4, since no meaningful capability gaps remain.

5 / 5

Completeness

The "what" is explicit ("Implement or review in-app purchases and subscriptions with StoreKit 2, including...") but there is no "Use when..." clause; "Route physical-goods checkout to passkit" is boundary guidance that only weakly implies when to use the skill. Per the judging guideline a missing explicit trigger clause caps completeness at 3, and anchor 4 requires an actual, if imperfect, "when" statement.

3 / 5

Trigger Term Quality

Natural terms iOS developers would say are present ("in-app purchases", "subscriptions", "paywalls", "refunds", "Family Sharing", "Ask to Buy", "renewal"), but common synonyms such as "IAP" and "App Store" are absent. Good keyword coverage with a few natural terms missing fits anchor 4 rather than anchor 5's synonym-and-extension comprehensiveness.

4 / 5

Distinctiveness Conflict Risk

"StoreKit 2" plus "in-app purchases and subscriptions" carves out a clear niche, and "Route physical-goods checkout to passkit" actively disambiguates the nearest neighbor skill. This matches anchor 5 (clear niche with distinct triggers, minimal conflict risk) rather than anchor 4, which presumes residual overlap with closely related skills.

5 / 5

Total

17

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

thienqo/ios-skills

Path

skills/storekit/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.