CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

passkit

Integrate Apple Pay and Wallet passes with PassKit. Use for payment buttons and requests, authorization, merchant and shipping fields, pass creation or updates, Add to Wallet flows, and eligible physical-goods, service, donation, or recurring-payment checkout.

Quality

89%

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

86%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 well-constructed skill body: lean, code-complete coverage of the standard Apple Pay and Wallet-pass flows with a genuine overflow reference kept one level deep. Validation checkpoints and a review checklist are present; the main improvements are dropping the redundant TOC, moving or contextualizing the version pin, and making the workflow order explicit.

DimensionReasoningScore

Conciseness

The body is efficient: every section is a one-line lead-in plus executable code, with no explanations of what Apple Pay is or how the framework works, and the constraint is stated once as a blockquote. Minor trim opportunities keep it at 4 rather than 5 — the Contents TOC duplicates the section headers, the 'Targets Swift 6.4 / iOS 26+' version pin is time-sensitive information not placed in a deprecation/old-patterns section, and the HIG sentence slightly over-explains.

4 / 5

Actionability

Fully executable, copy-paste-ready Swift for the common cases: availability check (`canMakePayments(usingNetworks:capabilities:)`), official buttons in both SwiftUI and UIKit, a complete `PKPaymentRequest` builder, the full `PKPaymentAuthorizationControllerDelegate` flow with do/catch, and `PKPass`/`PKAddPassesViewController` handling. The only stand-in is `PaymentGateway.charge(token:)`, which is explicitly commented as the user's processor (e.g. Stripe, Adyen) and is necessarily environment-specific, so it does not reduce coverage of the common cases.

5 / 5

Workflow Clarity

The sections form a clear setup → availability → button → request → authorize → passes sequence, with real checkpoints: the availability guard before rendering, the `containsPass` dedup check, do/catch error recovery that calls `completion` in all paths, and an explicit Review Checklist. It sits at 4 rather than 5 because the end-to-end order is implied by section arrangement and the Contents list rather than stated as an explicit ordered workflow, and there is no validate-and-retry loop for the payment-sheet flow itself; the operations here are not destructive/batch, so no cap applies.

4 / 5

Progressive Disclosure

Core patterns are inline and appropriately sized (~150 lines), while extended patterns are split into a single real, well-signaled, one-level-deep reference — 'Extended patterns (recurring/deferred payments, coupon codes, pass updates): references/wallet-passes.md' — which exists (304 lines, its own TOC, no further nested file references). Bundle structure is exactly SKILL.md + references/, matching the 5 anchor ('clear overview with well-signaled one-level-deep references; content appropriately split; easy navigation').

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

A strong description: third-person, concise, with an explicit 'Use for ...' trigger clause covering the eligible transaction types and a concrete list of capability areas. Minor room to grow on verb-driven action phrasing and natural synonyms like 'Apple Wallet' or '.pkpass'.

DimensionReasoningScore

Specificity

The description lists several concrete capability areas — 'payment buttons and requests, authorization, merchant and shipping fields, pass creation or updates, Add to Wallet flows' — all anchored to the concrete PassKit domain. It falls short of the 5 anchor because the items are noun-phrase topic areas rather than fully verb-driven actions (compare 'Extract text and tables from PDF files, fill forms, merge documents'), and a few capabilities (e.g., coupon codes, pass updates via push) surface only in the reference file; it is clearly above the 3 anchor's '1-2 concrete actions'.

4 / 5

Completeness

It explicitly answers both questions: 'what' via 'Integrate Apple Pay and Wallet passes with PassKit' and 'when' via an explicit 'Use for ...' clause with concrete trigger contexts ('eligible physical-goods, service, donation, or recurring-payment checkout'). This matches the 5 anchor ('clearly and explicitly answers both what AND when with concrete trigger phrases') and exceeds the 4 anchor, where the 'when' would be less specific.

5 / 5

Trigger Term Quality

Good natural-keyword coverage: 'Apple Pay', 'Wallet passes', 'payment buttons', 'Add to Wallet', 'checkout', 'donation', 'PassKit' — phrases users would naturally say when needing this skill. A few natural terms are missing (e.g., 'Apple Wallet', '.pkpass', 'recurring billing'), so it fits the 4 anchor ('good keyword coverage; a few natural terms missing') rather than the 5 anchor's comprehensive synonym/extension coverage.

4 / 5

Distinctiveness Conflict Risk

'Apple Pay', 'Wallet passes', and 'PassKit' form a clear niche with distinct triggers and minimal overlap risk with other payment-related skills. No generic phrasing that would fire for unrelated skills, matching the 5 anchor ('clear niche with distinct triggers; minimal conflict risk').

5 / 5

Total

18

/

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