CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

storekit

Implement, review, or improve in-app purchases and subscriptions using StoreKit 2. Use when building paywalls with SubscriptionStoreView or ProductView, processing transactions with Product and Transaction APIs, verifying entitlements, handling purchase flows (consumable, non-consumable, auto-renewable), implementing offer codes or promotional/win-back/introductory offers, managing subscription status and renewal state, setting up StoreKit testing with configuration files, or integrating Family Sharing, Ask to Buy, refund handling, and billing retry logic.

Quality

94%

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

The canonical home for this skill is dpearson2699/swift-ios-skills

SKILL.md
Quality
Evals
Security

Quality

Content

92%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 high-quality skill body: dense, executable Swift examples covering the full purchase lifecycle, explicit sequencing with verification checkpoints and a review checklist, and a properly structured two-file reference bundle that is one level deep. The only weakness is minor redundancy — the legacy-API avoidance guidance and a couple of concept tables are stated more than once — which keeps it just short of maximal token efficiency.

DimensionReasoningScore

Conciseness

The body is efficient and code-first with no framework-intro boilerplate ("StoreKit views initiate purchases automatically. For custom controls, use `PurchaseAction`..."). Minor instances could be trimmed: the deprecated-API warning ("Avoid original In-App Purchase APIs (`SKProduct`, `SKPaymentQueue`)") appears in both the intro and Common Mistakes #4, and the Product Types table restates broadly known concepts. Fits anchor 4 ('efficient; minor instances that could be trimmed') rather than 'every token earns its place'.

4 / 5

Actionability

Fully executable, copy-paste-ready Swift throughout: a complete PurchaseResult switch with `@unknown default`, a reusable `checkVerified` helper, a Transaction.updates listener retained in App init, an entitlements loop with `revocationDate` and non-renewing expiration guards, and StoreKit view modifiers. Examples cover the common cases, matching anchor 5.

5 / 5

Workflow Clarity

Multi-step processes are explicitly sequenced with validation checkpoints: "Start at app launch, not when a paywall appears", "Always handle every `PurchaseResult`, verify before access, deliver durably, then finish", "If delivery fails, do not finish yet", plus wrong/correct mistake pairs and a 17-item Review Checklist. This matches the anchor-5 combination of clear sequence, explicit validation, error-recovery guidance, and a checklist.

5 / 5

Progressive Disclosure

Clear overview with well-signaled, one-level-deep references: both referenced files exist, and each link carries a purpose label ("for IAP rules (Guideline 3.1.1)", "for subscription control styles, offer management, testing patterns, and advanced subscription handling"). In-body anchor links (e.g., storekit-advanced.md#subscriptionstoreview-control-styles) resolve to real headings, and the Contents TOC eases navigation. Content is appropriately split with bulk detail in the reference files.

5 / 5

Total

19

/

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: it names concrete capabilities across the entire StoreKit 2 lifecycle and pairs them with an explicit, detailed 'Use when' trigger clause. Third-person voice is used throughout with no filler. The only gap is a missing "IAP" abbreviation among otherwise comprehensive trigger terms.

DimensionReasoningScore

Specificity

Lists many concrete, named actions with comprehensive coverage: "building paywalls with SubscriptionStoreView or ProductView", "processing transactions with Product and Transaction APIs, verifying entitlements", "implementing offer codes or promotional/win-back/introductory offers", "setting up StoreKit testing with configuration files", and "integrating Family Sharing, Ask to Buy, refund handling, and billing retry logic". This spans the full IAP lifecycle, matching the comprehensive anchor rather than the 'several actions, minor gaps' anchor.

5 / 5

Completeness

Explicitly answers both: what ("Implement, review, or improve in-app purchases and subscriptions using StoreKit 2") and when ("Use when building paywalls with SubscriptionStoreView or ProductView, processing transactions with Product and Transaction APIs, verifying entitlements, handling purchase flows...") with concrete trigger phrases. Matches anchor 5.

5 / 5

Trigger Term Quality

Good natural-term coverage: "in-app purchases", "subscriptions", "paywalls", "entitlements", "offer codes", "refund", "Family Sharing", "Ask to Buy". However the widely used "IAP" abbreviation and receipt/App Store validation phrasings are absent, so it fits anchor 4 ('a few natural terms missing') better than the exhaustive-synonyms anchor 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche with distinct, StoreKit-2-specific triggers (paywalls, entitlements, offer codes, win-back offers, billing retry). The only adjacency is the "review" verb overlapping a sibling app-store-review skill, but the Use-when triggers are implementation-focused, so conflict risk is minimal — anchor 5.

5 / 5

Total

19

/

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

dpearson2699/swift-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.