CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cryptotokenkit

Access security tokens and smart cards using CryptoTokenKit. Use when building TKTokenDriver or TKSmartCardTokenDriver extensions, communicating with smart cards via TKSmartCard/TKSmartCardSlotManager, using iOS 26+ NFC smart-card sessions, registering smart cards, querying token-backed keychain items with kSecAttrTokenID, monitoring TKTokenWatcher, or configuring certificate-based smart-card authentication.

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

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

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 strong reference-style skill: executable Swift skeletons, exact Info.plist and registration details, and honest platform/availability caveats, with excellent one-level-deep bundling of extended patterns into a real reference file. The main weaknesses are mild redundancy in platform-availability statements and checklist items, examples that lean on undefined helper functions, and the absence of a verify/retry feedback loop around extension registration.

Suggestions

State platform availability once (either the Key Types table or the opening paragraph) and have the Review Checklist reference it instead of restating it, trimming the checklist to items not already covered verbatim in sections.

Move the helper implementations (or minimal versions of getSmartCard(), performCardSign, buildVerifyAPDU(), readCertificate) into references/cryptotokenkit-patterns.md and link them, so the inline examples are copy-paste runnable.

Add a validation step after extension registration (e.g., how to confirm the driver appears to the system or that a TKTokenWatcher observes the token) so the install flow has a feedback loop.

DimensionReasoningScore

Conciseness

The body is largely lean — non-obvious, framework-specific facts (the `_securityagent` registration command, Info.plist keys, trust levels, `default` being optional) with minimal padding, and the Common Mistakes format is terse. Not 5: platform-availability facts are stated three times (the opening "Platform availability" paragraph, the Key Types table, and again in the Review Checklist), and the 15-item checklist repeats guidance already given in sections. Not 3: none of it explains concepts Claude already knows, and most sections cannot be tightened without losing actionable detail.

4 / 5

Actionability

Concrete, near-executable guidance throughout: complete delegate-method signatures for the driver/token/session classes, an Info.plist snippet, a shell registration command, APDU examples with status-word checks, and a working keychain query. Not 5: several examples depend on undefined helpers ("getSmartCard()", "performCardSign", "buildVerifyAPDU()", "handleNFCError", "readCertificate") so they are skeletons rather than copy-paste ready, and the NFC example stops at a comment placeholder for actual card communication. Not 3: the code is real Swift with correct API usage, well beyond pseudocode or high-level hints.

4 / 5

Workflow Clarity

The extension-building flow is clearly sequenced (three numbered core classes, then Info.plist keys, then registration) and the Review Checklist provides explicit checkpoints; error-path guidance (guard status words, guard `TKSmartCardSlotManager.default`, handle `errSecItemNotFound`) is embedded in the relevant sections. Not 5: there is no validate-then-retry feedback loop — e.g., no step verifying the extension actually registered or that the driver loads after the `_securityagent` launch — and cross-section ordering for a full implementation is implicit rather than presented as one ordered procedure. Not 3: the sequence is coherent and checkpoints are explicit in the checklist, not merely implied.

4 / 5

Progressive Disclosure

SKILL.md is a well-navigable overview (Contents list, coherent sections) that keeps the core extension/keychain/auth content inline and correctly pushes extended patterns (PIV operations, TLV parsing, APDU helpers, secure PIN, slot monitoring, registration) to references/cryptotokenkit-patterns.md — a verified, one-level-deep file whose in-text link and anchor (#smart-card-slot-monitoring) resolve. Not 4: references are clearly signaled both inline at the point of need and in the References section, with no content that plainly belongs in the bundle file left inlined.

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.

An exemplary description: it states the capability in third person, enumerates concrete actions tied to real API identifiers, and supplies an explicit multi-scenario "Use when" clause covering every major section of the skill. Trigger terms match what a developer working with this framework would naturally say, keeping conflict risk minimal.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete actions — "building TKTokenDriver or TKSmartCardTokenDriver extensions", "communicating with smart cards via TKSmartCard/TKSmartCardSlotManager", "querying token-backed keychain items with kSecAttrTokenID", "monitoring TKTokenWatcher", "configuring certificate-based smart-card authentication" — each tied to a named class or attribute, with coverage matching the skill's full scope. Not 4: there are no meaningful gaps; the enumerated actions map one-to-one onto the body's sections.

5 / 5

Completeness

It explicitly answers both questions: the what ("Access security tokens and smart cards using CryptoTokenKit") and the when, via an explicit "Use when..." clause with seven concrete trigger scenarios. Not 4: the when-clause is not merely present but itemizes specific, distinct triggering situations rather than one general condition.

5 / 5

Trigger Term Quality

Natural user vocabulary is comprehensively covered: "security tokens", "smart cards", "NFC smart-card sessions", "token-backed keychain items", "certificate-based... authentication", plus the framework name and the exact class/constant identifiers (TKTokenDriver, TKSmartCardSlotManager, kSecAttrTokenID, TKTokenWatcher) a developer would naturally name. Not 4: the synonyms and specific identifiers a user of this framework would actually say are all present.

5 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche — Apple's CryptoTokenKit — with triggers anchored to framework-specific identifiers that no sibling skill (e.g., general Swift security or keychain skills) would claim. Not 4: overlap risk is minimal because the class names and kSecAttrTokenID unambiguously select this skill over adjacent security topics.

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

dpearson2699/swift-ios-skills

Path

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