CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cryptokit

Use Apple CryptoKit for Swift cryptographic primitives. Use when hashing with SHA-2 or SHA-3, generating HMACs, encrypting with AES-GCM or ChaChaPoly, signing with P256/P384/P521/Curve25519 or ML-DSA keys, performing ECDH, HPKE, ML-KEM, or X-Wing key exchange, using Secure Enclave CryptoKit keys, or migrating CommonCrypto code to CryptoKit.

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

78%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-structured entry point: lean DON'T/DO code examples for the highest-risk crypto mistakes, a sequenced workflow with verification checkpoints, and correct offloading of implementation recipes to two real, clearly-signaled reference files. The main gaps are minor: two comment-only code placeholders, a duplicated primitive enumeration in the intro, and no explicit error-recovery loop after workflow verification.

Suggestions

In Mistakes #3 and #5, replace the comment-only DO blocks with minimal executable snippets (e.g. `let plain = try AES.GCM.open(box, using: key)` and a short Keychain add query) so every example is copy-paste ready.

Trim the opening paragraph's re-enumeration of primitives (it duplicates the frontmatter description) and consolidate the iOS 13/17/26 and Swift 6.3 version notes into one availability note.

Extend Workflow step 5 with an explicit feedback loop — e.g. 'if any verification fails, fix and re-run before shipping' — to pair the existing validation checkpoints with error recovery.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence (terse DON'T/DO pairs, a compact checklist, no concept tutorials), but the opening paragraph re-enumerates the primitive list already stated verbatim in the description, and version-bound details (iOS 13/17/26, Swift 6.3) sit in the intro and checklist rather than a consolidated availability/deprecated section. Not 5 because of that duplicated enumeration; not 3 because nothing reads as padded explanation of things Claude already knows.

4 / 5

Actionability

Most guidance is concrete, executable Swift (hkdfDerivedSymmetricKey call, AES.GCM.seal with/without explicit nonce, SecureEnclave.isAvailable guard), and implementation depth is correctly delegated to real reference files. Not 5 because two mistake entries (#3 tag verification, #5 Keychain storage) use comment-only placeholders instead of a minimal executable snippet (e.g. `try AES.GCM.open(...)`), leaving minor gaps.

4 / 5

Workflow Clarity

The 5-step workflow is clearly sequenced with validation checkpoints — step 2 (verify platform/peer interoperability) and step 5 ('Verify round trips, tampering, wrong keys, malformed inputs, rotation, Secure Enclave availability, and cross-platform vectors') — plus a separate Review Checklist. Not 5 because there is no explicit error-recovery feedback loop (what to do when step-5 verification fails); not 3 because checkpoints are explicit and concrete, not merely implied.

4 / 5

Progressive Disclosure

The entry point is an overview (workflow, decisions, mistakes, checklist) with both bundle files — references/core-implementation.md and references/cryptokit-patterns.md, both verified to exist — referenced one level deep with explicit purpose statements ('Read [core implementation details]... for hashes, HMAC, AEAD...'). A Contents TOC and a References section make navigation easy; not 4 because structure, signaling, and content split are all clean with no organization gaps.

5 / 5

Total

17

/

20

Passed

Description

100%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 a model example: it states a precise 'what', an explicit and comprehensive 'Use when...' clause with natural trigger terminology, and a clearly bounded niche (Apple CryptoKit for Swift, including CommonCrypto migration as a distinct trigger). No vagueness, padding, or over-claims are present.

DimensionReasoningScore

Specificity

The description enumerates many concrete actions — 'hashing with SHA-2 or SHA-3, generating HMACs, encrypting with AES-GCM or ChaChaPoly, signing with P256/P384/P521/Curve25519 or ML-DSA keys, performing ECDH, HPKE, ML-KEM, or X-Wing key exchange... migrating CommonCrypto code' — covering the full CryptoKit surface comprehensively. Not score 4 because coverage is comprehensive rather than having minor gaps; not below because every action named is concrete, not generic.

5 / 5

Completeness

It explicitly answers both parts: 'what' ('Use Apple CryptoKit for Swift cryptographic primitives') and 'when' via a concrete 'Use when...' clause listing trigger activities. Not 4 because the 'when' is already fully explicit with concrete trigger phrases, matching the anchor-5 example pattern.

5 / 5

Trigger Term Quality

It includes the exact terms a user needing this skill would naturally say: 'hashing', 'HMAC', 'AES-GCM', 'ChaChaPoly', 'signing', 'ECDH', 'HPKE', 'Secure Enclave', 'CommonCrypto', plus synonyms (SHA-2/SHA-3, all NIST curves and Curve25519, ML-KEM/X-Wing). Not 4 because no commonly-used natural phrasing for this domain is obviously missing.

5 / 5

Distinctiveness Conflict Risk

It carves out a clear niche — Apple CryptoKit in Swift — and even names the adjacent technologies it displaces ('migrating CommonCrypto code to CryptoKit', 'Secure Enclave CryptoKit keys'), so it is unlikely to trigger for a generic cryptography or non-Swift skill. Not 4 because overlap risk is minimal, not merely reduced.

5 / 5

Total

20

/

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