CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

swift-codable

Master serialization and deserialization in Swift with Codable. Use when implementing custom CodingKeys, date/data decoding strategies, polymorphic/mixed collections, lossy array decoding, property wrappers for default values, or bridging Codable with SwiftData/CoreData persistence.

Quality

85%

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

71%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.

Well-structured content with executable examples, a useful mistakes/checklist pair, and exemplary progressive disclosure via a single well-signaled reference file. The main cost is token spend on basic Codable knowledge Claude already has and an unpinned-context version target.

Suggestions

Cut or compress the 'Basic Conformance & CodingKeys' section and the basic JSONDecoder strategy snippet to one-line reminders, keeping only the non-obvious gotchas (acronym conversion note, strategy+CodingKeys double-conversion).

Move the 'Targets Swift 6.4 / iOS 26+' version pin out of the header or into a dedicated compatibility note so time-sensitive details don't dilute the overview.

Inline a minimal lossy-decoding loop (one short snippet) in the body since it is one of the description's advertised triggers, keeping full variants in the reference file.

DimensionReasoningScore

Conciseness

The 'Basic Conformance & CodingKeys' section and the basic JSONDecoder strategy snippet re-explain concepts Claude already knows well, and the header pins time-sensitive versions ("Targets Swift 6.4 / iOS 26+") outside any deprecated/old-patterns section. This lands on the 'mostly efficient but includes some unnecessary explanation' anchor rather than 4, since two full sections teach well-known fundamentals.

3 / 5

Actionability

Mostly executable guidance: the CodingKeys, decoder-strategy, and BoundedScore init(from:)/encode examples are complete and copy-paste ready, and 'Common Mistakes' gives specific directives like inspecting ".keyNotFound, .typeMismatch, and .valueNotFound". It is not 5 because the polymorphic/lossy sections defer all implementations to the reference file, leaving the body itself without runnable code for those common cases.

4 / 5

Workflow Clarity

There is a clear topical sequence with a 'Review Checklist' of verification items and an error-recovery pointer ("Inspect DecodingError ... details for exact debugging") acting as a feedback loop. It is not 5 because no explicit validate-then-proceed flow exists, and not 3 because checkpoints are present via the checklist and mistake-driven diagnostics rather than missing.

4 / 5

Progressive Disclosure

The body is a lean overview with advanced material (mixed arrays, lossy decoding, wrappers, defaults) split into a single verified one-level-deep reference, signaled both inline ("See references/codable-advanced-patterns.md for complete implementations") and in a References section describing its contents. The bundle file exists, is well-organized, and contains no nested references, matching the top anchor exactly.

5 / 5

Total

16

/

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 with an explicit 'Use when' trigger list covering the full Codable niche, concrete capability enumeration, and third-person voice. The only gap is missing a few natural synonyms like 'JSON' or 'JSONDecoder' that users would commonly say.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete capabilities — "custom CodingKeys, date/data decoding strategies, polymorphic/mixed collections, lossy array decoding, property wrappers for default values, or bridging Codable with SwiftData/CoreData persistence" — which comprehensively covers the Codable domain, matching the anchor for multiple specific concrete actions with comprehensive coverage. It is not a 4 because the enumerated list leaves no notable gaps in coverage of this niche.

5 / 5

Completeness

It clearly answers both questions: the what ("Master serialization and deserialization in Swift with Codable") and an explicit when with concrete trigger phrases ("Use when implementing custom CodingKeys, ... lossy array decoding, ... or bridging Codable with SwiftData/CoreData persistence"), matching the top anchor exactly. It is not below 5 because the 'when' clause is explicit and enumerates specific triggers rather than being vague or implied.

5 / 5

Trigger Term Quality

Good keyword coverage with natural terms a Swift developer would say: "Codable", "CodingKeys", "decoding strategies", "SwiftData", "CoreData", "serialization". It falls short of the 5 anchor because common variations like "JSON", "JSONDecoder", "Encodable", or "snake_case" — phrases users plausibly say when they need this skill — are absent.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (Swift Codable serialization) with distinct triggers (CodingKeys, lossy array decoding, SwiftData/CoreData bridging) that are unlikely to fire for unrelated skills. It is not a 4 because the trigger terms are specific enough that overlap risk with adjacent skills (e.g., a general SwiftData skill) is minimal.

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

thienqo/ios-skills

Path

skills/swift-codable/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.