CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

core-data

Build or review persistence in apps that still use Core Data, including managed objects, fetched results, batch operations, persistent history, staged migration, and concurrency. Use for Core Data-only work; route SwiftData adoption or coexistence to swiftdata.

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 strong reference-style skill body: dense with specific APIs and pitfalls, well-split across three substantive reference files, and capped by a review checklist that doubles as validation. The main room for improvement is trimming the redundant intro/TOC and adding executable snippets to the FRC and batch-merge sections.

Suggestions

Remove the opening paragraph (it restates the frontmatter description) and the Contents list (it duplicates the section headings) to save ~13 lines with no loss of information.

Add a short executable snippet for batch operations showing resultType = .objectIDs plus the mergeChanges(fromRemoteContextSave:into:) call, and a minimal NSFetchedResultsController setup with a sort descriptor, so the two remaining bullet-only sections are copy-paste ready.

For the batch-delete and staged-migration workflows, add an explicit verification step (e.g. confirm merged object IDs resolve in the live context before saving) to turn the checklist-level validation into an inline feedback loop.

DimensionReasoningScore

Conciseness

The body is lean, imperative, and free of concepts Claude already knows, but the opening paragraph ("Build and maintain data persistence using Core Data... Covers stack setup, concurrency, batch operations, NSFetchedResultsController...") duplicates the frontmatter description, and the Contents list duplicates the section headings. It is not a 5 because this structural duplication is trimmable; not a 3 because there is no over-explanation, only redundant framing.

4 / 5

Actionability

Guidance is concrete throughout — exact APIs and settings ("NSMergeByPropertyObjectTrumpMergePolicy", "NSPersistentHistoryTrackingKey: true", "resultType = .objectIDs", "NSInMemoryStoreType") plus one complete, executable Swift example. It is not a 5 because only one section carries runnable code: the FRC and batch-merge guidance is bullet-only, leaving minor gaps for copy-paste execution.

4 / 5

Workflow Clarity

Each section gives ordered imperative steps, "Common Mistakes" flags failure modes, and the Review Checklist supplies explicit verification including the batch-operations checkpoint ("Batch operation results merged into active contexts via mergeChanges"). It is not a 5 because the batch and migration workflows lack explicit validate-then-proceed feedback loops of their own; not a 3 because the checklist provides the validation checkpoints the batch-operation cap demands.

4 / 5

Progressive Disclosure

A ~105-line overview with nine well-organized sections and three real, one-level-deep reference files (verified to exist, none nesting further), each clearly signaled inline ("Read references/persistent-history.md for full transaction tracking and purge loops") and again in a labeled References section. It is not a 4 because the split is appropriate throughout and navigation requires no guessing.

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: concrete and comprehensive on capabilities, explicit about both what and when, and it proactively resolves the Core Data vs. SwiftData boundary that would otherwise cause mis-triggering. Third-person voice and no filler.

DimensionReasoningScore

Specificity

The description states two concrete actions ("Build or review persistence") and enumerates six specific capability areas ("managed objects, fetched results, batch operations, persistent history, staged migration, and concurrency"), matching the comprehensive-coverage anchor. It is not a 4 because there are no minor gaps — the enumeration spans the full Core Data domain the skill covers.

5 / 5

Completeness

It explicitly answers both questions: what ("Build or review persistence... including managed objects, fetched results, batch operations...") and when ("Use for Core Data-only work"). It is not a 4 because the 'when' is fully explicit with a concrete trigger phrase rather than weakly implied.

5 / 5

Trigger Term Quality

It contains the exact natural terms users say for this domain: "Core Data" (stated twice), "persistence", "SwiftData", "staged migration", "batch operations", and "concurrency". It is not a 4 because no meaningful natural phrasing is missing — the framework name plus its sub-feature vocabulary comprehensively covers how users refer to this work.

5 / 5

Distinctiveness Conflict Risk

It carves a clear niche ("apps that still use Core Data", "Core Data-only work") and actively routes the nearest competing case away ("route SwiftData adoption or coexistence to swiftdata"), minimizing conflict risk. It is not a 4 because it does more than reduce overlap — it explicitly disambiguates against the most similar sibling skill.

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/core-data/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.