CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

authentication

Implement iOS authentication flows with AuthenticationServices and LocalAuthentication. Use when building Sign in with Apple, passkey/WebAuthn registration or sign-in with ASAuthorizationPlatformPublicKeyCredentialProvider, ASAuthorizationController credential state and revocation handling, ASWebAuthenticationSession OAuth or third-party login, Password AutoFill, identity-token server validation, or local biometric re-authentication with LAContext.

Quality

88%

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 well-structured, highly actionable skill body: executable code for every common AuthenticationServices flow, explicit per-state and per-error handling, appropriate offloading of deep passkey and Keychain/biometric patterns to real one-level-deep reference files, and a review checklist for validation. Remaining weaknesses are minor: some duplication between the credential table, code comments, and checklist, a few placeholder helper functions, and no guidance for server-side validation failure recovery.

Suggestions

Merge the Credential Handling table into the delegate code comments (or vice versa) so each fact appears once; the identity-token/password storage points are also repeated in Common Mistakes and the Review Checklist.

Add a short failure-recovery note to Token Validation, e.g., what the client should do when the server rejects the identityToken or authCode exchange (retry, re-authenticate, force sign-in).

Either show a minimal Keychain-based implementation of saveUserID/loadSavedUserID or note explicitly that they are the app-specific seam defined in references/keychain-biometric.md, so the inline code path is fully traceable.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious, API-specific facts Claude cannot be assumed to know ("nil after first authorization", credentialRevokedNotification, the JWKS URL and iss/aud/exp checks, the NSFaceIDUsageDescription crash, .preferImmediatelyAvailableCredentials) with no concept-teaching padding. It falls short of the score-5 anchor because the Credential Handling table largely restates the delegate code comments and the Review Checklist repeats several earlier points, so a little redundancy could be trimmed.

4 / 5

Actionability

Mostly executable: complete Swift for the SIWA controller setup, delegate success/failure handling, credential-state switch, revocation observer, existing-account setup, and the ASWebAuthenticationSession OAuth flow, plus specific one-liners like textContentType assignments. Minor gaps keep it below score 5: helper calls such as saveUserID and exchangeCodeForTokens are unimplemented placeholders, and the SwiftUI SignInWithAppleButton and passkey sections are prose-only, deferring code to the reference files.

4 / 5

Workflow Clarity

The launch sequence is clear and checkpointed: performExistingAccountSetupFlows runs before showing login UI with explicit ".notInteractive" silent-fallback handling, the credential-state switch spells out an action for every state (authorized/revoked/notFound/transferred/@unknown default), and the error delegate enumerates .canceled, .failed, and .notInteractive. It misses score 5 because there is no explicit feedback loop for server-side outcomes, e.g., what to do when identity-token validation fails on the server.

4 / 5

Progressive Disclosure

Structure matches the score-5 anchor: a Contents TOC aids navigation, both bundle files exist and are well-signaled with their contents described ("Load references/passkeys.md for the canonical registration, assertion, result handling, AutoFill-assisted, and physical security-key flows"; "See references/keychain-biometric.md for the canonical LAContext, fallback, SecAccessControl, and .biometryCurrentSet patterns"), references are one level deep, and the split is appropriate — core flows inline, deep patterns in the two reference files.

5 / 5

Total

17

/

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 states what the skill does in concrete terms, gives an explicit and specific "Use when" trigger clause, names the exact frameworks and classes involved, and stays clearly distinguishable from adjacent skills. The only weakness is a few missing natural trigger synonyms (notably "Face ID" and "Touch ID") for the biometric capability it advertises.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions covering the whole domain: "Sign in with Apple", "passkey/WebAuthn registration or sign-in", "credential state and revocation handling", "ASWebAuthenticationSession OAuth or third-party login", "Password AutoFill", "identity-token server validation", and "local biometric re-authentication with LAContext". This matches the score-5 anchor of comprehensive, specific concrete actions; score 4 would require a noticeable coverage gap, and none exists against the skill's body.

5 / 5

Completeness

It explicitly answers both questions: the "what" is "Implement iOS authentication flows with AuthenticationServices and LocalAuthentication" and the "when" is the concrete "Use when building Sign in with Apple, passkey/WebAuthn registration or sign-in... ASWebAuthenticationSession OAuth or third-party login, Password AutoFill, identity-token server validation, or local biometric re-authentication" clause. This matches the score-5 anchor exactly; the score-4 anchor requires a weaker or less specific 'when', which is not the case.

5 / 5

Trigger Term Quality

Good natural-term coverage including the synonym pair "passkey/WebAuthn", "Sign in with Apple", "OAuth", "third-party login", "Password AutoFill", and "biometric re-authentication". It falls short of the score-5 anchor because common user phrasings like "Face ID" and "Touch ID" are absent even though biometric re-authentication is an advertised capability.

4 / 5

Distinctiveness Conflict Risk

The description is pinned to a clear niche via iOS-specific framework and class names (AuthenticationServices, LocalAuthentication, ASAuthorizationPlatformPublicKeyCredentialProvider, ASAuthorizationController, ASWebAuthenticationSession, LAContext), giving it distinct triggers with minimal conflict risk against generic auth or security skills. This matches the score-5 anchor; no significant overlap risk is apparent.

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