CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

swift-language

Apply modern Swift language patterns and idioms for non-concurrency, non-SwiftUI code. Covers if/switch expressions (Swift 5.9+), typed throws (Swift 6+), result builders, property wrappers, opaque and existential types (some vs any), guard patterns, Never type, Regex builders (Swift 5.7+), basic Codable shaping (CodingKeys, custom decoding, nested containers), modern collection APIs (count(where:), contains(where:), replacing()), basic FormatStyle usage, and string interpolation patterns. Use when writing core Swift code involving generics, protocols, enums, closures, or modern language features; route deep Codable to swift-codable, detailed formatting/localization to swift-formatstyle, and API naming to swift-api-design-guidelines.

Quality

94%

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

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 strong, well-structured reference: executable examples throughout, explicit rules, a review checklist, and clean one-level-deep progressive disclosure. The main weaknesses are minor tutorial padding that restates what Claude already knows and a modernization workflow that is embedded in one section instead of framed as the skill-wide procedure.

Suggestions

Trim tutorial-style feature intros (e.g., "Swift 5.9+ allows if and switch as expressions that return values") and keep only the rules and version pins, since Claude already knows the language semantics.

Hoist the modernization procedure (pin behavior and evaluation order -> one semantic rewrite -> compile -> run focused tests -> fix before continuing) out of the If/Switch section into a short general 'How to modernize' section that applies to every pattern.

Consolidate the repeated inline version pins (Swift 5.9+, 6+, 5.7+) into a single version-availability table to avoid repeating them per section.

DimensionReasoningScore

Conciseness

The body is dense and example-driven with terse rules bullets, but includes tutorial-style restatements Claude already knows ("Swift 5.9+ allows `if` and `switch` as expressions that return values", "Swift 6+ allows specifying the error type a function throws") and repeats inline version pins across sections. This fits 'efficient; minor instances of over-explanation that could be trimmed' better than the lean anchor 5.

4 / 5

Actionability

Every section provides complete, executable Swift (result builder, property wrapper, typed throws, regex, guard examples are all copy-paste ready) paired with concrete rules bullets like "Every branch must produce a value of the same type" and specific API mappings in the Common Mistakes list. Fully executable guidance covering the common cases.

5 / 5

Workflow Clarity

The modernization procedure has explicit validation and a feedback loop ("pin current behavior and evaluation order, make one semantic rewrite, compile the affected module, and run focused fixtures/tests. Fix any change before continuing; repeat until behavior is preserved") plus a Review Checklist. However, this procedure lives only inside the If/Switch section rather than being presented as the general process for all patterns, leaving a minor gap versus the fully sequenced anchor.

4 / 5

Progressive Disclosure

A clear overview with a table of contents, well-organized pattern sections, and two real one-level-deep reference files ([references/swift-patterns-extended.md], [references/swift-attributes-interop.md]) that are verified to exist and contain no further nested references. Deep material (extended patterns, attributes/interop) is appropriately split out with clear signals.

5 / 5

Total

18

/

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 exemplary: it states a precise scope, enumerates every covered capability with concrete API names, provides an explicit 'Use when' trigger clause, and proactively disambiguates against sibling skills. Voice is third-person and there is no padding.

DimensionReasoningScore

Specificity

Enumerates 12+ concrete capabilities with specific API names ("if/switch expressions (Swift 5.9+)", "typed throws (Swift 6+)", "count(where:), contains(where:), replacing()", "CodingKeys, custom decoding, nested containers"), matching the comprehensive-coverage anchor rather than the minor-gaps anchor.

5 / 5

Completeness

Both what ("Apply modern Swift language patterns and idioms for non-concurrency, non-SwiftUI code" plus enumerated coverage) and when ("Use when writing core Swift code involving generics, protocols, enums, closures, or modern language features") are explicit, with concrete trigger phrases.

5 / 5

Trigger Term Quality

"Use when writing core Swift code involving generics, protocols, enums, closures, or modern language features" plus natural terms like "if/switch expressions", "typed throws", "Regex", "Codable", and the synonym pair "some vs any" give comprehensive natural keyword coverage; no meaningful user phrasing is missing.

5 / 5

Distinctiveness Conflict Risk

Explicitly excludes concurrency and SwiftUI, and routes overlapping work to named siblings ("route deep Codable to swift-codable, detailed formatting/localization to swift-formatstyle, and API naming to swift-api-design-guidelines"), giving a clear niche with minimal conflict risk.

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