CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

swift-actor-persistence

Thread-safe data persistence in Swift using actors — in-memory cache with file-backed storage, eliminating data races by design. Use when persisting data in Swift and a data race or thread-safety problem needs designing out.

Quality

84%

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

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

Highly actionable content with complete, executable Swift examples and a well-organized structure, but it is held back by redundancy — two overlapping 'when to use' sections and a design-decisions table that restates the best practices — plus a silent-failure mode in loading with no validation guidance.

Suggestions

Merge 'When to Activate' and 'When to Use' into a single section — they cover the same ground and roughly halve that guidance.

Deduplicate the Key Design Decisions table against Best Practices (atomic writes and synchronous-init rationale currently appear in both), or fold the table into the code as inline comments.

Add a brief error-handling note for load failures — 'loadSynchronously' currently swallows decode errors and returns an empty cache, which risks silently wiping persisted data on the next save; state this hazard and a validation checkpoint.

DimensionReasoningScore

Conciseness

The body is mostly efficient, but 'When to Activate' and 'When to Use' substantially duplicate each other, and the Key Design Decisions table restates Best Practices almost verbatim ('.atomic' writes and synchronous init loading each appear twice). This noticeable redundancy fits the 3 anchor rather than 4, whose over-explanation would be only minor.

3 / 5

Actionability

Fully executable, copy-paste-ready Swift: a complete generic actor repository with save/delete/find/loadAll, atomic persistence, and a realistic @Observable ViewModel integration. Specific examples cover the common cases, matching the 5 anchor; the 4 anchor would require minor gaps, and there are none.

5 / 5

Workflow Clarity

The pattern's sequence (create actor → await-isolated calls → combine with ViewModel) is unambiguous and well structured for a single-purpose skill. It falls short of 5 because there is no validation/error-recovery guidance — e.g., 'loadSynchronously' silently swallows decode failures and returns an empty cache with no checkpoint or recovery note.

4 / 5

Progressive Disclosure

Well-organized sections (pattern, usage, design decisions, best practices, anti-patterns) with no nested or buried references, and no bundle files exist so nothing is misplaced. It scores 4 rather than 5 because at ~145 lines with duplicated 'when to use' sections, the content could be trimmed or partially split to reach the clear-overview ideal.

4 / 5

Total

16

/

20

Passed

Description

87%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: concrete capabilities, explicit 'Use when...' triggers with natural problem-oriented phrasing, and a clearly bounded Swift-specific niche. The only weakness is slightly limited keyword coverage (no 'concurrency' or 'race condition' synonyms).

DimensionReasoningScore

Specificity

The description names concrete capabilities — 'in-memory cache with file-backed storage, eliminating data races by design' — going beyond naming the domain. It falls short of the 5 anchor because it doesn't enumerate multiple distinct operations (save, delete, lookup), describing the mechanism rather than a comprehensive action list.

4 / 5

Completeness

It clearly answers what ('thread-safe data persistence in Swift using actors — in-memory cache with file-backed storage') and explicitly when ('Use when persisting data in Swift and a data race or thread-safety problem needs designing out') with concrete trigger phrases, matching the 5 anchor exactly. It is not 4 because the 'when' clause is fully explicit, not merely present.

5 / 5

Trigger Term Quality

Natural phrases users would say are present: 'persisting data in Swift', 'data race', 'thread-safety'. A few common variations like 'concurrency', 'race condition', or 'locking' are missing, so it fits the good-but-not-comprehensive 4 anchor rather than 5.

4 / 5

Distinctiveness Conflict Risk

A clear niche — Swift actor-based persistence for race/thread-safety problems — with distinct triggers that would not fire for unrelated skills. Minimal overlap risk with general persistence or language-agnostic concurrency skills, matching the 5 anchor.

5 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

affaan-m/ECC

Path

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